diff options
| author | 2025-03-11 10:10:52 -0700 | |
|---|---|---|
| committer | 2025-03-11 10:10:52 -0700 | |
| commit | 7da5f9edba5dd99a45c8de0e446ee9c5e19aab83 (patch) | |
| tree | b03fb500e71a62b283c637d700c4780a0fce5a07 | |
| parent | 31703e9bdab40a155f451f8cfe8b5ad3e1188b8d (diff) | |
| parent | b7f276230c4314fe8102118c366a8ff7eb8cdc23 (diff) | |
Merge "Handle sqlite disk full error when executing sql command" into main
| -rw-r--r-- | services/core/java/com/android/server/appop/DiscreteOpsDbHelper.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/appop/DiscreteOpsDbHelper.java b/services/core/java/com/android/server/appop/DiscreteOpsDbHelper.java index c53e4bdc2205..3a8d5835ccb1 100644 --- a/services/core/java/com/android/server/appop/DiscreteOpsDbHelper.java +++ b/services/core/java/com/android/server/appop/DiscreteOpsDbHelper.java @@ -24,6 +24,7 @@ import android.database.DatabaseErrorHandler; import android.database.DefaultDatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; +import android.database.sqlite.SQLiteFullException; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteRawStatement; import android.os.Environment; @@ -174,11 +175,16 @@ class DiscreteOpsDbHelper extends SQLiteOpenHelper { if (DEBUG) { Slog.i(LOG_TAG, "DB execSQL, sql: " + sql); } - SQLiteDatabase db = getWritableDatabase(); - if (bindArgs == null) { - db.execSQL(sql); - } else { - db.execSQL(sql, bindArgs); + try { + SQLiteDatabase db = getWritableDatabase(); + if (bindArgs == null) { + db.execSQL(sql); + } else { + db.execSQL(sql, bindArgs); + } + } catch (SQLiteFullException exception) { + Slog.e(LOG_TAG, "Couldn't exec sql command, disk is full. Discrete ops " + + "db file size (bytes) : " + getDatabaseFile().length(), exception); } } |