diff --git a/AnkiDroid/src/main/java/com/ichi2/libanki/Storage.java b/AnkiDroid/src/main/java/com/ichi2/libanki/Storage.java index bd39826d1c7c..bc9612617797 100644 --- a/AnkiDroid/src/main/java/com/ichi2/libanki/Storage.java +++ b/AnkiDroid/src/main/java/com/ichi2/libanki/Storage.java @@ -104,7 +104,6 @@ public static Collection Collection(Context context, @NonNull String path, boole } else { ver = _upgradeSchema(db, time); } - db.execute("PRAGMA temp_store = memory"); // add db to col and do any remaining upgrades Collection col = backend.createCollection(context, db, path, server, log); if (ver < Consts.SCHEMA_VERSION) { diff --git a/AnkiDroid/src/main/java/com/ichi2/libanki/backend/DroidBackendFactory.kt b/AnkiDroid/src/main/java/com/ichi2/libanki/backend/DroidBackendFactory.kt index 75c1c8510c4c..30c9f17ebe23 100644 --- a/AnkiDroid/src/main/java/com/ichi2/libanki/backend/DroidBackendFactory.kt +++ b/AnkiDroid/src/main/java/com/ichi2/libanki/backend/DroidBackendFactory.kt @@ -16,6 +16,7 @@ package com.ichi2.libanki.backend +import android.system.Os import androidx.annotation.VisibleForTesting import com.ichi2.anki.AnkiDroidApp import com.ichi2.anki.CrashReportService @@ -37,6 +38,9 @@ object DroidBackendFactory { @JvmStatic @RustCleanup("Change back to a constant SYNC_VER") fun getInstance(useBackend: Boolean): DroidBackend { + // Prevent sqlite throwing error 6410 due to the lack of /tmp + val dir = AnkiDroidApp.getInstance().applicationContext.cacheDir + Os.setenv("TMPDIR", dir.path, false) if (sBackendForTesting != null) { return sBackendForTesting!! }