| sqlite3ext.h | | sqlite3ext.h | |
| | | | |
| skipping to change at line 18 | | skipping to change at line 18 | |
| ** May you find forgiveness for yourself and forgive others. | | ** May you find forgiveness for yourself and forgive others. | |
| ** May you share freely, never taking more than you give. | | ** May you share freely, never taking more than you give. | |
| ** | | ** | |
| ************************************************************************* | | ************************************************************************* | |
| ** This header file defines the SQLite interface for use by | | ** This header file defines the SQLite interface for use by | |
| ** shared libraries that want to be imported as extensions into | | ** shared libraries that want to be imported as extensions into | |
| ** an SQLite instance. Shared libraries that intend to be loaded | | ** an SQLite instance. Shared libraries that intend to be loaded | |
| ** as extensions by SQLite should #include this file instead of | | ** as extensions by SQLite should #include this file instead of | |
| ** sqlite3.h. | | ** sqlite3.h. | |
| ** | | ** | |
|
| ** @(#) $Id: sqlite3ext.h,v 1.24 2008/06/30 15:09:29 danielk1977 Exp $ | | ** @(#) $Id: sqlite3ext.h,v 1.25 2008/10/12 00:27:54 shane Exp $ | |
| */ | | */ | |
| #ifndef _SQLITE3EXT_H_ | | #ifndef _SQLITE3EXT_H_ | |
| #define _SQLITE3EXT_H_ | | #define _SQLITE3EXT_H_ | |
| #include "sqlite3.h" | | #include "sqlite3.h" | |
| | | | |
| typedef struct sqlite3_api_routines sqlite3_api_routines; | | typedef struct sqlite3_api_routines sqlite3_api_routines; | |
| | | | |
| /* | | /* | |
| ** 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); | | { | |
| int (*aggregate_count)(sqlite3_context*); | | void *(*aggregate_context) (sqlite3_context *, int nBytes); | |
| int (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*)); | | int (*aggregate_count) (sqlite3_context *); | |
| int (*bind_double)(sqlite3_stmt*,int,double); | | int (*bind_blob) (sqlite3_stmt *, int, const void *, int n, | |
| int (*bind_int)(sqlite3_stmt*,int,int); | | void (*)(void *)); | |
| int (*bind_int64)(sqlite3_stmt*,int,sqlite_int64); | | int (*bind_double) (sqlite3_stmt *, int, double); | |
| int (*bind_null)(sqlite3_stmt*,int); | | int (*bind_int) (sqlite3_stmt *, int, int); | |
| int (*bind_parameter_count)(sqlite3_stmt*); | | int (*bind_int64) (sqlite3_stmt *, int, sqlite_int64); | |
| int (*bind_parameter_index)(sqlite3_stmt*,const char*zName); | | int (*bind_null) (sqlite3_stmt *, int); | |
| const char * (*bind_parameter_name)(sqlite3_stmt*,int); | | int (*bind_parameter_count) (sqlite3_stmt *); | |
| int (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*)); | | int (*bind_parameter_index) (sqlite3_stmt *, const char *zName); | |
| int (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*)); | | const char *(*bind_parameter_name) (sqlite3_stmt *, int); | |
| int (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*); | | int (*bind_text) (sqlite3_stmt *, int, const char *, int n, | |
| int (*busy_handler)(sqlite3*,int(*)(void*,int),void*); | | void (*)(void *)); | |
| int (*busy_timeout)(sqlite3*,int ms); | | int (*bind_text16) (sqlite3_stmt *, int, const void *, int, | |
| int (*changes)(sqlite3*); | | void (*)(void *)); | |
| int (*close)(sqlite3*); | | int (*bind_value) (sqlite3_stmt *, int, const sqlite3_value *); | |
| int (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextR | | int (*busy_handler) (sqlite3 *, int (*)(void *, int), void *); | |
| ep,const char*)); | | int (*busy_timeout) (sqlite3 *, int ms); | |
| int (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTex | | int (*changes) (sqlite3 *); | |
| tRep,const void*)); | | int (*close) (sqlite3 *); | |
| const void * (*column_blob)(sqlite3_stmt*,int iCol); | | int (*collation_needed) (sqlite3 *, void *, | |
| int (*column_bytes)(sqlite3_stmt*,int iCol); | | void (*)(void *, sqlite3 *, int eTextRep, | |
| int (*column_bytes16)(sqlite3_stmt*,int iCol); | | const char *)); | |
| int (*column_count)(sqlite3_stmt*pStmt); | | int (*collation_needed16) (sqlite3 *, void *, | |
| const char * (*column_database_name)(sqlite3_stmt*,int); | | void (*)(void *, sqlite3 *, int eTextRep, | |
| const void * (*column_database_name16)(sqlite3_stmt*,int); | | const void *)); | |
| const char * (*column_decltype)(sqlite3_stmt*,int i); | | const void *(*column_blob) (sqlite3_stmt *, int iCol); | |
| const void * (*column_decltype16)(sqlite3_stmt*,int); | | int (*column_bytes) (sqlite3_stmt *, int iCol); | |
| double (*column_double)(sqlite3_stmt*,int iCol); | | int (*column_bytes16) (sqlite3_stmt *, int iCol); | |
| int (*column_int)(sqlite3_stmt*,int iCol); | | int (*column_count) (sqlite3_stmt * pStmt); | |
| sqlite_int64 (*column_int64)(sqlite3_stmt*,int iCol); | | const char *(*column_database_name) (sqlite3_stmt *, int); | |
| const char * (*column_name)(sqlite3_stmt*,int); | | const void *(*column_database_name16) (sqlite3_stmt *, int); | |
| const void * (*column_name16)(sqlite3_stmt*,int); | | const char *(*column_decltype) (sqlite3_stmt *, int i); | |
| const char * (*column_origin_name)(sqlite3_stmt*,int); | | const void *(*column_decltype16) (sqlite3_stmt *, int); | |
| const void * (*column_origin_name16)(sqlite3_stmt*,int); | | double (*column_double) (sqlite3_stmt *, int iCol); | |
| const char * (*column_table_name)(sqlite3_stmt*,int); | | int (*column_int) (sqlite3_stmt *, int iCol); | |
| const void * (*column_table_name16)(sqlite3_stmt*,int); | | sqlite_int64 (*column_int64) (sqlite3_stmt *, int iCol); | |
| const unsigned char * (*column_text)(sqlite3_stmt*,int iCol); | | const char *(*column_name) (sqlite3_stmt *, int); | |
| const void * (*column_text16)(sqlite3_stmt*,int iCol); | | const void *(*column_name16) (sqlite3_stmt *, int); | |
| int (*column_type)(sqlite3_stmt*,int iCol); | | const char *(*column_origin_name) (sqlite3_stmt *, int); | |
| sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol); | | const void *(*column_origin_name16) (sqlite3_stmt *, int); | |
| void * (*commit_hook)(sqlite3*,int(*)(void*),void*); | | const char *(*column_table_name) (sqlite3_stmt *, int); | |
| int (*complete)(const char*sql); | | const void *(*column_table_name16) (sqlite3_stmt *, int); | |
| int (*complete16)(const void*sql); | | const unsigned char *(*column_text) (sqlite3_stmt *, int iCol); | |
| int (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int, | | const void *(*column_text16) (sqlite3_stmt *, int iCol); | |
| const void*,int,const void*)); | | int (*column_type) (sqlite3_stmt *, int iCol); | |
| int (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,in | | sqlite3_value *(*column_value) (sqlite3_stmt *, int iCol); | |
| t,const void*,int,const void*)); | | void *(*commit_hook) (sqlite3 *, int (*)(void *), void *); | |
| int (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)( | | int (*complete) (const char *sql); | |
| sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sq | | int (*complete16) (const void *sql); | |
| lite3_value**),void (*xFinal)(sqlite3_context*)); | | int (*create_collation) (sqlite3 *, const char *, int, void *, | |
| int (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc | | int (*)(void *, int, const void *, int, | |
| )(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int, | | const void *)); | |
| sqlite3_value**),void (*xFinal)(sqlite3_context*)); | | int (*create_collation16) (sqlite3 *, const void *, int, void *, | |
| int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*); | | int (*)(void *, int, const void *, int, | |
| int (*data_count)(sqlite3_stmt*pStmt); | | const void *)); | |
| sqlite3 * (*db_handle)(sqlite3_stmt*); | | int (*create_function) (sqlite3 *, const char *, int, int, void *, | |
| int (*declare_vtab)(sqlite3*,const char*); | | void (*xFunc) (sqlite3_context *, int, | |
| int (*enable_shared_cache)(int); | | sqlite3_value **), | |
| int (*errcode)(sqlite3*db); | | void (*xStep) (sqlite3_context *, int, | |
| const char * (*errmsg)(sqlite3*); | | sqlite3_value **), | |
| const void * (*errmsg16)(sqlite3*); | | void (*xFinal) (sqlite3_context *)); | |
| int (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**); | | int (*create_function16) (sqlite3 *, const void *, int, int, void *, | |
| int (*expired)(sqlite3_stmt*); | | void (*xFunc) (sqlite3_context *, int, | |
| int (*finalize)(sqlite3_stmt*pStmt); | | sqlite3_value **), | |
| void (*free)(void*); | | void (*xStep) (sqlite3_context *, int, | |
| void (*free_table)(char**result); | | sqlite3_value **), | |
| int (*get_autocommit)(sqlite3*); | | void (*xFinal) (sqlite3_context *)); | |
| void * (*get_auxdata)(sqlite3_context*,int); | | int (*create_module) (sqlite3 *, const char *, const sqlite3_module *, | |
| int (*get_table)(sqlite3*,const char*,char***,int*,int*,char**); | | void *); | |
| int (*global_recover)(void); | | int (*data_count) (sqlite3_stmt * pStmt); | |
| void (*interruptx)(sqlite3*); | | sqlite3 *(*db_handle) (sqlite3_stmt *); | |
| sqlite_int64 (*last_insert_rowid)(sqlite3*); | | int (*declare_vtab) (sqlite3 *, const char *); | |
| const char * (*libversion)(void); | | int (*enable_shared_cache) (int); | |
| int (*libversion_number)(void); | | int (*errcode) (sqlite3 * db); | |
| void *(*malloc)(int); | | const char *(*errmsg) (sqlite3 *); | |
| char * (*mprintf)(const char*,...); | | const void *(*errmsg16) (sqlite3 *); | |
| int (*open)(const char*,sqlite3**); | | int (*exec) (sqlite3 *, const char *, sqlite3_callback, void *, char ** | |
| int (*open16)(const void*,sqlite3**); | | ); | |
| int (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); | | int (*expired) (sqlite3_stmt *); | |
| int (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); | | int (*finalize) (sqlite3_stmt * pStmt); | |
| void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void* | | void (*free) (void *); | |
| ); | | void (*free_table) (char **result); | |
| void (*progress_handler)(sqlite3*,int,int(*)(void*),void*); | | int (*get_autocommit) (sqlite3 *); | |
| void *(*realloc)(void*,int); | | void *(*get_auxdata) (sqlite3_context *, int); | |
| int (*reset)(sqlite3_stmt*pStmt); | | int (*get_table) (sqlite3 *, const char *, char ***, int *, int *, char | |
| void (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*)); | | **); | |
| void (*result_double)(sqlite3_context*,double); | | int (*global_recover) (void); | |
| void (*result_error)(sqlite3_context*,const char*,int); | | void (*interruptx) (sqlite3 *); | |
| void (*result_error16)(sqlite3_context*,const void*,int); | | sqlite_int64 (*last_insert_rowid) (sqlite3 *); | |
| void (*result_int)(sqlite3_context*,int); | | const char *(*libversion) (void); | |
| void (*result_int64)(sqlite3_context*,sqlite_int64); | | int (*libversion_number) (void); | |
| void (*result_null)(sqlite3_context*); | | void *(*malloc) (int); | |
| void (*result_text)(sqlite3_context*,const char*,int,void(*)(void*)); | | char *(*mprintf) (const char *, ...); | |
| void (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*)); | | int (*open) (const char *, sqlite3 **); | |
| void (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*)) | | int (*open16) (const void *, sqlite3 **); | |
| ; | | int (*prepare) (sqlite3 *, const char *, int, sqlite3_stmt **, | |
| void (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*)) | | const char **); | |
| ; | | int (*prepare16) (sqlite3 *, const void *, int, sqlite3_stmt **, | |
| void (*result_value)(sqlite3_context*,sqlite3_value*); | | const void **); | |
| void * (*rollback_hook)(sqlite3*,void(*)(void*),void*); | | void *(*profile) (sqlite3 *, void (*)(void *, const char *, sqlite_uint | |
| int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*, | | 64), | |
| const char*,const char*),void*); | | void *); | |
| void (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*)); | | void (*progress_handler) (sqlite3 *, int, int (*)(void *), void *); | |
| char * (*snprintf)(int,char*,const char*,...); | | void *(*realloc) (void *, int); | |
| int (*step)(sqlite3_stmt*); | | int (*reset) (sqlite3_stmt * pStmt); | |
| int (*table_column_metadata)(sqlite3*,const char*,const char*,const char | | void (*result_blob) (sqlite3_context *, const void *, int, | |
| *,char const**,char const**,int*,int*,int*); | | void (*)(void *)); | |
| void (*thread_cleanup)(void); | | void (*result_double) (sqlite3_context *, double); | |
| int (*total_changes)(sqlite3*); | | void (*result_error) (sqlite3_context *, const char *, int); | |
| void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*); | | void (*result_error16) (sqlite3_context *, const void *, int); | |
| int (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*); | | void (*result_int) (sqlite3_context *, int); | |
| void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const* | | void (*result_int64) (sqlite3_context *, sqlite_int64); | |
| ,sqlite_int64),void*); | | void (*result_null) (sqlite3_context *); | |
| void * (*user_data)(sqlite3_context*); | | void (*result_text) (sqlite3_context *, const char *, int, | |
| const void * (*value_blob)(sqlite3_value*); | | void (*)(void *)); | |
| int (*value_bytes)(sqlite3_value*); | | void (*result_text16) (sqlite3_context *, const void *, int, | |
| int (*value_bytes16)(sqlite3_value*); | | void (*)(void *)); | |
| double (*value_double)(sqlite3_value*); | | void (*result_text16be) (sqlite3_context *, const void *, int, | |
| int (*value_int)(sqlite3_value*); | | void (*)(void *)); | |
| sqlite_int64 (*value_int64)(sqlite3_value*); | | void (*result_text16le) (sqlite3_context *, const void *, int, | |
| int (*value_numeric_type)(sqlite3_value*); | | void (*)(void *)); | |
| const unsigned char * (*value_text)(sqlite3_value*); | | void (*result_value) (sqlite3_context *, sqlite3_value *); | |
| const void * (*value_text16)(sqlite3_value*); | | void *(*rollback_hook) (sqlite3 *, void (*)(void *), void *); | |
| const void * (*value_text16be)(sqlite3_value*); | | int (*set_authorizer) (sqlite3 *, | |
| const void * (*value_text16le)(sqlite3_value*); | | int (*)(void *, int, const char *, const char *, | |
| int (*value_type)(sqlite3_value*); | | const char *, const char *), void *); | |
| char *(*vmprintf)(const char*,va_list); | | void (*set_auxdata) (sqlite3_context *, int, void *, void (*)(void *)); | |
| /* Added ??? */ | | char *(*snprintf) (int, char *, const char *, ...); | |
| int (*overload_function)(sqlite3*, const char *zFuncName, int nArg); | | int (*step) (sqlite3_stmt *); | |
| /* Added by 3.3.13 */ | | int (*table_column_metadata) (sqlite3 *, const char *, const char *, | |
| int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); | | const char *, char const **, char const ** | |
| int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**) | | , | |
| ; | | int *, int *, int *); | |
| int (*clear_bindings)(sqlite3_stmt*); | | void (*thread_cleanup) (void); | |
| /* Added by 3.4.1 */ | | int (*total_changes) (sqlite3 *); | |
| int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*, | | void *(*trace) (sqlite3 *, void (*xTrace) (void *, const char *), void | |
| void (*xDestroy)(void *)); | | *); | |
| /* Added by 3.5.0 */ | | int (*transfer_bindings) (sqlite3_stmt *, sqlite3_stmt *); | |
| int (*bind_zeroblob)(sqlite3_stmt*,int,int); | | void *(*update_hook) (sqlite3 *, | |
| int (*blob_bytes)(sqlite3_blob*); | | void (*)(void *, int, char const *, char const *, | |
| int (*blob_close)(sqlite3_blob*); | | sqlite_int64), void *); | |
| int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int | | void *(*user_data) (sqlite3_context *); | |
| 64,int,sqlite3_blob**); | | const void *(*value_blob) (sqlite3_value *); | |
| int (*blob_read)(sqlite3_blob*,void*,int,int); | | int (*value_bytes) (sqlite3_value *); | |
| int (*blob_write)(sqlite3_blob*,const void*,int,int); | | int (*value_bytes16) (sqlite3_value *); | |
| int (*create_collation_v2)(sqlite3*,const char*,int,void*,int(*)(void*,in | | double (*value_double) (sqlite3_value *); | |
| t,const void*,int,const void*),void(*)(void*)); | | int (*value_int) (sqlite3_value *); | |
| int (*file_control)(sqlite3*,const char*,int,void*); | | sqlite_int64 (*value_int64) (sqlite3_value *); | |
| sqlite3_int64 (*memory_highwater)(int); | | int (*value_numeric_type) (sqlite3_value *); | |
| sqlite3_int64 (*memory_used)(void); | | const unsigned char *(*value_text) (sqlite3_value *); | |
| sqlite3_mutex *(*mutex_alloc)(int); | | const void *(*value_text16) (sqlite3_value *); | |
| void (*mutex_enter)(sqlite3_mutex*); | | const void *(*value_text16be) (sqlite3_value *); | |
| void (*mutex_free)(sqlite3_mutex*); | | const void *(*value_text16le) (sqlite3_value *); | |
| void (*mutex_leave)(sqlite3_mutex*); | | int (*value_type) (sqlite3_value *); | |
| int (*mutex_try)(sqlite3_mutex*); | | char *(*vmprintf) (const char *, va_list); | |
| int (*open_v2)(const char*,sqlite3**,int,const char*); | | /* Added ??? */ | |
| int (*release_memory)(int); | | int (*overload_function) (sqlite3 *, const char *zFuncName, int nArg); | |
| void (*result_error_nomem)(sqlite3_context*); | | /* Added by 3.3.13 */ | |
| void (*result_error_toobig)(sqlite3_context*); | | int (*prepare_v2) (sqlite3 *, const char *, int, sqlite3_stmt **, | |
| int (*sleep)(int); | | const char **); | |
| void (*soft_heap_limit)(int); | | int (*prepare16_v2) (sqlite3 *, const void *, int, sqlite3_stmt **, | |
| sqlite3_vfs *(*vfs_find)(const char*); | | const void **); | |
| int (*vfs_register)(sqlite3_vfs*,int); | | int (*clear_bindings) (sqlite3_stmt *); | |
| int (*vfs_unregister)(sqlite3_vfs*); | | /* Added by 3.4.1 */ | |
| int (*xthreadsafe)(void); | | int (*create_module_v2) (sqlite3 *, const char *, const sqlite3_module | |
| void (*result_zeroblob)(sqlite3_context*,int); | | *, | |
| void (*result_error_code)(sqlite3_context*,int); | | void *, void (*xDestroy) (void *)); | |
| int (*test_control)(int, ...); | | /* Added by 3.5.0 */ | |
| void (*randomness)(int,void*); | | int (*bind_zeroblob) (sqlite3_stmt *, int, int); | |
| sqlite3 *(*context_db_handle)(sqlite3_context*); | | int (*blob_bytes) (sqlite3_blob *); | |
| int (*extended_result_codes)(sqlite3*,int); | | int (*blob_close) (sqlite3_blob *); | |
| int (*limit)(sqlite3*,int,int); | | int (*blob_open) (sqlite3 *, const char *, const char *, const char *, | |
| sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*); | | sqlite3_int64, int, sqlite3_blob **); | |
| const char *(*sql)(sqlite3_stmt*); | | int (*blob_read) (sqlite3_blob *, void *, int, int); | |
| int (*status)(int,int*,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 (*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 | |
| ** the API. So the redefinition macros are only valid if the | | ** the API. So the redefinition macros are only valid if the | |
| ** SQLITE_CORE macros is undefined. | | ** SQLITE_CORE macros is undefined. | |
| */ | | */ | |
| #ifndef SQLITE_CORE | | #ifndef SQLITE_CORE | |
| #define sqlite3_aggregate_context sqlite3_api->aggregate_context | | #define sqlite3_aggregate_context sqlite3_api->aggregate_context | |
|
| | | #ifndef SQLITE_OMIT_DEPRECATED | |
| #define sqlite3_aggregate_count sqlite3_api->aggregate_count | | #define sqlite3_aggregate_count sqlite3_api->aggregate_count | |
|
| | | #endif | |
| #define sqlite3_bind_blob sqlite3_api->bind_blob | | #define sqlite3_bind_blob sqlite3_api->bind_blob | |
| #define sqlite3_bind_double sqlite3_api->bind_double | | #define sqlite3_bind_double sqlite3_api->bind_double | |
| #define sqlite3_bind_int sqlite3_api->bind_int | | #define sqlite3_bind_int sqlite3_api->bind_int | |
| #define sqlite3_bind_int64 sqlite3_api->bind_int64 | | #define sqlite3_bind_int64 sqlite3_api->bind_int64 | |
| #define sqlite3_bind_null sqlite3_api->bind_null | | #define sqlite3_bind_null sqlite3_api->bind_null | |
| #define sqlite3_bind_parameter_count sqlite3_api->bind_parameter_count | | #define sqlite3_bind_parameter_count sqlite3_api->bind_parameter_count | |
| #define sqlite3_bind_parameter_index sqlite3_api->bind_parameter_index | | #define sqlite3_bind_parameter_index sqlite3_api->bind_parameter_index | |
| #define sqlite3_bind_parameter_name sqlite3_api->bind_parameter_name | | #define sqlite3_bind_parameter_name sqlite3_api->bind_parameter_name | |
| #define sqlite3_bind_text sqlite3_api->bind_text | | #define sqlite3_bind_text sqlite3_api->bind_text | |
| #define sqlite3_bind_text16 sqlite3_api->bind_text16 | | #define sqlite3_bind_text16 sqlite3_api->bind_text16 | |
| | | | |
| skipping to change at line 267 | | skipping to change at line 312 | |
| #define sqlite3_create_module sqlite3_api->create_module | | #define sqlite3_create_module sqlite3_api->create_module | |
| #define sqlite3_create_module_v2 sqlite3_api->create_module_v2 | | #define sqlite3_create_module_v2 sqlite3_api->create_module_v2 | |
| #define sqlite3_data_count sqlite3_api->data_count | | #define sqlite3_data_count sqlite3_api->data_count | |
| #define sqlite3_db_handle sqlite3_api->db_handle | | #define sqlite3_db_handle sqlite3_api->db_handle | |
| #define sqlite3_declare_vtab sqlite3_api->declare_vtab | | #define sqlite3_declare_vtab sqlite3_api->declare_vtab | |
| #define sqlite3_enable_shared_cache sqlite3_api->enable_shared_cache | | #define sqlite3_enable_shared_cache sqlite3_api->enable_shared_cache | |
| #define sqlite3_errcode sqlite3_api->errcode | | #define sqlite3_errcode sqlite3_api->errcode | |
| #define sqlite3_errmsg sqlite3_api->errmsg | | #define sqlite3_errmsg sqlite3_api->errmsg | |
| #define sqlite3_errmsg16 sqlite3_api->errmsg16 | | #define sqlite3_errmsg16 sqlite3_api->errmsg16 | |
| #define sqlite3_exec sqlite3_api->exec | | #define sqlite3_exec sqlite3_api->exec | |
|
| | | #ifndef SQLITE_OMIT_DEPRECATED | |
| #define sqlite3_expired sqlite3_api->expired | | #define sqlite3_expired sqlite3_api->expired | |
|
| | | #endif | |
| #define sqlite3_finalize sqlite3_api->finalize | | #define sqlite3_finalize sqlite3_api->finalize | |
| #define sqlite3_free sqlite3_api->free | | #define sqlite3_free sqlite3_api->free | |
| #define sqlite3_free_table sqlite3_api->free_table | | #define sqlite3_free_table sqlite3_api->free_table | |
| #define sqlite3_get_autocommit sqlite3_api->get_autocommit | | #define sqlite3_get_autocommit sqlite3_api->get_autocommit | |
| #define sqlite3_get_auxdata sqlite3_api->get_auxdata | | #define sqlite3_get_auxdata sqlite3_api->get_auxdata | |
| #define sqlite3_get_table sqlite3_api->get_table | | #define sqlite3_get_table sqlite3_api->get_table | |
|
| | | #ifndef SQLITE_OMIT_DEPRECATED | |
| #define sqlite3_global_recover sqlite3_api->global_recover | | #define sqlite3_global_recover sqlite3_api->global_recover | |
|
| | | #endif | |
| #define sqlite3_interrupt sqlite3_api->interruptx | | #define sqlite3_interrupt sqlite3_api->interruptx | |
| #define sqlite3_last_insert_rowid sqlite3_api->last_insert_rowid | | #define sqlite3_last_insert_rowid sqlite3_api->last_insert_rowid | |
| #define sqlite3_libversion sqlite3_api->libversion | | #define sqlite3_libversion sqlite3_api->libversion | |
| #define sqlite3_libversion_number sqlite3_api->libversion_number | | #define sqlite3_libversion_number sqlite3_api->libversion_number | |
| #define sqlite3_malloc sqlite3_api->malloc | | #define sqlite3_malloc sqlite3_api->malloc | |
| #define sqlite3_mprintf sqlite3_api->mprintf | | #define sqlite3_mprintf sqlite3_api->mprintf | |
| #define sqlite3_open sqlite3_api->open | | #define sqlite3_open sqlite3_api->open | |
| #define sqlite3_open16 sqlite3_api->open16 | | #define sqlite3_open16 sqlite3_api->open16 | |
| #define sqlite3_prepare sqlite3_api->prepare | | #define sqlite3_prepare sqlite3_api->prepare | |
| #define sqlite3_prepare16 sqlite3_api->prepare16 | | #define sqlite3_prepare16 sqlite3_api->prepare16 | |
| | | | |
| skipping to change at line 312 | | skipping to change at line 361 | |
| #define sqlite3_result_value sqlite3_api->result_value | | #define sqlite3_result_value sqlite3_api->result_value | |
| #define sqlite3_rollback_hook sqlite3_api->rollback_hook | | #define sqlite3_rollback_hook sqlite3_api->rollback_hook | |
| #define sqlite3_set_authorizer sqlite3_api->set_authorizer | | #define sqlite3_set_authorizer sqlite3_api->set_authorizer | |
| #define sqlite3_set_auxdata sqlite3_api->set_auxdata | | #define sqlite3_set_auxdata sqlite3_api->set_auxdata | |
| #define sqlite3_snprintf sqlite3_api->snprintf | | #define sqlite3_snprintf sqlite3_api->snprintf | |
| #define sqlite3_step sqlite3_api->step | | #define sqlite3_step sqlite3_api->step | |
| #define sqlite3_table_column_metadata sqlite3_api->table_column_metadata | | #define sqlite3_table_column_metadata sqlite3_api->table_column_metadata | |
| #define sqlite3_thread_cleanup sqlite3_api->thread_cleanup | | #define sqlite3_thread_cleanup sqlite3_api->thread_cleanup | |
| #define sqlite3_total_changes sqlite3_api->total_changes | | #define sqlite3_total_changes sqlite3_api->total_changes | |
| #define sqlite3_trace sqlite3_api->trace | | #define sqlite3_trace sqlite3_api->trace | |
|
| | | #ifndef SQLITE_OMIT_DEPRECATED | |
| #define sqlite3_transfer_bindings sqlite3_api->transfer_bindings | | #define sqlite3_transfer_bindings sqlite3_api->transfer_bindings | |
|
| | | #endif | |
| #define sqlite3_update_hook sqlite3_api->update_hook | | #define sqlite3_update_hook sqlite3_api->update_hook | |
| #define sqlite3_user_data sqlite3_api->user_data | | #define sqlite3_user_data sqlite3_api->user_data | |
| #define sqlite3_value_blob sqlite3_api->value_blob | | #define sqlite3_value_blob sqlite3_api->value_blob | |
| #define sqlite3_value_bytes sqlite3_api->value_bytes | | #define sqlite3_value_bytes sqlite3_api->value_bytes | |
| #define sqlite3_value_bytes16 sqlite3_api->value_bytes16 | | #define sqlite3_value_bytes16 sqlite3_api->value_bytes16 | |
| #define sqlite3_value_double sqlite3_api->value_double | | #define sqlite3_value_double sqlite3_api->value_double | |
| #define sqlite3_value_int sqlite3_api->value_int | | #define sqlite3_value_int sqlite3_api->value_int | |
| #define sqlite3_value_int64 sqlite3_api->value_int64 | | #define sqlite3_value_int64 sqlite3_api->value_int64 | |
| #define sqlite3_value_numeric_type sqlite3_api->value_numeric_type | | #define sqlite3_value_numeric_type sqlite3_api->value_numeric_type | |
| #define sqlite3_value_text sqlite3_api->value_text | | #define sqlite3_value_text sqlite3_api->value_text | |
| | | | |
End of changes. 10 change blocks. |
| 179 lines changed or deleted | | 218 lines changed or added | |
|