From: drh Date: Thu, 10 Sep 2015 20:40:21 +0000 (+0000) Subject: Make the sqlite3_value_subtype() and sqlite3_result_subtype() interfaces X-Git-Tag: version-3.9.0~120^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cf94f179647fd7573f58ad40bbf5603a77035a73;p=thirdparty%2Fsqlite.git Make the sqlite3_value_subtype() and sqlite3_result_subtype() interfaces available to loadable extensions. FossilOrigin-Name: c6fca0be11f7414292279e2ea1b004260e6f4bb6 --- diff --git a/manifest b/manifest index 1d742f0ff3..285e65a2cd 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Experimental\simplementation\sof\ssqlite3_result_subtype()\sand\nsqlite3_value_subtype()\sinterfaces. -D 2015-09-10T20:34:56.434 +C Make\sthe\ssqlite3_value_subtype()\sand\ssqlite3_result_subtype()\sinterfaces\navailable\sto\sloadable\sextensions. +D 2015-09-10T20:40:21.038 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in f85066ce844a28b671aaeeff320921cd0ce36239 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -304,7 +304,7 @@ F src/insert.c 076dc5876e261a9908603d54cfc5344cd680166c F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e F src/lempar.c d344a95d60c24e2f490ee59db9784b1b17439012 -F src/loadext.c dfcee8c7c032cd0fd55af3e0fc1fcfb01e426df2 +F src/loadext.c f0b66d28e377fd6c6d36cc9d92df1ff251ebee44 F src/main.c e17fcffae4306a9b8334faf3bac80d7396850b54 F src/malloc.c 3a37ce6979a40f499d8cea9e9ab4e8517854d35d F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 @@ -344,7 +344,7 @@ F src/select.c c17613385bc6b095c421b1f30548814f5fd8a9b2 F src/shell.c 6332ef06db1390ef812cfdff1fc97b4fd76cdd42 F src/sqlite.h.in 65ff1449e8c181da9ec752e8304e0a1efffaf47f F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad -F src/sqlite3ext.h 5088f0b63491677da848c0d07d5711781302d362 +F src/sqlite3ext.h 64350bf36833a56ad675e27392a913f417c5c308 F src/sqliteInt.h 788dc0ea7ba32ec9fec06c628c1792d7b4753d86 F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46 F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179 @@ -1386,10 +1386,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P f5580f08538636ffb1367e717a33756288ccddde -R a16668bbab7e8bb266cf503c6d51d6a9 -T *branch * subtypes -T *sym-subtypes * -T -sym-trunk * +P 7b5be299c617a3d3ed327ed30ef0a66a62c85b1f +R 3b51d146c21b59a26b4bd6730fa2e17a U drh -Z 5917071f863dd81d33499ad8df67eb85 +Z 3c2729e75edd6da9e7ec99089fe2f222 diff --git a/manifest.uuid b/manifest.uuid index 4537efc0d6..d8c4b3eba0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7b5be299c617a3d3ed327ed30ef0a66a62c85b1f \ No newline at end of file +c6fca0be11f7414292279e2ea1b004260e6f4bb6 \ No newline at end of file diff --git a/src/loadext.c b/src/loadext.c index 1d398c54ce..b4b981e548 100644 --- a/src/loadext.c +++ b/src/loadext.c @@ -407,7 +407,10 @@ static const sqlite3_api_routines sqlite3Apis = { (sqlite3_value*(*)(const sqlite3_value*))sqlite3_value_dup, sqlite3_value_free, sqlite3_result_zeroblob64, - sqlite3_bind_zeroblob64 + sqlite3_bind_zeroblob64, + /* Version 3.8.12 and later */ + sqlite3_value_subtype, + sqlite3_result_subtype }; /* diff --git a/src/sqlite3ext.h b/src/sqlite3ext.h index 9c01241a12..9b9f610e93 100644 --- a/src/sqlite3ext.h +++ b/src/sqlite3ext.h @@ -272,6 +272,9 @@ struct sqlite3_api_routines { void (*value_free)(sqlite3_value*); int (*result_zeroblob64)(sqlite3_context*,sqlite3_uint64); int (*bind_zeroblob64)(sqlite3_stmt*, int, sqlite3_uint64); + /* Version 3.8.12 and later */ + unsigned int (*value_subtype)(sqlite3_value*); + void (*result_subtype)(sqlite3_context*,unsigned int); }; /* @@ -508,6 +511,9 @@ struct sqlite3_api_routines { #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.8.12 and later */ +#define sqlite3_value_subtype sqlite3_api->value_subtype +#define sqlite3_result_subtype sqlite3_api->result_subtype #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)