summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Manjeet Rulhania <mrulhania@google.com> 2025-03-11 10:10:52 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-11 10:10:52 -0700
commit7da5f9edba5dd99a45c8de0e446ee9c5e19aab83 (patch)
treeb03fb500e71a62b283c637d700c4780a0fce5a07
parent31703e9bdab40a155f451f8cfe8b5ad3e1188b8d (diff)
parentb7f276230c4314fe8102118c366a8ff7eb8cdc23 (diff)
Merge "Handle sqlite disk full error when executing sql command" into main
-rw-r--r--services/core/java/com/android/server/appop/DiscreteOpsDbHelper.java16
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);
}
}