| Index: third_party/sqlite/src/src/ctime.c | 
| diff --git a/third_party/sqlite/src/src/ctime.c b/third_party/sqlite/src/src/ctime.c | 
| index a128f61a696603896f4df0b85915d3b7f8bc9c95..82a2f352044804e44384fec0ddb932cf5190d433 100644 | 
| --- a/third_party/sqlite/src/src/ctime.c | 
| +++ b/third_party/sqlite/src/src/ctime.c | 
| @@ -54,6 +54,9 @@ static const char * const azCompileOpt[] = { | 
| #ifdef SQLITE_DEFAULT_LOCKING_MODE | 
| "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE), | 
| #endif | 
| +#if defined(SQLITE_DEFAULT_MMAP_SIZE) && !defined(SQLITE_DEFAULT_MMAP_SIZE_xc) | 
| +  "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE), | 
| +#endif | 
| #ifdef SQLITE_DISABLE_DIRSYNC | 
| "DISABLE_DIRSYNC", | 
| #endif | 
| @@ -114,8 +117,10 @@ static const char * const azCompileOpt[] = { | 
| #ifdef SQLITE_ENABLE_RTREE | 
| "ENABLE_RTREE", | 
| #endif | 
| -#ifdef SQLITE_ENABLE_STAT2 | 
| -  "ENABLE_STAT2", | 
| +#if defined(SQLITE_ENABLE_STAT4) | 
| +  "ENABLE_STAT4", | 
| +#elif defined(SQLITE_ENABLE_STAT3) | 
| +  "ENABLE_STAT3", | 
| #endif | 
| #ifdef SQLITE_ENABLE_UNLOCK_NOTIFY | 
| "ENABLE_UNLOCK_NOTIFY", | 
| @@ -144,6 +149,12 @@ static const char * const azCompileOpt[] = { | 
| #ifdef SQLITE_LOCK_TRACE | 
| "LOCK_TRACE", | 
| #endif | 
| +#if defined(SQLITE_MAX_MMAP_SIZE) && !defined(SQLITE_MAX_MMAP_SIZE_xc) | 
| +  "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE), | 
| +#endif | 
| +#ifdef SQLITE_MAX_SCHEMA_RETRY | 
| +  "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY), | 
| +#endif | 
| #ifdef SQLITE_MEMDEBUG | 
| "MEMDEBUG", | 
| #endif | 
| @@ -198,17 +209,15 @@ static const char * const azCompileOpt[] = { | 
| #ifdef SQLITE_OMIT_CHECK | 
| "OMIT_CHECK", | 
| #endif | 
| -/* // redundant | 
| -** #ifdef SQLITE_OMIT_COMPILEOPTION_DIAGS | 
| -**   "OMIT_COMPILEOPTION_DIAGS", | 
| -** #endif | 
| -*/ | 
| #ifdef SQLITE_OMIT_COMPLETE | 
| "OMIT_COMPLETE", | 
| #endif | 
| #ifdef SQLITE_OMIT_COMPOUND_SELECT | 
| "OMIT_COMPOUND_SELECT", | 
| #endif | 
| +#ifdef SQLITE_OMIT_CTE | 
| +  "OMIT_CTE", | 
| +#endif | 
| #ifdef SQLITE_OMIT_DATETIME_FUNCS | 
| "OMIT_DATETIME_FUNCS", | 
| #endif | 
| @@ -329,6 +338,9 @@ static const char * const azCompileOpt[] = { | 
| #ifdef SQLITE_PROXY_DEBUG | 
| "PROXY_DEBUG", | 
| #endif | 
| +#ifdef SQLITE_RTREE_INT_ONLY | 
| +  "RTREE_INT_ONLY", | 
| +#endif | 
| #ifdef SQLITE_SECURE_DELETE | 
| "SECURE_DELETE", | 
| #endif | 
| @@ -338,21 +350,30 @@ static const char * const azCompileOpt[] = { | 
| #ifdef SQLITE_SOUNDEX | 
| "SOUNDEX", | 
| #endif | 
| +#ifdef SQLITE_SYSTEM_MALLOC | 
| +  "SYSTEM_MALLOC", | 
| +#endif | 
| #ifdef SQLITE_TCL | 
| "TCL", | 
| #endif | 
| -#ifdef SQLITE_TEMP_STORE | 
| +#if defined(SQLITE_TEMP_STORE) && !defined(SQLITE_TEMP_STORE_xc) | 
| "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE), | 
| #endif | 
| #ifdef SQLITE_TEST | 
| "TEST", | 
| #endif | 
| -#ifdef SQLITE_THREADSAFE | 
| +#if defined(SQLITE_THREADSAFE) | 
| "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE), | 
| #endif | 
| #ifdef SQLITE_USE_ALLOCA | 
| "USE_ALLOCA", | 
| #endif | 
| +#ifdef SQLITE_USER_AUTHENTICATION | 
| +  "USER_AUTHENTICATION", | 
| +#endif | 
| +#ifdef SQLITE_WIN32_MALLOC | 
| +  "WIN32_MALLOC", | 
| +#endif | 
| #ifdef SQLITE_ZERO_MALLOC | 
| "ZERO_MALLOC" | 
| #endif | 
| @@ -373,8 +394,11 @@ int sqlite3_compileoption_used(const char *zOptName){ | 
| /* Since ArraySize(azCompileOpt) is normally in single digits, a | 
| ** linear search is adequate.  No need for a binary search. */ | 
| for(i=0; i<ArraySize(azCompileOpt); i++){ | 
| -    if(   (sqlite3StrNICmp(zOptName, azCompileOpt[i], n)==0) | 
| -       && ( (azCompileOpt[i][n]==0) || (azCompileOpt[i][n]=='=') ) ) return 1; | 
| +    if( sqlite3StrNICmp(zOptName, azCompileOpt[i], n)==0 | 
| +     && sqlite3IsIdChar((unsigned char)azCompileOpt[i][n])==0 | 
| +    ){ | 
| +      return 1; | 
| +    } | 
| } | 
| return 0; | 
| } | 
|  |