Index: third_party/sqlite/separate_cache_pool.patch |
diff --git a/third_party/sqlite/separate_cache_pool.patch b/third_party/sqlite/separate_cache_pool.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cf22f355ff0da15c329251d94446f3e34a368db8 |
--- /dev/null |
+++ b/third_party/sqlite/separate_cache_pool.patch |
@@ -0,0 +1,29 @@ |
+diff --git src/pcache1.c src/pcache1.c |
+index ad44395..e4d0705 100644 |
+--- src/pcache1.c |
++++ src/pcache1.c |
+@@ -549,10 +549,12 @@ static sqlite3_pcache *pcache1Create(int szPage, int bPurgeable){ |
+ int sz; /* Bytes of memory required to allocate the new cache */ |
+ |
+ /* |
+- ** The seperateCache variable is true if each PCache has its own private |
++ ** The separateCache variable is true if each PCache has its own private |
+ ** PGroup. In other words, separateCache is true for mode (1) where no |
+ ** mutexing is required. |
+ ** |
++ ** * Always use separate caches (mode-1) if SQLITE_SEPARATE_CACHE_POOLS |
++ ** |
+ ** * Always use a unified cache (mode-2) if ENABLE_MEMORY_MANAGEMENT |
+ ** |
+ ** * Always use a unified cache in single-threaded applications |
+@@ -560,7 +562,9 @@ static sqlite3_pcache *pcache1Create(int szPage, int bPurgeable){ |
+ ** * Otherwise (if multi-threaded and ENABLE_MEMORY_MANAGEMENT is off) |
+ ** use separate caches (mode-1) |
+ */ |
+-#if defined(SQLITE_ENABLE_MEMORY_MANAGEMENT) || SQLITE_THREADSAFE==0 |
++#ifdef SQLITE_SEPARATE_CACHE_POOLS |
++ const int separateCache = 1; |
++#elif defined(SQLITE_ENABLE_MEMORY_MANAGEMENT) || SQLITE_THREADSAFE==0 |
+ const int separateCache = 0; |
+ #else |
+ int separateCache = sqlite3GlobalConfig.bCoreMutex>0; |