]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make the latest interfaces usable by loadable extensions. (CVS 4343)
authordrh <drh@noemail.net>
Thu, 30 Aug 2007 16:23:19 +0000 (16:23 +0000)
committerdrh <drh@noemail.net>
Thu, 30 Aug 2007 16:23:19 +0000 (16:23 +0000)
FossilOrigin-Name: e9b2700b8c30b0255c9e33419ff18bdebb78087a

manifest
manifest.uuid
src/loadext.c
src/main.c
src/sqlite.h.in
src/sqlite3ext.h
tool/mksqlite3c.tcl

index 3008355ef5e857b139a2baa815f349026f99ec2f..40475e34007ce7151192ce5b032d53630fb74809 100644 (file)
--- 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
index 600e597135cdbdbe7c2778a06b23b530b0afa61c..37cd036beab370d26ed3b96f91a9a97f918252cf 100644 (file)
@@ -1 +1 @@
-e30546504c59c7d92d83a32d9b7e83edc175e247
\ No newline at end of file
+e9b2700b8c30b0255c9e33419ff18bdebb78087a
\ No newline at end of file
index 7d2340cf70ded2a5e356ea29b0d7c6d487aa78df..ec59b91f9688b6700e0cab6fb8d370c47ec42d6f 100644 (file)
@@ -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,
 };
 
 /*
index 4054e2fc8a23426bd6f413c2ebd55125ddfa40e7..dc462aa257383b981cfb3b5e07325461346093af 100644 (file)
@@ -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 <ctype.h>
@@ -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 */
index 5e2ac6bc58065c72117756c7030dbb7f74ddc2d8..e0b3897ac52b8c44417f1fa8da065ce0a41f22aa 100644 (file)
@@ -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 */
index 55520aeb5a13b5e023939f94990347c5c260cf76..896a5c248f57d49ff9979a6307ffaac1268d6fd5 100644 (file)
@@ -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;
index a293db728f84f6460bc9f7908dd1a80fc9c1e58b..e9dd756f86c81b58cd91dc893ebb69b95441c734 100644 (file)
@@ -89,6 +89,7 @@ foreach hdr {
    btreeInt.h
    hash.h
    keywordhash.h
+   mutex.h
    opcodes.h
    os_common.h
    os.h