| Index: third_party/sqlite/src/src/sqlite3ext.h | 
| diff --git a/third_party/sqlite/src/src/sqlite3ext.h b/third_party/sqlite/src/src/sqlite3ext.h | 
| index e45e691fd6ae30a78e412704753b9010cae06a2a..f9a066592de296e21e32a952ac04fda42ec760d0 100644 | 
| --- a/third_party/sqlite/src/src/sqlite3ext.h | 
| +++ b/third_party/sqlite/src/src/sqlite3ext.h | 
| @@ -28,7 +28,7 @@ typedef struct sqlite3_api_routines sqlite3_api_routines; | 
| ** WARNING:  In order to maintain backwards compatibility, add new | 
| ** interfaces to the end of this structure only.  If you insert new | 
| ** interfaces in the middle of this structure, then older different | 
| -** versions of SQLite will not be able to load each others' shared | 
| +** versions of SQLite will not be able to load each other's shared | 
| ** libraries! | 
| */ | 
| struct sqlite3_api_routines { | 
| @@ -49,8 +49,10 @@ struct sqlite3_api_routines { | 
| int  (*busy_timeout)(sqlite3*,int ms); | 
| int  (*changes)(sqlite3*); | 
| int  (*close)(sqlite3*); | 
| -  int  (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,const char*)); | 
| -  int  (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,const void*)); | 
| +  int  (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*, | 
| +                           int eTextRep,const char*)); | 
| +  int  (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*, | 
| +                             int eTextRep,const void*)); | 
| const void * (*column_blob)(sqlite3_stmt*,int iCol); | 
| int  (*column_bytes)(sqlite3_stmt*,int iCol); | 
| int  (*column_bytes16)(sqlite3_stmt*,int iCol); | 
| @@ -75,10 +77,18 @@ struct sqlite3_api_routines { | 
| void * (*commit_hook)(sqlite3*,int(*)(void*),void*); | 
| int  (*complete)(const char*sql); | 
| int  (*complete16)(const void*sql); | 
| -  int  (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int,const void*,int,const void*)); | 
| -  int  (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,int,const void*,int,const void*)); | 
| -  int  (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*)); | 
| -  int  (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*)); | 
| +  int  (*create_collation)(sqlite3*,const char*,int,void*, | 
| +                           int(*)(void*,int,const void*,int,const void*)); | 
| +  int  (*create_collation16)(sqlite3*,const void*,int,void*, | 
| +                             int(*)(void*,int,const void*,int,const void*)); | 
| +  int  (*create_function)(sqlite3*,const char*,int,int,void*, | 
| +                          void (*xFunc)(sqlite3_context*,int,sqlite3_value**), | 
| +                          void (*xStep)(sqlite3_context*,int,sqlite3_value**), | 
| +                          void (*xFinal)(sqlite3_context*)); | 
| +  int  (*create_function16)(sqlite3*,const void*,int,int,void*, | 
| +                            void (*xFunc)(sqlite3_context*,int,sqlite3_value**), | 
| +                            void (*xStep)(sqlite3_context*,int,sqlite3_value**), | 
| +                            void (*xFinal)(sqlite3_context*)); | 
| int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*); | 
| int  (*data_count)(sqlite3_stmt*pStmt); | 
| sqlite3 * (*db_handle)(sqlite3_stmt*); | 
| @@ -123,16 +133,19 @@ struct sqlite3_api_routines { | 
| void  (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*)); | 
| void  (*result_value)(sqlite3_context*,sqlite3_value*); | 
| void * (*rollback_hook)(sqlite3*,void(*)(void*),void*); | 
| -  int  (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*,const char*,const char*),void*); | 
| +  int  (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*, | 
| +                         const char*,const char*),void*); | 
| void  (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*)); | 
| char * (*snprintf)(int,char*,const char*,...); | 
| int  (*step)(sqlite3_stmt*); | 
| -  int  (*table_column_metadata)(sqlite3*,const char*,const char*,const char*,char const**,char const**,int*,int*,int*); | 
| +  int  (*table_column_metadata)(sqlite3*,const char*,const char*,const char*, | 
| +                                char const**,char const**,int*,int*,int*); | 
| void  (*thread_cleanup)(void); | 
| int  (*total_changes)(sqlite3*); | 
| void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*); | 
| int  (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*); | 
| -  void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*,sqlite_int64),void*); | 
| +  void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*, | 
| +                                         sqlite_int64),void*); | 
| void * (*user_data)(sqlite3_context*); | 
| const void * (*value_blob)(sqlite3_value*); | 
| int  (*value_bytes)(sqlite3_value*); | 
| @@ -154,15 +167,19 @@ struct sqlite3_api_routines { | 
| int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); | 
| int (*clear_bindings)(sqlite3_stmt*); | 
| /* Added by 3.4.1 */ | 
| -  int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*,void (*xDestroy)(void *)); | 
| +  int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*, | 
| +                          void (*xDestroy)(void *)); | 
| /* Added by 3.5.0 */ | 
| int (*bind_zeroblob)(sqlite3_stmt*,int,int); | 
| int (*blob_bytes)(sqlite3_blob*); | 
| int (*blob_close)(sqlite3_blob*); | 
| -  int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64,int,sqlite3_blob**); | 
| +  int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64, | 
| +                   int,sqlite3_blob**); | 
| int (*blob_read)(sqlite3_blob*,void*,int,int); | 
| int (*blob_write)(sqlite3_blob*,const void*,int,int); | 
| -  int (*create_collation_v2)(sqlite3*,const char*,int,void*,int(*)(void*,int,const void*,int,const void*),void(*)(void*)); | 
| +  int (*create_collation_v2)(sqlite3*,const char*,int,void*, | 
| +                             int(*)(void*,int,const void*,int,const void*), | 
| +                             void(*)(void*)); | 
| int (*file_control)(sqlite3*,const char*,int,void*); | 
| sqlite3_int64 (*memory_highwater)(int); | 
| sqlite3_int64 (*memory_used)(void); | 
| @@ -198,7 +215,11 @@ struct sqlite3_api_routines { | 
| int (*backup_step)(sqlite3_backup*,int); | 
| const char *(*compileoption_get)(int); | 
| int (*compileoption_used)(const char*); | 
| -  int (*create_function_v2)(sqlite3*,const char*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*),void(*xDestroy)(void*)); | 
| +  int (*create_function_v2)(sqlite3*,const char*,int,int,void*, | 
| +                            void (*xFunc)(sqlite3_context*,int,sqlite3_value**), | 
| +                            void (*xStep)(sqlite3_context*,int,sqlite3_value**), | 
| +                            void (*xFinal)(sqlite3_context*), | 
| +                            void(*xDestroy)(void*)); | 
| int (*db_config)(sqlite3*,int,...); | 
| sqlite3_mutex *(*db_mutex)(sqlite3*); | 
| int (*db_status)(sqlite3*,int,int*,int*,int); | 
| @@ -212,11 +233,45 @@ struct sqlite3_api_routines { | 
| int (*wal_autocheckpoint)(sqlite3*,int); | 
| int (*wal_checkpoint)(sqlite3*,const char*); | 
| void *(*wal_hook)(sqlite3*,int(*)(void*,sqlite3*,const char*,int),void*); | 
| +  int (*blob_reopen)(sqlite3_blob*,sqlite3_int64); | 
| +  int (*vtab_config)(sqlite3*,int op,...); | 
| +  int (*vtab_on_conflict)(sqlite3*); | 
| +  /* Version 3.7.16 and later */ | 
| +  int (*close_v2)(sqlite3*); | 
| +  const char *(*db_filename)(sqlite3*,const char*); | 
| +  int (*db_readonly)(sqlite3*,const char*); | 
| +  int (*db_release_memory)(sqlite3*); | 
| +  const char *(*errstr)(int); | 
| +  int (*stmt_busy)(sqlite3_stmt*); | 
| +  int (*stmt_readonly)(sqlite3_stmt*); | 
| +  int (*stricmp)(const char*,const char*); | 
| +  int (*uri_boolean)(const char*,const char*,int); | 
| +  sqlite3_int64 (*uri_int64)(const char*,const char*,sqlite3_int64); | 
| +  const char *(*uri_parameter)(const char*,const char*); | 
| +  char *(*vsnprintf)(int,char*,const char*,va_list); | 
| +  int (*wal_checkpoint_v2)(sqlite3*,const char*,int,int*,int*); | 
| +  /* Version 3.8.7 and later */ | 
| +  int (*auto_extension)(void(*)(void)); | 
| +  int (*bind_blob64)(sqlite3_stmt*,int,const void*,sqlite3_uint64, | 
| +                     void(*)(void*)); | 
| +  int (*bind_text64)(sqlite3_stmt*,int,const char*,sqlite3_uint64, | 
| +                      void(*)(void*),unsigned char); | 
| +  int (*cancel_auto_extension)(void(*)(void)); | 
| +  int (*load_extension)(sqlite3*,const char*,const char*,char**); | 
| +  void *(*malloc64)(sqlite3_uint64); | 
| +  sqlite3_uint64 (*msize)(void*); | 
| +  void *(*realloc64)(void*,sqlite3_uint64); | 
| +  void (*reset_auto_extension)(void); | 
| +  void (*result_blob64)(sqlite3_context*,const void*,sqlite3_uint64, | 
| +                        void(*)(void*)); | 
| +  void (*result_text64)(sqlite3_context*,const char*,sqlite3_uint64, | 
| +                         void(*)(void*), unsigned char); | 
| +  int (*strglob)(const char*,const char*); | 
| }; | 
|  | 
| /* | 
| ** The following macros redefine the API routines so that they are | 
| -** redirected throught the global sqlite3_api structure. | 
| +** redirected through the global sqlite3_api structure. | 
| ** | 
| ** This header file is also used by the loadext.c source file | 
| ** (part of the main SQLite library - not an extension) so that | 
| @@ -412,9 +467,51 @@ struct sqlite3_api_routines { | 
| #define sqlite3_wal_autocheckpoint     sqlite3_api->wal_autocheckpoint | 
| #define sqlite3_wal_checkpoint         sqlite3_api->wal_checkpoint | 
| #define sqlite3_wal_hook               sqlite3_api->wal_hook | 
| +#define sqlite3_blob_reopen            sqlite3_api->blob_reopen | 
| +#define sqlite3_vtab_config            sqlite3_api->vtab_config | 
| +#define sqlite3_vtab_on_conflict       sqlite3_api->vtab_on_conflict | 
| +/* Version 3.7.16 and later */ | 
| +#define sqlite3_close_v2               sqlite3_api->close_v2 | 
| +#define sqlite3_db_filename            sqlite3_api->db_filename | 
| +#define sqlite3_db_readonly            sqlite3_api->db_readonly | 
| +#define sqlite3_db_release_memory      sqlite3_api->db_release_memory | 
| +#define sqlite3_errstr                 sqlite3_api->errstr | 
| +#define sqlite3_stmt_busy              sqlite3_api->stmt_busy | 
| +#define sqlite3_stmt_readonly          sqlite3_api->stmt_readonly | 
| +#define sqlite3_stricmp                sqlite3_api->stricmp | 
| +#define sqlite3_uri_boolean            sqlite3_api->uri_boolean | 
| +#define sqlite3_uri_int64              sqlite3_api->uri_int64 | 
| +#define sqlite3_uri_parameter          sqlite3_api->uri_parameter | 
| +#define sqlite3_uri_vsnprintf          sqlite3_api->vsnprintf | 
| +#define sqlite3_wal_checkpoint_v2      sqlite3_api->wal_checkpoint_v2 | 
| +/* Version 3.8.7 and later */ | 
| +#define sqlite3_auto_extension         sqlite3_api->auto_extension | 
| +#define sqlite3_bind_blob64            sqlite3_api->bind_blob64 | 
| +#define sqlite3_bind_text64            sqlite3_api->bind_text64 | 
| +#define sqlite3_cancel_auto_extension  sqlite3_api->cancel_auto_extension | 
| +#define sqlite3_load_extension         sqlite3_api->load_extension | 
| +#define sqlite3_malloc64               sqlite3_api->malloc64 | 
| +#define sqlite3_msize                  sqlite3_api->msize | 
| +#define sqlite3_realloc64              sqlite3_api->realloc64 | 
| +#define sqlite3_reset_auto_extension   sqlite3_api->reset_auto_extension | 
| +#define sqlite3_result_blob64          sqlite3_api->result_blob64 | 
| +#define sqlite3_result_text64          sqlite3_api->result_text64 | 
| +#define sqlite3_strglob                sqlite3_api->strglob | 
| #endif /* SQLITE_CORE */ | 
|  | 
| -#define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api = 0; | 
| -#define SQLITE_EXTENSION_INIT2(v)  sqlite3_api = v; | 
| +#ifndef SQLITE_CORE | 
| +  /* This case when the file really is being compiled as a loadable | 
| +  ** extension */ | 
| +# define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api=0; | 
| +# define SQLITE_EXTENSION_INIT2(v)  sqlite3_api=v; | 
| +# define SQLITE_EXTENSION_INIT3     \ | 
| +    extern const sqlite3_api_routines *sqlite3_api; | 
| +#else | 
| +  /* This case when the file is being statically linked into the | 
| +  ** application */ | 
| +# define SQLITE_EXTENSION_INIT1     /*no-op*/ | 
| +# define SQLITE_EXTENSION_INIT2(v)  (void)v; /* unused parameter */ | 
| +# define SQLITE_EXTENSION_INIT3     /*no-op*/ | 
| +#endif | 
|  | 
| #endif /* _SQLITE3EXT_H_ */ | 
|  |