| Index: third_party/sqlite/src/src/test_config.c | 
| diff --git a/third_party/sqlite/src/src/test_config.c b/third_party/sqlite/src/src/test_config.c | 
| index 03d2f4e976ba666c55c6b0a02772c45310ad82d2..2c11f713fbd7384bc7f6c0aca2359a0c064d8656 100644 | 
| --- a/third_party/sqlite/src/src/test_config.c | 
| +++ b/third_party/sqlite/src/src/test_config.c | 
| @@ -20,6 +20,10 @@ | 
| #include "sqliteLimit.h" | 
|  | 
| #include "sqliteInt.h" | 
| +#if SQLITE_OS_WIN | 
| +#  include "os_win.h" | 
| +#endif | 
| + | 
| #include "tcl.h" | 
| #include <stdlib.h> | 
| #include <string.h> | 
| @@ -37,6 +41,14 @@ | 
| ** procedures use this to determine when tests should be omitted. | 
| */ | 
| static void set_options(Tcl_Interp *interp){ | 
| +#ifdef HAVE_MALLOC_USABLE_SIZE | 
| +  Tcl_SetVar2(interp, "sqlite_options", "malloc_usable_size", "1", | 
| +              TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "malloc_usable_size", "0", | 
| +              TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_32BIT_ROWID | 
| Tcl_SetVar2(interp, "sqlite_options", "rowid32", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -49,12 +61,30 @@ static void set_options(Tcl_Interp *interp){ | 
| Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT | 
| +  Tcl_SetVar2(interp, "sqlite_options", "curdir", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "curdir", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| +#ifdef SQLITE_WIN32_MALLOC | 
| +  Tcl_SetVar2(interp, "sqlite_options", "win32malloc", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "win32malloc", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_DEBUG | 
| Tcl_SetVar2(interp, "sqlite_options", "debug", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| Tcl_SetVar2(interp, "sqlite_options", "debug", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#ifdef SQLITE_DIRECT_OVERFLOW_READ | 
| +  Tcl_SetVar2(interp, "sqlite_options", "direct_read", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "direct_read", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_DISABLE_DIRSYNC | 
| Tcl_SetVar2(interp, "sqlite_options", "dirsync", "0", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -67,12 +97,28 @@ static void set_options(Tcl_Interp *interp){ | 
| Tcl_SetVar2(interp, "sqlite_options", "lfs", "1", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#if SQLITE_MAX_MMAP_SIZE>0 | 
| +  Tcl_SetVar2(interp, "sqlite_options", "mmap", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "mmap", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| +  Tcl_SetVar2(interp, "sqlite_options", "worker_threads", | 
| +      STRINGVALUE(SQLITE_MAX_WORKER_THREADS), TCL_GLOBAL_ONLY | 
| +  ); | 
| + | 
| #if 1 /* def SQLITE_MEMDEBUG */ | 
| Tcl_SetVar2(interp, "sqlite_options", "memdebug", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| Tcl_SetVar2(interp, "sqlite_options", "memdebug", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#ifdef SQLITE_ENABLE_8_3_NAMES | 
| +  Tcl_SetVar2(interp, "sqlite_options", "8_3_names", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "8_3_names", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_ENABLE_MEMSYS3 | 
| Tcl_SetVar2(interp, "sqlite_options", "mem3", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -187,6 +233,12 @@ static void set_options(Tcl_Interp *interp){ | 
| Tcl_SetVar2(interp, "sqlite_options", "check", "1", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#ifdef SQLITE_OMIT_CTE | 
| +  Tcl_SetVar2(interp, "sqlite_options", "cte", "0", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "cte", "1", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_ENABLE_COLUMN_METADATA | 
| Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -219,17 +271,8 @@ static void set_options(Tcl_Interp *interp){ | 
| Tcl_SetVar2(interp, "sqlite_options", "compound", "1", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| -#ifdef SQLITE_OMIT_CONFLICT_CLAUSE | 
| -  Tcl_SetVar2(interp, "sqlite_options", "conflict", "0", TCL_GLOBAL_ONLY); | 
| -#else | 
| Tcl_SetVar2(interp, "sqlite_options", "conflict", "1", TCL_GLOBAL_ONLY); | 
| -#endif | 
| - | 
| -#if SQLITE_OS_UNIX | 
| Tcl_SetVar2(interp, "sqlite_options", "crashtest", "1", TCL_GLOBAL_ONLY); | 
| -#else | 
| -  Tcl_SetVar2(interp, "sqlite_options", "crashtest", "0", TCL_GLOBAL_ONLY); | 
| -#endif | 
|  | 
| #ifdef SQLITE_OMIT_DATETIME_FUNCS | 
| Tcl_SetVar2(interp, "sqlite_options", "datetime", "0", TCL_GLOBAL_ONLY); | 
| @@ -291,6 +334,18 @@ static void set_options(Tcl_Interp *interp){ | 
| Tcl_SetVar2(interp, "sqlite_options", "fts3", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#if defined(SQLITE_ENABLE_FTS3) && !defined(SQLITE_DISABLE_FTS3_UNICODE) | 
| +  Tcl_SetVar2(interp, "sqlite_options", "fts3_unicode", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "fts3_unicode", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| +#ifdef SQLITE_DISABLE_FTS4_DEFERRED | 
| +  Tcl_SetVar2(interp, "sqlite_options", "fts4_deferred", "0", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "fts4_deferred", "1", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_OMIT_GET_TABLE | 
| Tcl_SetVar2(interp, "sqlite_options", "gettable", "0", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -361,6 +416,8 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double", | 
| Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +Tcl_SetVar2(interp, "sqlite_options", "mergesort", "1", TCL_GLOBAL_ONLY); | 
| + | 
| #ifdef SQLITE_OMIT_OR_OPTIMIZATION | 
| Tcl_SetVar2(interp, "sqlite_options", "or_opt", "0", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -398,6 +455,12 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double", | 
| Tcl_SetVar2(interp, "sqlite_options", "rtree", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#ifdef SQLITE_RTREE_INT_ONLY | 
| +  Tcl_SetVar2(interp, "sqlite_options", "rtree_int_only", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "rtree_int_only", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_OMIT_SCHEMA_PRAGMAS | 
| Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "0", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -410,10 +473,15 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double", | 
| Tcl_SetVar2(interp, "sqlite_options", "schema_version", "1", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| -#ifdef SQLITE_ENABLE_STAT2 | 
| -  Tcl_SetVar2(interp, "sqlite_options", "stat2", "1", TCL_GLOBAL_ONLY); | 
| +#ifdef SQLITE_ENABLE_STAT4 | 
| +  Tcl_SetVar2(interp, "sqlite_options", "stat4", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| -  Tcl_SetVar2(interp, "sqlite_options", "stat2", "0", TCL_GLOBAL_ONLY); | 
| +  Tcl_SetVar2(interp, "sqlite_options", "stat4", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| +#if defined(SQLITE_ENABLE_STAT3) && !defined(SQLITE_ENABLE_STAT4) | 
| +  Tcl_SetVar2(interp, "sqlite_options", "stat3", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "stat3", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| #if !defined(SQLITE_ENABLE_LOCKING_STYLE) | 
| @@ -535,6 +603,12 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double", | 
| Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "0", TCL_GLOBAL_ONLY); | 
| #endif | 
|  | 
| +#ifdef SQLITE_USER_AUTHENTICATION | 
| +  Tcl_SetVar2(interp, "sqlite_options", "userauth", "1", TCL_GLOBAL_ONLY); | 
| +#else | 
| +  Tcl_SetVar2(interp, "sqlite_options", "userauth", "0", TCL_GLOBAL_ONLY); | 
| +#endif | 
| + | 
| #ifdef SQLITE_MULTIPLEX_EXT_OVWR | 
| Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "1", TCL_GLOBAL_ONLY); | 
| #else | 
| @@ -569,12 +643,29 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double", | 
| LINKVAR( DEFAULT_PAGE_SIZE ); | 
| LINKVAR( DEFAULT_FILE_FORMAT ); | 
| LINKVAR( MAX_ATTACHED ); | 
| +  LINKVAR( MAX_DEFAULT_PAGE_SIZE ); | 
| +  LINKVAR( MAX_WORKER_THREADS ); | 
|  | 
| { | 
| static const int cv_TEMP_STORE = SQLITE_TEMP_STORE; | 
| Tcl_LinkVar(interp, "TEMP_STORE", (char *)&(cv_TEMP_STORE), | 
| TCL_LINK_INT | TCL_LINK_READ_ONLY); | 
| } | 
| + | 
| +#ifdef _MSC_VER | 
| +  { | 
| +    static const int cv__MSC_VER = 1; | 
| +    Tcl_LinkVar(interp, "_MSC_VER", (char *)&(cv__MSC_VER), | 
| +                TCL_LINK_INT | TCL_LINK_READ_ONLY); | 
| +  } | 
| +#endif | 
| +#ifdef __GNUC__ | 
| +  { | 
| +    static const int cv___GNUC__ = 1; | 
| +    Tcl_LinkVar(interp, "__GNUC__", (char *)&(cv___GNUC__), | 
| +                TCL_LINK_INT | TCL_LINK_READ_ONLY); | 
| +  } | 
| +#endif | 
| } | 
|  | 
|  | 
|  |