|
|
|
@ -267,6 +267,20 @@ struct sqlite3_api_routines { |
|
|
|
void (*result_text64)(sqlite3_context*,const char*,sqlite3_uint64, |
|
|
|
void(*)(void*), unsigned char); |
|
|
|
int (*strglob)(const char*,const char*); |
|
|
|
/* Version 3.8.11 and later */ |
|
|
|
sqlite3_value *(*value_dup)(const sqlite3_value*); |
|
|
|
void (*value_free)(sqlite3_value*); |
|
|
|
int (*result_zeroblob64)(sqlite3_context*,sqlite3_uint64); |
|
|
|
int (*bind_zeroblob64)(sqlite3_stmt*, int, sqlite3_uint64); |
|
|
|
/* Version 3.9.0 and later */ |
|
|
|
unsigned int (*value_subtype)(sqlite3_value*); |
|
|
|
void (*result_subtype)(sqlite3_context*,unsigned int); |
|
|
|
/* Version 3.10.0 and later */ |
|
|
|
int (*status64)(int,sqlite3_int64*,sqlite3_int64*,int); |
|
|
|
int (*strlike)(const char*,const char*,unsigned int); |
|
|
|
int (*db_cacheflush)(sqlite3*); |
|
|
|
/* Version 3.12.0 and later */ |
|
|
|
int (*system_errno)(sqlite3*); |
|
|
|
}; |
|
|
|
|
|
|
|
/* |
|
|
|
@ -280,7 +294,7 @@ struct sqlite3_api_routines { |
|
|
|
** the API. So the redefinition macros are only valid if the |
|
|
|
** SQLITE_CORE macros is undefined. |
|
|
|
*/ |
|
|
|
#ifndef SQLITE_CORE |
|
|
|
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) |
|
|
|
#define sqlite3_aggregate_context sqlite3_api->aggregate_context |
|
|
|
#ifndef SQLITE_OMIT_DEPRECATED |
|
|
|
#define sqlite3_aggregate_count sqlite3_api->aggregate_count |
|
|
|
@ -407,6 +421,7 @@ struct sqlite3_api_routines { |
|
|
|
#define sqlite3_value_text16le sqlite3_api->value_text16le |
|
|
|
#define sqlite3_value_type sqlite3_api->value_type |
|
|
|
#define sqlite3_vmprintf sqlite3_api->vmprintf |
|
|
|
#define sqlite3_vsnprintf sqlite3_api->vsnprintf |
|
|
|
#define sqlite3_overload_function sqlite3_api->overload_function |
|
|
|
#define sqlite3_prepare_v2 sqlite3_api->prepare_v2 |
|
|
|
#define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2 |
|
|
|
@ -497,9 +512,23 @@ struct sqlite3_api_routines { |
|
|
|
#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 */ |
|
|
|
/* Version 3.8.11 and later */ |
|
|
|
#define sqlite3_value_dup sqlite3_api->value_dup |
|
|
|
#define sqlite3_value_free sqlite3_api->value_free |
|
|
|
#define sqlite3_result_zeroblob64 sqlite3_api->result_zeroblob64 |
|
|
|
#define sqlite3_bind_zeroblob64 sqlite3_api->bind_zeroblob64 |
|
|
|
/* Version 3.9.0 and later */ |
|
|
|
#define sqlite3_value_subtype sqlite3_api->value_subtype |
|
|
|
#define sqlite3_result_subtype sqlite3_api->result_subtype |
|
|
|
/* Version 3.10.0 and later */ |
|
|
|
#define sqlite3_status64 sqlite3_api->status64 |
|
|
|
#define sqlite3_strlike sqlite3_api->strlike |
|
|
|
#define sqlite3_db_cacheflush sqlite3_api->db_cacheflush |
|
|
|
/* Version 3.12.0 and later */ |
|
|
|
#define sqlite3_system_errno sqlite3_api->system_errno |
|
|
|
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ |
|
|
|
|
|
|
|
#ifndef SQLITE_CORE |
|
|
|
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) |
|
|
|
/* This case when the file really is being compiled as a loadable |
|
|
|
** extension */ |
|
|
|
# define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api=0; |
|
|
|
|