| 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_ */
|
|
|