From: drh Date: Thu, 29 Mar 2007 18:46:00 +0000 (+0000) Subject: Add the sqlite3_clear_bindings() API to the loadable extension interface. X-Git-Tag: version-3.6.10~2418 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a92993ca1387098607d6129f28f6e5b658e6767b;p=thirdparty%2Fsqlite.git Add the sqlite3_clear_bindings() API to the loadable extension interface. Ticket #2135. (CVS 3752) FossilOrigin-Name: 3111b43ec333f3342f9609bf441160040f3d1501 --- diff --git a/manifest b/manifest index 9e410e6d7c..3e0b667f0f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Buffer\supdates\sper-transaction\srather\sthan\sper-update.\s\sIf\slots\sof\nupdates\shappen\swithin\sa\ssingle\stransaction,\sthere\swas\sa\slot\sof\swasted\nencode/decode\soverhead\sdue\sto\ssegment\smerges.\s\sThis\scode\sbuffers\nupdates\sin\smemory\sand\swrites\sout\slarger\slevel-0\ssegments.\s\sIt\sonly\nworks\swhen\sdocuments\sare\spresented\sin\sascending\sorder\sby\sdocid.\nComparing\sa\stest\sset\srunning\s100\sdocuments\sper\stransaction,\sthe\stotal\nruntime\sis\scut\salmost\sin\shalf.\s(CVS\s3751) -D 2007-03-29T18:41:04 +C Add\sthe\ssqlite3_clear_bindings()\sAPI\sto\sthe\sloadable\sextension\sinterface.\nTicket\s#2135.\s(CVS\s3752) +D 2007-03-29T18:46:01 F Makefile.in 2f2c3bf69faf0ae7b8e8af4f94f1986849034530 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -72,7 +72,7 @@ F src/hash.c 449f3d6620193aa557f5d86cbc5cc6b87702b185 F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564 F src/insert.c aa61e77807becb8b6c3ffcf53be98d20b0e6f107 F src/legacy.c 2631df6a861f830d6b1c0fe92b9fdd745b2c0cd6 -F src/loadext.c c186ad5c9e8a0aaa73d0caf5f604d112e45e8b89 +F src/loadext.c 146fb9b9dc6133e763888d710205c32ebf8eeca2 F src/main.c 3ca92e8f2397da413c39f5a102e5675f5c5fa78a F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217 F src/os.c 5a194b9b9a10dc66543d4ca22bc0db40c5cc5ef1 @@ -97,7 +97,7 @@ F src/select.c 30af458c6a0a4a283c67b56c70ff0712b67d42ae F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96 F src/shell.c 3ae4654560e91220a95738a73d135d91d937cda1 F src/sqlite.h.in 02d1159bc8f7387008df9766c79038fce8a9d3a7 -F src/sqlite3ext.h 832e13de075d920e2c76584e2b7af1054bb212df +F src/sqlite3ext.h 7d0d363ea7327e817ef0dfe1b7eee1f171b72890 F src/sqliteInt.h c8d0e5ce27a862836de70fc3eadc1e65cea7e3d8 F src/table.c 6d0da66dde26ee75614ed8f584a1996467088d06 F src/tclsqlite.c a8d1166319db5d505b25ac6a9820162afe63fc8a @@ -447,7 +447,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 0fb9af1d6e20bf25511c6d2097937cc11137776e -R d919a3e5d99f3240c3cbaae5d6308d75 -U shess -Z 095670ff47cc53d2ea62c92ebf93d308 +P 0229cba69698ab4b44f8583ef50a87c49422f8ec +R 0602cf32177054f5c95ce51ab6e483d7 +U drh +Z 95f3027619ab780219cc0e5271954b20 diff --git a/manifest.uuid b/manifest.uuid index 4c6986802d..3b882c17d8 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0229cba69698ab4b44f8583ef50a87c49422f8ec \ No newline at end of file +3111b43ec333f3342f9609bf441160040f3d1501 \ No newline at end of file diff --git a/src/loadext.c b/src/loadext.c index 0a8dc6dae9..dc4dc7e28e 100644 --- a/src/loadext.c +++ b/src/loadext.c @@ -235,6 +235,7 @@ const sqlite3_api_routines sqlite3_apis = { */ sqlite3_prepare_v2, sqlite3_prepare16_v2, + sqlite3_clear_bindings, }; /* diff --git a/src/sqlite3ext.h b/src/sqlite3ext.h index da1812d884..0d70e64d75 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.9 2007/03/25 19:08:47 drh Exp $ +** @(#) $Id: sqlite3ext.h,v 1.10 2007/03/29 18:46:01 drh Exp $ */ #ifndef _SQLITE3EXT_H_ #define _SQLITE3EXT_H_ @@ -142,10 +142,11 @@ struct sqlite3_api_routines { const void * (*value_text16be)(sqlite3_value*); const void * (*value_text16le)(sqlite3_value*); int (*value_type)(sqlite3_value*); - char * (*vmprintf)(const char*,va_list); + char *(*vmprintf)(const char*,va_list); int (*overload_function)(sqlite3*, const char *zFuncName, int nArg); - int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); - int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); + 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*); }; /* @@ -278,6 +279,9 @@ struct sqlite3_api_routines { #define sqlite3_value_type sqlite3_api->value_type #define sqlite3_vmprintf sqlite3_api->vmprintf #define sqlite3_overload_function sqlite3_api->overload_function +#define sqlite3_prepare_v2 sqlite3_api->prepare_v2 +#define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2 +#define sqlite3_clear_bindings sqlite3_api->clear_bindings #endif /* SQLITE_CORE */ #define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api;