| Index: third_party/sqlite/src/src/test_init.c
|
| diff --git a/third_party/sqlite/src/src/test_init.c b/third_party/sqlite/src/src/test_init.c
|
| index a67b6788abf753c552a046294790156d8cefb532..502d95c05237348bb925b2e81d9de73027a94454 100644
|
| --- a/third_party/sqlite/src/src/test_init.c
|
| +++ b/third_party/sqlite/src/src/test_init.c
|
| @@ -30,9 +30,9 @@
|
| #include <tcl.h>
|
|
|
| static struct Wrapped {
|
| - sqlite3_pcache_methods pcache;
|
| - sqlite3_mem_methods mem;
|
| - sqlite3_mutex_methods mutex;
|
| + sqlite3_pcache_methods2 pcache;
|
| + sqlite3_mem_methods mem;
|
| + sqlite3_mutex_methods mutex;
|
|
|
| int mem_init; /* True if mem subsystem is initalized */
|
| int mem_fail; /* True to fail mem subsystem inialization */
|
| @@ -123,8 +123,8 @@ static void wrPCacheShutdown(void *pArg){
|
| wrapped.pcache_init = 0;
|
| }
|
|
|
| -static sqlite3_pcache *wrPCacheCreate(int a, int b){
|
| - return wrapped.pcache.xCreate(a, b);
|
| +static sqlite3_pcache *wrPCacheCreate(int a, int b, int c){
|
| + return wrapped.pcache.xCreate(a, b, c);
|
| }
|
| static void wrPCacheCachesize(sqlite3_pcache *p, int n){
|
| wrapped.pcache.xCachesize(p, n);
|
| @@ -132,13 +132,18 @@ static void wrPCacheCachesize(sqlite3_pcache *p, int n){
|
| static int wrPCachePagecount(sqlite3_pcache *p){
|
| return wrapped.pcache.xPagecount(p);
|
| }
|
| -static void *wrPCacheFetch(sqlite3_pcache *p, unsigned a, int b){
|
| +static sqlite3_pcache_page *wrPCacheFetch(sqlite3_pcache *p, unsigned a, int b){
|
| return wrapped.pcache.xFetch(p, a, b);
|
| }
|
| -static void wrPCacheUnpin(sqlite3_pcache *p, void *a, int b){
|
| +static void wrPCacheUnpin(sqlite3_pcache *p, sqlite3_pcache_page *a, int b){
|
| wrapped.pcache.xUnpin(p, a, b);
|
| }
|
| -static void wrPCacheRekey(sqlite3_pcache *p, void *a, unsigned b, unsigned c){
|
| +static void wrPCacheRekey(
|
| + sqlite3_pcache *p,
|
| + sqlite3_pcache_page *a,
|
| + unsigned b,
|
| + unsigned c
|
| +){
|
| wrapped.pcache.xRekey(p, a, b, c);
|
| }
|
| static void wrPCacheTruncate(sqlite3_pcache *p, unsigned a){
|
| @@ -154,8 +159,8 @@ static void installInitWrappers(void){
|
| wrMutexFree, wrMutexEnter, wrMutexTry,
|
| wrMutexLeave, wrMutexHeld, wrMutexNotheld
|
| };
|
| - sqlite3_pcache_methods pcachemethods = {
|
| - 0,
|
| + sqlite3_pcache_methods2 pcachemethods = {
|
| + 1, 0,
|
| wrPCacheInit, wrPCacheShutdown, wrPCacheCreate,
|
| wrPCacheCachesize, wrPCachePagecount, wrPCacheFetch,
|
| wrPCacheUnpin, wrPCacheRekey, wrPCacheTruncate,
|
| @@ -173,10 +178,10 @@ static void installInitWrappers(void){
|
| sqlite3_shutdown();
|
| sqlite3_config(SQLITE_CONFIG_GETMUTEX, &wrapped.mutex);
|
| sqlite3_config(SQLITE_CONFIG_GETMALLOC, &wrapped.mem);
|
| - sqlite3_config(SQLITE_CONFIG_GETPCACHE, &wrapped.pcache);
|
| + sqlite3_config(SQLITE_CONFIG_GETPCACHE2, &wrapped.pcache);
|
| sqlite3_config(SQLITE_CONFIG_MUTEX, &mutexmethods);
|
| sqlite3_config(SQLITE_CONFIG_MALLOC, &memmethods);
|
| - sqlite3_config(SQLITE_CONFIG_PCACHE, &pcachemethods);
|
| + sqlite3_config(SQLITE_CONFIG_PCACHE2, &pcachemethods);
|
| }
|
|
|
| static int init_wrapper_install(
|
| @@ -214,11 +219,10 @@ static int init_wrapper_uninstall(
|
| return TCL_ERROR;
|
| }
|
|
|
| - memset(&wrapped, 0, sizeof(&wrapped));
|
| sqlite3_shutdown();
|
| sqlite3_config(SQLITE_CONFIG_MUTEX, &wrapped.mutex);
|
| sqlite3_config(SQLITE_CONFIG_MALLOC, &wrapped.mem);
|
| - sqlite3_config(SQLITE_CONFIG_PCACHE, &wrapped.pcache);
|
| + sqlite3_config(SQLITE_CONFIG_PCACHE2, &wrapped.pcache);
|
| return TCL_OK;
|
| }
|
|
|
|
|