| sqlite3ext.h | | sqlite3ext.h | |
| | | | |
| skipping to change at line 36 | | skipping to change at line 36 | |
| /* | | /* | |
| ** The following structure holds pointers to all of the SQLite API | | ** The following structure holds pointers to all of the SQLite API | |
| ** routines. | | ** routines. | |
| ** | | ** | |
| ** WARNING: In order to maintain backwards compatibility, add new | | ** WARNING: In order to maintain backwards compatibility, add new | |
| ** interfaces to the end of this structure only. If you insert new | | ** interfaces to the end of this structure only. If you insert new | |
| ** interfaces in the middle of this structure, then older different | | ** 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 others' shared | |
| ** libraries! | | ** libraries! | |
| */ | | */ | |
|
| struct sqlite3_api_routines | | struct sqlite3_api_routines { | |
| { | | void * (*aggregate_context)(sqlite3_context*,int nBytes); | |
| void *(*aggregate_context) (sqlite3_context *, int nBytes); | | int (*aggregate_count)(sqlite3_context*); | |
| int (*aggregate_count) (sqlite3_context *); | | int (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*)); | |
| int (*bind_blob) (sqlite3_stmt *, int, const void *, int n, | | int (*bind_double)(sqlite3_stmt*,int,double); | |
| void (*)(void *)); | | int (*bind_int)(sqlite3_stmt*,int,int); | |
| int (*bind_double) (sqlite3_stmt *, int, double); | | int (*bind_int64)(sqlite3_stmt*,int,sqlite_int64); | |
| int (*bind_int) (sqlite3_stmt *, int, int); | | int (*bind_null)(sqlite3_stmt*,int); | |
| int (*bind_int64) (sqlite3_stmt *, int, sqlite_int64); | | int (*bind_parameter_count)(sqlite3_stmt*); | |
| int (*bind_null) (sqlite3_stmt *, int); | | int (*bind_parameter_index)(sqlite3_stmt*,const char*zName); | |
| int (*bind_parameter_count) (sqlite3_stmt *); | | const char * (*bind_parameter_name)(sqlite3_stmt*,int); | |
| int (*bind_parameter_index) (sqlite3_stmt *, const char *zName); | | int (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*)); | |
| const char *(*bind_parameter_name) (sqlite3_stmt *, int); | | int (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*)); | |
| int (*bind_text) (sqlite3_stmt *, int, const char *, int n, | | int (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*); | |
| void (*)(void *)); | | int (*busy_handler)(sqlite3*,int(*)(void*,int),void*); | |
| int (*bind_text16) (sqlite3_stmt *, int, const void *, int, | | int (*busy_timeout)(sqlite3*,int ms); | |
| void (*)(void *)); | | int (*changes)(sqlite3*); | |
| int (*bind_value) (sqlite3_stmt *, int, const sqlite3_value *); | | int (*close)(sqlite3*); | |
| int (*busy_handler) (sqlite3 *, int (*)(void *, int), void *); | | int (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextR | |
| int (*busy_timeout) (sqlite3 *, int ms); | | ep,const char*)); | |
| int (*changes) (sqlite3 *); | | int (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTex | |
| int (*close) (sqlite3 *); | | tRep,const void*)); | |
| int (*collation_needed) (sqlite3 *, void *, | | const void * (*column_blob)(sqlite3_stmt*,int iCol); | |
| void (*)(void *, sqlite3 *, int eTextRep, | | int (*column_bytes)(sqlite3_stmt*,int iCol); | |
| const char *)); | | int (*column_bytes16)(sqlite3_stmt*,int iCol); | |
| int (*collation_needed16) (sqlite3 *, void *, | | int (*column_count)(sqlite3_stmt*pStmt); | |
| void (*)(void *, sqlite3 *, int eTextRep, | | const char * (*column_database_name)(sqlite3_stmt*,int); | |
| const void *)); | | const void * (*column_database_name16)(sqlite3_stmt*,int); | |
| const void *(*column_blob) (sqlite3_stmt *, int iCol); | | const char * (*column_decltype)(sqlite3_stmt*,int i); | |
| int (*column_bytes) (sqlite3_stmt *, int iCol); | | const void * (*column_decltype16)(sqlite3_stmt*,int); | |
| int (*column_bytes16) (sqlite3_stmt *, int iCol); | | double (*column_double)(sqlite3_stmt*,int iCol); | |
| int (*column_count) (sqlite3_stmt * pStmt); | | int (*column_int)(sqlite3_stmt*,int iCol); | |
| const char *(*column_database_name) (sqlite3_stmt *, int); | | sqlite_int64 (*column_int64)(sqlite3_stmt*,int iCol); | |
| const void *(*column_database_name16) (sqlite3_stmt *, int); | | const char * (*column_name)(sqlite3_stmt*,int); | |
| const char *(*column_decltype) (sqlite3_stmt *, int i); | | const void * (*column_name16)(sqlite3_stmt*,int); | |
| const void *(*column_decltype16) (sqlite3_stmt *, int); | | const char * (*column_origin_name)(sqlite3_stmt*,int); | |
| double (*column_double) (sqlite3_stmt *, int iCol); | | const void * (*column_origin_name16)(sqlite3_stmt*,int); | |
| int (*column_int) (sqlite3_stmt *, int iCol); | | const char * (*column_table_name)(sqlite3_stmt*,int); | |
| sqlite_int64 (*column_int64) (sqlite3_stmt *, int iCol); | | const void * (*column_table_name16)(sqlite3_stmt*,int); | |
| const char *(*column_name) (sqlite3_stmt *, int); | | const unsigned char * (*column_text)(sqlite3_stmt*,int iCol); | |
| const void *(*column_name16) (sqlite3_stmt *, int); | | const void * (*column_text16)(sqlite3_stmt*,int iCol); | |
| const char *(*column_origin_name) (sqlite3_stmt *, int); | | int (*column_type)(sqlite3_stmt*,int iCol); | |
| const void *(*column_origin_name16) (sqlite3_stmt *, int); | | sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol); | |
| const char *(*column_table_name) (sqlite3_stmt *, int); | | void * (*commit_hook)(sqlite3*,int(*)(void*),void*); | |
| const void *(*column_table_name16) (sqlite3_stmt *, int); | | int (*complete)(const char*sql); | |
| const unsigned char *(*column_text) (sqlite3_stmt *, int iCol); | | int (*complete16)(const void*sql); | |
| const void *(*column_text16) (sqlite3_stmt *, int iCol); | | int (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int, | |
| int (*column_type) (sqlite3_stmt *, int iCol); | | const void*,int,const void*)); | |
| sqlite3_value *(*column_value) (sqlite3_stmt *, int iCol); | | int (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,in | |
| void *(*commit_hook) (sqlite3 *, int (*)(void *), void *); | | t,const void*,int,const void*)); | |
| int (*complete) (const char *sql); | | int (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)( | |
| int (*complete16) (const void *sql); | | sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sq | |
| int (*create_collation) (sqlite3 *, const char *, int, void *, | | lite3_value**),void (*xFinal)(sqlite3_context*)); | |
| int (*)(void *, int, const void *, int, | | int (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc | |
| const void *)); | | )(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int, | |
| int (*create_collation16) (sqlite3 *, const void *, int, void *, | | sqlite3_value**),void (*xFinal)(sqlite3_context*)); | |
| int (*)(void *, int, const void *, int, | | int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*); | |
| const void *)); | | int (*data_count)(sqlite3_stmt*pStmt); | |
| int (*create_function) (sqlite3 *, const char *, int, int, void *, | | sqlite3 * (*db_handle)(sqlite3_stmt*); | |
| void (*xFunc) (sqlite3_context *, int, | | int (*declare_vtab)(sqlite3*,const char*); | |
| sqlite3_value **), | | int (*enable_shared_cache)(int); | |
| void (*xStep) (sqlite3_context *, int, | | int (*errcode)(sqlite3*db); | |
| sqlite3_value **), | | const char * (*errmsg)(sqlite3*); | |
| void (*xFinal) (sqlite3_context *)); | | const void * (*errmsg16)(sqlite3*); | |
| int (*create_function16) (sqlite3 *, const void *, int, int, void *, | | int (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**); | |
| void (*xFunc) (sqlite3_context *, int, | | int (*expired)(sqlite3_stmt*); | |
| sqlite3_value **), | | int (*finalize)(sqlite3_stmt*pStmt); | |
| void (*xStep) (sqlite3_context *, int, | | void (*free)(void*); | |
| sqlite3_value **), | | void (*free_table)(char**result); | |
| void (*xFinal) (sqlite3_context *)); | | int (*get_autocommit)(sqlite3*); | |
| int (*create_module) (sqlite3 *, const char *, const sqlite3_module *, | | void * (*get_auxdata)(sqlite3_context*,int); | |
| void *); | | int (*get_table)(sqlite3*,const char*,char***,int*,int*,char**); | |
| int (*data_count) (sqlite3_stmt * pStmt); | | int (*global_recover)(void); | |
| sqlite3 *(*db_handle) (sqlite3_stmt *); | | void (*interruptx)(sqlite3*); | |
| int (*declare_vtab) (sqlite3 *, const char *); | | sqlite_int64 (*last_insert_rowid)(sqlite3*); | |
| int (*enable_shared_cache) (int); | | const char * (*libversion)(void); | |
| int (*errcode) (sqlite3 * db); | | int (*libversion_number)(void); | |
| const char *(*errmsg) (sqlite3 *); | | void *(*malloc)(int); | |
| const void *(*errmsg16) (sqlite3 *); | | char * (*mprintf)(const char*,...); | |
| int (*exec) (sqlite3 *, const char *, sqlite3_callback, void *, char ** | | int (*open)(const char*,sqlite3**); | |
| ); | | int (*open16)(const void*,sqlite3**); | |
| int (*expired) (sqlite3_stmt *); | | int (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); | |
| int (*finalize) (sqlite3_stmt * pStmt); | | int (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); | |
| void (*free) (void *); | | void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void* | |
| void (*free_table) (char **result); | | ); | |
| int (*get_autocommit) (sqlite3 *); | | void (*progress_handler)(sqlite3*,int,int(*)(void*),void*); | |
| void *(*get_auxdata) (sqlite3_context *, int); | | void *(*realloc)(void*,int); | |
| int (*get_table) (sqlite3 *, const char *, char ***, int *, int *, char | | int (*reset)(sqlite3_stmt*pStmt); | |
| **); | | void (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*)); | |
| int (*global_recover) (void); | | void (*result_double)(sqlite3_context*,double); | |
| void (*interruptx) (sqlite3 *); | | void (*result_error)(sqlite3_context*,const char*,int); | |
| sqlite_int64 (*last_insert_rowid) (sqlite3 *); | | void (*result_error16)(sqlite3_context*,const void*,int); | |
| const char *(*libversion) (void); | | void (*result_int)(sqlite3_context*,int); | |
| int (*libversion_number) (void); | | void (*result_int64)(sqlite3_context*,sqlite_int64); | |
| void *(*malloc) (int); | | void (*result_null)(sqlite3_context*); | |
| char *(*mprintf) (const char *, ...); | | void (*result_text)(sqlite3_context*,const char*,int,void(*)(void*)); | |
| int (*open) (const char *, sqlite3 **); | | void (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*)); | |
| int (*open16) (const void *, sqlite3 **); | | void (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*)) | |
| int (*prepare) (sqlite3 *, const char *, int, sqlite3_stmt **, | | ; | |
| const char **); | | void (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*)) | |
| int (*prepare16) (sqlite3 *, const void *, int, sqlite3_stmt **, | | ; | |
| const void **); | | void (*result_value)(sqlite3_context*,sqlite3_value*); | |
| void *(*profile) (sqlite3 *, void (*)(void *, const char *, sqlite_uint | | void * (*rollback_hook)(sqlite3*,void(*)(void*),void*); | |
| 64), | | int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*, | |
| void *); | | const char*,const char*),void*); | |
| void (*progress_handler) (sqlite3 *, int, int (*)(void *), void *); | | void (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*)); | |
| void *(*realloc) (void *, int); | | char * (*snprintf)(int,char*,const char*,...); | |
| int (*reset) (sqlite3_stmt * pStmt); | | int (*step)(sqlite3_stmt*); | |
| void (*result_blob) (sqlite3_context *, const void *, int, | | int (*table_column_metadata)(sqlite3*,const char*,const char*,const char | |
| void (*)(void *)); | | *,char const**,char const**,int*,int*,int*); | |
| void (*result_double) (sqlite3_context *, double); | | void (*thread_cleanup)(void); | |
| void (*result_error) (sqlite3_context *, const char *, int); | | int (*total_changes)(sqlite3*); | |
| void (*result_error16) (sqlite3_context *, const void *, int); | | void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*); | |
| void (*result_int) (sqlite3_context *, int); | | int (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*); | |
| void (*result_int64) (sqlite3_context *, sqlite_int64); | | void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const* | |
| void (*result_null) (sqlite3_context *); | | ,sqlite_int64),void*); | |
| void (*result_text) (sqlite3_context *, const char *, int, | | void * (*user_data)(sqlite3_context*); | |
| void (*)(void *)); | | const void * (*value_blob)(sqlite3_value*); | |
| void (*result_text16) (sqlite3_context *, const void *, int, | | int (*value_bytes)(sqlite3_value*); | |
| void (*)(void *)); | | int (*value_bytes16)(sqlite3_value*); | |
| void (*result_text16be) (sqlite3_context *, const void *, int, | | double (*value_double)(sqlite3_value*); | |
| void (*)(void *)); | | int (*value_int)(sqlite3_value*); | |
| void (*result_text16le) (sqlite3_context *, const void *, int, | | sqlite_int64 (*value_int64)(sqlite3_value*); | |
| void (*)(void *)); | | int (*value_numeric_type)(sqlite3_value*); | |
| void (*result_value) (sqlite3_context *, sqlite3_value *); | | const unsigned char * (*value_text)(sqlite3_value*); | |
| void *(*rollback_hook) (sqlite3 *, void (*)(void *), void *); | | const void * (*value_text16)(sqlite3_value*); | |
| int (*set_authorizer) (sqlite3 *, | | const void * (*value_text16be)(sqlite3_value*); | |
| int (*)(void *, int, const char *, const char *, | | const void * (*value_text16le)(sqlite3_value*); | |
| const char *, const char *), void *); | | int (*value_type)(sqlite3_value*); | |
| void (*set_auxdata) (sqlite3_context *, int, void *, void (*)(void *)); | | char *(*vmprintf)(const char*,va_list); | |
| char *(*snprintf) (int, char *, const char *, ...); | | /* Added ??? */ | |
| int (*step) (sqlite3_stmt *); | | int (*overload_function)(sqlite3*, const char *zFuncName, int nArg); | |
| int (*table_column_metadata) (sqlite3 *, const char *, const char *, | | /* Added by 3.3.13 */ | |
| const char *, char const **, char const ** | | int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); | |
| , | | int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**) | |
| int *, int *, int *); | | ; | |
| void (*thread_cleanup) (void); | | int (*clear_bindings)(sqlite3_stmt*); | |
| int (*total_changes) (sqlite3 *); | | /* Added by 3.4.1 */ | |
| void *(*trace) (sqlite3 *, void (*xTrace) (void *, const char *), void | | int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*, | |
| *); | | void (*xDestroy)(void *)); | |
| int (*transfer_bindings) (sqlite3_stmt *, sqlite3_stmt *); | | /* Added by 3.5.0 */ | |
| void *(*update_hook) (sqlite3 *, | | int (*bind_zeroblob)(sqlite3_stmt*,int,int); | |
| void (*)(void *, int, char const *, char const *, | | int (*blob_bytes)(sqlite3_blob*); | |
| sqlite_int64), void *); | | int (*blob_close)(sqlite3_blob*); | |
| void *(*user_data) (sqlite3_context *); | | int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int | |
| const void *(*value_blob) (sqlite3_value *); | | 64,int,sqlite3_blob**); | |
| int (*value_bytes) (sqlite3_value *); | | int (*blob_read)(sqlite3_blob*,void*,int,int); | |
| int (*value_bytes16) (sqlite3_value *); | | int (*blob_write)(sqlite3_blob*,const void*,int,int); | |
| double (*value_double) (sqlite3_value *); | | int (*create_collation_v2)(sqlite3*,const char*,int,void*,int(*)(void*,in | |
| int (*value_int) (sqlite3_value *); | | t,const void*,int,const void*),void(*)(void*)); | |
| sqlite_int64 (*value_int64) (sqlite3_value *); | | int (*file_control)(sqlite3*,const char*,int,void*); | |
| int (*value_numeric_type) (sqlite3_value *); | | sqlite3_int64 (*memory_highwater)(int); | |
| const unsigned char *(*value_text) (sqlite3_value *); | | sqlite3_int64 (*memory_used)(void); | |
| const void *(*value_text16) (sqlite3_value *); | | sqlite3_mutex *(*mutex_alloc)(int); | |
| const void *(*value_text16be) (sqlite3_value *); | | void (*mutex_enter)(sqlite3_mutex*); | |
| const void *(*value_text16le) (sqlite3_value *); | | void (*mutex_free)(sqlite3_mutex*); | |
| int (*value_type) (sqlite3_value *); | | void (*mutex_leave)(sqlite3_mutex*); | |
| char *(*vmprintf) (const char *, va_list); | | int (*mutex_try)(sqlite3_mutex*); | |
| /* Added ??? */ | | int (*open_v2)(const char*,sqlite3**,int,const char*); | |
| int (*overload_function) (sqlite3 *, const char *zFuncName, int nArg); | | int (*release_memory)(int); | |
| /* Added by 3.3.13 */ | | void (*result_error_nomem)(sqlite3_context*); | |
| int (*prepare_v2) (sqlite3 *, const char *, int, sqlite3_stmt **, | | void (*result_error_toobig)(sqlite3_context*); | |
| const char **); | | int (*sleep)(int); | |
| int (*prepare16_v2) (sqlite3 *, const void *, int, sqlite3_stmt **, | | void (*soft_heap_limit)(int); | |
| const void **); | | sqlite3_vfs *(*vfs_find)(const char*); | |
| int (*clear_bindings) (sqlite3_stmt *); | | int (*vfs_register)(sqlite3_vfs*,int); | |
| /* Added by 3.4.1 */ | | int (*vfs_unregister)(sqlite3_vfs*); | |
| int (*create_module_v2) (sqlite3 *, const char *, const sqlite3_module | | int (*xthreadsafe)(void); | |
| *, | | void (*result_zeroblob)(sqlite3_context*,int); | |
| void *, void (*xDestroy) (void *)); | | void (*result_error_code)(sqlite3_context*,int); | |
| /* Added by 3.5.0 */ | | int (*test_control)(int, ...); | |
| int (*bind_zeroblob) (sqlite3_stmt *, int, int); | | void (*randomness)(int,void*); | |
| int (*blob_bytes) (sqlite3_blob *); | | sqlite3 *(*context_db_handle)(sqlite3_context*); | |
| int (*blob_close) (sqlite3_blob *); | | int (*extended_result_codes)(sqlite3*,int); | |
| int (*blob_open) (sqlite3 *, const char *, const char *, const char *, | | int (*limit)(sqlite3*,int,int); | |
| sqlite3_int64, int, sqlite3_blob **); | | sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*); | |
| int (*blob_read) (sqlite3_blob *, void *, int, int); | | const char *(*sql)(sqlite3_stmt*); | |
| int (*blob_write) (sqlite3_blob *, const void *, int, int); | | int (*status)(int,int*,int*,int); | |
| 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); | | | |
| sqlite3_mutex *(*mutex_alloc) (int); | | | |
| void (*mutex_enter) (sqlite3_mutex *); | | | |
| void (*mutex_free) (sqlite3_mutex *); | | | |
| void (*mutex_leave) (sqlite3_mutex *); | | | |
| int (*mutex_try) (sqlite3_mutex *); | | | |
| int (*open_v2) (const char *, sqlite3 **, int, const char *); | | | |
| int (*release_memory) (int); | | | |
| void (*result_error_nomem) (sqlite3_context *); | | | |
| void (*result_error_toobig) (sqlite3_context *); | | | |
| int (*sleep) (int); | | | |
| void (*soft_heap_limit) (int); | | | |
| sqlite3_vfs *(*vfs_find) (const char *); | | | |
| int (*vfs_register) (sqlite3_vfs *, int); | | | |
| int (*vfs_unregister) (sqlite3_vfs *); | | | |
| int (*xthreadsafe) (void); | | | |
| void (*result_zeroblob) (sqlite3_context *, int); | | | |
| void (*result_error_code) (sqlite3_context *, int); | | | |
| int (*test_control) (int, ...); | | | |
| void (*randomness) (int, void *); | | | |
| sqlite3 *(*context_db_handle) (sqlite3_context *); | | | |
| int (*extended_result_codes) (sqlite3 *, int); | | | |
| int (*limit) (sqlite3 *, int, int); | | | |
| sqlite3_stmt *(*next_stmt) (sqlite3 *, sqlite3_stmt *); | | | |
| const char *(*sql) (sqlite3_stmt *); | | | |
| int (*status) (int, int *, int *, int); | | | |
| }; | | }; | |
| | | | |
| /* | | /* | |
| ** The following macros redefine the API routines so that they are | | ** The following macros redefine the API routines so that they are | |
| ** redirected throught the global sqlite3_api structure. | | ** redirected throught the global sqlite3_api structure. | |
| ** | | ** | |
| ** This header file is also used by the loadext.c source file | | ** This header file is also used by the loadext.c source file | |
| ** (part of the main SQLite library - not an extension) so that | | ** (part of the main SQLite library - not an extension) so that | |
| ** it can get access to the sqlite3_api_routines structure | | ** it can get access to the sqlite3_api_routines structure | |
| ** definition. But the main library does not want to redefine | | ** definition. But the main library does not want to redefine | |
| | | | |
End of changes. 1 change blocks. |
| 209 lines changed or deleted | | 178 lines changed or added | |
|