diff --git a/manifest b/manifest index 3008355ef5..40475e3400 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Prevent\ssqlite\sfrom\sopening\sdirectories\sas\sdatabases\sunder\sunix.\sFix\sfor\stest\scae\sin\smisc7.test.\s(CVS\s4342) -D 2007-08-30T16:13:34 +C Make\sthe\slatest\sinterfaces\susable\sby\sloadable\sextensions.\s(CVS\s4343) +D 2007-08-30T16:23:19 F Makefile.in bfcc303429a5d9dcd552d807ee016c77427418c3 F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -98,8 +98,8 @@ F src/insert.c b11e5ca0d68bf2a7a56f47a052a0ee67dd4e2f89 F src/journal.c 573911e274738b3fda813d4f0a6e319f8a9ecd36 F src/legacy.c 4ac53191fad2e3c4d59bde1228879b2dc5a96d66 F src/limits.h 71ab25f17e35e0a9f3f6f234b8ed49cc56731d35 -F src/loadext.c 8b31e2e0e961918fa045515459aee1c122d8c266 -F src/main.c 58f71f9b0c583fbe74d13b6d3fdb509cac5871f3 +F src/loadext.c 5f6ad0aa48f3d03b23776891f837c695f8ca72ab +F src/main.c 9276bbdc90d17cd8b15c4cb227dc09c968779391 F src/malloc.c de4e77fe70a9a0ac47a1c3a874422b107231bf31 F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217 F src/mem1.c afe2fbf6d7e8247c6c9f69c1481358b1cad60c08 @@ -130,8 +130,8 @@ F src/random.c 4a22746501bf36b0a088c66e38dde5daba6a35da F src/select.c e5cc50e8d22b2490c4fb47f2ef08a9b43bcb52d9 F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96 F src/shell.c ac29402b538515fa4697282387be9c1205e6e9eb -F src/sqlite.h.in b61b40d756363e6e41d5c0a0f5c714e1c05b3287 -F src/sqlite3ext.h 9a26028378c288af500d8b94ed079666fed5806b +F src/sqlite.h.in cc69ce66ee2b9d9bf2637ae4769d1c4891e1a0d1 +F src/sqlite3ext.h 284ec370dd03b9ac9a3af97165587de9f35bda00 F src/sqliteInt.h 5dbb7a934a88dfa9893e2627f4821b0464f5edc0 F src/sqliteLimit.h 1bcbbdfa856f8b71b561abb31edb864b0eca1d12 F src/table.c 1aeb9eab57b4235db86fe15a35dec76fb445a9c4 @@ -498,7 +498,7 @@ F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8 F tool/memleak3.tcl 7707006ee908cffff210c98158788d85bb3fcdbf F tool/mkkeywordhash.c ef93810fc41fb3d3dbacf9a33a29be88ea99ffa9 F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x -F tool/mksqlite3c.tcl 3c1ebacc756f90014228d62abdd58f8cc4e5bea6 +F tool/mksqlite3c.tcl 5e150ba5652a114a4fd3c87c908eca31131897c3 F tool/mksqlite3internalh.tcl 47737a925fb02fce43e2c0a14b3cc17574a4d44a F tool/omittest.tcl e6b3d6a1285f9813bc1dea53bb522b4b72774710 F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c @@ -568,7 +568,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 49ce3a838194f0316c883dbe1596d13c0c0fad1b -R b30cf53f87f8589eddcd76cb86e9eb93 -U danielk1977 -Z f3d625c775127ec08c26228a50386eb4 +P e30546504c59c7d92d83a32d9b7e83edc175e247 +R 34333bee6b905f0af369402169c0c1ca +U drh +Z 87a90450ab7d85013af51642e9aa58c3 diff --git a/manifest.uuid b/manifest.uuid index 600e597135..37cd036bea 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e30546504c59c7d92d83a32d9b7e83edc175e247 \ No newline at end of file +e9b2700b8c30b0255c9e33419ff18bdebb78087a \ No newline at end of file diff --git a/src/loadext.c b/src/loadext.c index 7d2340cf70..ec59b91f96 100644 --- a/src/loadext.c +++ b/src/loadext.c @@ -246,6 +246,27 @@ const sqlite3_api_routines sqlite3_apis = { */ sqlite3_create_module_v2, + /* + ** Added for 3.5.0 + */ + sqlite3_bind_zeroblob, + sqlite3_blob_bytes, + sqlite3_blob_close, + sqlite3_blob_open, + sqlite3_blob_read, + sqlite3_blob_write, + sqlite3_create_collation_v2, + sqlite3_memory_highwater, + sqlite3_memory_used, + sqlite3_open_v2, + sqlite3_release_memory, + sqlite3_result_error_nomem, + sqlite3_result_error_toobig, + sqlite3_sleep, + sqlite3_soft_heap_limit, + sqlite3_vfs_find, + sqlite3_vfs_register, + sqlite3_vfs_unregister, }; /* diff --git a/src/main.c b/src/main.c index 4054e2fc8a..dc462aa257 100644 --- a/src/main.c +++ b/src/main.c @@ -14,7 +14,7 @@ ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** -** $Id: main.c,v 1.398 2007/08/24 16:08:29 drh Exp $ +** $Id: main.c,v 1.399 2007/08/30 16:23:19 drh Exp $ */ #include "sqliteInt.h" #include @@ -1098,7 +1098,7 @@ int sqlite3_open( SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0); } int sqlite3_open_v2( - const void *filename, /* Database filename (UTF-8) */ + const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ const char *zVfs /* Name of VFS module to use */ diff --git a/src/sqlite.h.in b/src/sqlite.h.in index 5e2ac6bc58..e0b3897ac5 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -30,7 +30,7 @@ ** the version number) and changes its name to "sqlite3.h" as ** part of the build process. ** -** @(#) $Id: sqlite.h.in,v 1.249 2007/08/30 14:49:58 danielk1977 Exp $ +** @(#) $Id: sqlite.h.in,v 1.250 2007/08/30 16:23:19 drh Exp $ */ #ifndef _SQLITE3_H_ #define _SQLITE3_H_ @@ -1387,7 +1387,7 @@ int sqlite3_open16( sqlite3 **ppDb /* OUT: SQLite db handle */ ); int sqlite3_open_v2( - const void *filename, /* Database filename (UTF-8) */ + const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ const char *zVfs /* Name of VFS module to use */ diff --git a/src/sqlite3ext.h b/src/sqlite3ext.h index 55520aeb5a..896a5c248f 100644 --- a/src/sqlite3ext.h +++ b/src/sqlite3ext.h @@ -15,7 +15,7 @@ ** as extensions by SQLite should #include this file instead of ** sqlite3.h. ** -** @(#) $Id: sqlite3ext.h,v 1.14 2007/08/22 20:18:22 drh Exp $ +** @(#) $Id: sqlite3ext.h,v 1.15 2007/08/30 16:23:19 drh Exp $ */ #ifndef _SQLITE3EXT_H_ #define _SQLITE3EXT_H_ @@ -149,11 +149,33 @@ struct sqlite3_api_routines { const void * (*value_text16le)(sqlite3_value*); int (*value_type)(sqlite3_value*); char *(*vmprintf)(const char*,va_list); + /* Added ??? */ int (*overload_function)(sqlite3*, const char *zFuncName, int nArg); + /* Added by 3.3.13 */ int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); 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 *)); + /* 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_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*)); + sqlite3_int64 (*memory_highwater)(int); + sqlite3_int64 (*memory_used)(void); + 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*); }; /* @@ -290,6 +312,24 @@ struct sqlite3_api_routines { #define sqlite3_prepare_v2 sqlite3_api->prepare_v2 #define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2 #define sqlite3_clear_bindings sqlite3_api->clear_bindings +#define sqlite3_bind_zeroblob sqlite3_api->bind_zeroblob +#define sqlite3_blob_bytes sqlite3_api->blob_bytes +#define sqlite3_blob_close sqlite3_api->blob_close +#define sqlite3_blob_open sqlite3_api->blob_open +#define sqlite3_blob_read sqlite3_api->blob_read +#define sqlite3_blob_write sqlite3_api->blob_write +#define sqlite3_create_collation_v2 sqlite3_api->create_collation_v2 +#define sqlite3_memory_highwater sqlite3_api->memory_highwater +#define sqlite3_memory_used sqlite3_api->memory_used +#define sqlite3_open_v2 sqlite3_api->open_v2 +#define sqlite3_release_memory sqlite3_api->release_memory +#define sqlite3_result_error_nomem sqlite3_api->result_error_nomem +#define sqlite3_result_error_toobig sqlite3_api->result_error_toobig +#define sqlite3_sleep sqlite3_api->sleep +#define sqlite3_soft_heap_limit sqlite3_api->soft_heap_limit +#define sqlite3_vfs_find sqlite3_api->vfs_find +#define sqlite3_vfs_register sqlite3_api->vfs_register +#define sqlite3_vfs_unregister sqlite3_api->vfs_unregister #endif /* SQLITE_CORE */ #define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api; diff --git a/tool/mksqlite3c.tcl b/tool/mksqlite3c.tcl index a293db728f..e9dd756f86 100644 --- a/tool/mksqlite3c.tcl +++ b/tool/mksqlite3c.tcl @@ -89,6 +89,7 @@ foreach hdr { btreeInt.h hash.h keywordhash.h + mutex.h opcodes.h os_common.h os.h