| 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;
|
|
|