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