diff --git a/app/src/main/java/eu/faircode/email/DB.java b/app/src/main/java/eu/faircode/email/DB.java index fe2476b093..cb35925358 100644 --- a/app/src/main/java/eu/faircode/email/DB.java +++ b/app/src/main/java/eu/faircode/email/DB.java @@ -138,7 +138,8 @@ public abstract class DB extends RoomDatabase { "page_count", "page_size", "max_page_count", "freelist_count", "cache_size", "cache_spill", "soft_heap_limit", "hard_heap_limit", "mmap_size", - "foreign_keys", "auto_vacuum" + "foreign_keys", "auto_vacuum", + "compile_options" )); @Override @@ -468,9 +469,16 @@ public abstract class DB extends RoomDatabase { // https://www.sqlite.org/pragma.html for (String pragma : DB_PRAGMAS) - try (Cursor cursor = db.query("PRAGMA " + pragma + ";")) { - Log.i("Get PRAGMA " + pragma + "=" + (cursor.moveToNext() ? cursor.getString(0) : "?")); - } + if (!"compile_options".equals(pragma) || BuildConfig.DEBUG) + try (Cursor cursor = db.query("PRAGMA " + pragma + ";")) { + boolean has = false; + while (cursor.moveToNext()) { + has = true; + Log.i("Get PRAGMA " + pragma + "=" + (cursor.isNull(0) ? "" : cursor.getString(0))); + } + if (!has) + Log.i("Get PRAGMA " + pragma + "="); + } if (BuildConfig.DEBUG && false) { db.execSQL("DROP TRIGGER IF EXISTS `attachment_insert`"); diff --git a/sqlite-android/src/main/jni/sqlite/Android.mk b/sqlite-android/src/main/jni/sqlite/Android.mk index 861c9acde7..a75d8427b6 100644 --- a/sqlite-android/src/main/jni/sqlite/Android.mk +++ b/sqlite-android/src/main/jni/sqlite/Android.mk @@ -5,6 +5,7 @@ include $(CLEAR_VARS) # SQLITE_TEMP_STORE=3 causes all TEMP files to go into RAM. and thats the behavior we want # SQLITE_ENABLE_FTS3 enables usage of FTS3 - NOT FTS1 or 2. # SQLITE_DEFAULT_AUTOVACUUM=1 causes the databases to be subject to auto-vacuum +# https://www.sqlite.org/psow.html sqlite_flags := \ -DNDEBUG=1 \ -DHAVE_USLEEP=1 \ @@ -25,7 +26,6 @@ sqlite_flags := \ -DSQLITE_ENABLE_JSON1 \ -DSQLITE_ENABLE_RTREE=1 \ -DSQLITE_UNTESTABLE \ - -DSQLITE_OMIT_COMPILEOPTION_DIAGS \ -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \ -DSQLITE_DEFAULT_MEMSTATUS=0 \ -DSQLITE_MAX_EXPR_DEPTH=0 \