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