diff options
Diffstat (limited to 'ext/sqlite3/libsqlite/sqlite3ext.h')
| -rw-r--r-- | ext/sqlite3/libsqlite/sqlite3ext.h | 97 | 
1 files changed, 82 insertions, 15 deletions
diff --git a/ext/sqlite3/libsqlite/sqlite3ext.h b/ext/sqlite3/libsqlite/sqlite3ext.h index e45e691fd6..ecf93f62f6 100644 --- a/ext/sqlite3/libsqlite/sqlite3ext.h +++ b/ext/sqlite3/libsqlite/sqlite3ext.h @@ -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,6 +233,23 @@ 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*);  };  /* @@ -412,9 +450,38 @@ 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  #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_ */  | 
