]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the three new pointer interfaces to the loadable extension mechanism.
authordrh <drh@noemail.net>
Thu, 13 Jul 2017 17:54:12 +0000 (17:54 +0000)
committerdrh <drh@noemail.net>
Thu, 13 Jul 2017 17:54:12 +0000 (17:54 +0000)
Update sqlite3_value_subtype() documentation to remove the statement about
it not being used internally.

FossilOrigin-Name: e5a518038fcb23376d2b17d4d70648320bc5540c5bd8b164201044ebe1ce45c5

manifest
manifest.uuid
src/loadext.c
src/sqlite.h.in
src/sqlite3ext.h

index cb473d27b60b22040844705f9623dbf944b1006b..8740c2c081760145f6e0cdc9d2f385c45010e3b1 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Update\sthe\sFTS3\sextension\sto\suse\ssqlite3_result_pointer()\sand\nsqlite3_value_pointer()\sfor\spassing\sFTS3\scursor\sobjects\sfrom\sthe\stable\ninto\sfunctions\ssuch\sas\ssnippet().
-D 2017-07-13T17:48:14.032
+C Add\sthe\sthree\snew\spointer\sinterfaces\sto\sthe\sloadable\sextension\smechanism.\nUpdate\ssqlite3_value_subtype()\sdocumentation\sto\sremove\sthe\sstatement\sabout\nit\snot\sbeing\sused\sinternally.
+D 2017-07-13T17:54:12.238
 F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 20850e3e8d4d4791e0531955852d768eb06f24138214870d543abb1a47346fba
@@ -413,7 +413,7 @@ F src/hwtime.h 747c1bbe9df21a92e9c50f3bbec1de841dc5e5da
 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
 F src/insert.c bb70abf32c7c926745eb550938db9132309584a667a44c2db0e5fa3207600391
 F src/legacy.c 134ab3e3fae00a0f67a5187981d6935b24b337bcf0f4b3e5c9fa5763da95bf4e
-F src/loadext.c 15e458a122bccef49850cc1d6b69802040ea3f9022e564a125faf599354fe050
+F src/loadext.c 20865b183bb8a3723d59cf1efffc3c50217eb452c1021d077b908c94da26b0b2
 F src/main.c 20574bb9a0d7911efcd659ac252f2126dc4e3308bed3c8764ea3fb5a00f70420
 F src/malloc.c e20bb2b48abec52d3faf01cce12e8b4f95973755fafec98d45162dfdab111978
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
@@ -452,9 +452,9 @@ F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
 F src/select.c 95659b7990e390f9bd8dc30b8975c675fcd1d46e569bc4f5a14e22a8d03e3d14
 F src/shell.c 0401a716fc5343594b8ee60ce065d9a71373d3403f0b81f9fed684741e6401d1
 F src/shell.c.in 98bfdeeb0808418b37f59e6d380568a76e0733efe2494377096f434b39940cad
-F src/sqlite.h.in e8193d6157ba10f6b78a447b41c2ccec431ac8fceb1308cac773829adc791d8a
+F src/sqlite.h.in 77f4bee882ad4999bf04cf011e1c4cd7f1c6488e290764f3fb46833810447c5d
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
-F src/sqlite3ext.h 5539ec41f3d81890d626d5a845b08c82bd0e946ddc5c1c341144b700bc56101e
+F src/sqlite3ext.h 635712b4108d3ac526a4821d646e9f40f831277ecdb004e73b31f00f3f413493
 F src/sqliteInt.h 0ba730cdc8afa723a5642380712f8bb33abd6a69218571c18b94acf3562de22a
 F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b
 F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
@@ -1631,7 +1631,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P a54be6e041a9185787a22b86603dcb0654e5e4af71225b556d1b6279f8520ad8
-R 06f4e52cc42a344de01e760ac4095fb4
+P 0fa2e170e5e078d155c98b212ade36bd8424502ae07f2d82ebf77a76f57586ba
+R 138dbbf6db8f3af3b160229e048b5334
 U drh
-Z 339b64dea01a24343c82d73c9da8b215
+Z a38953a262acd0f45b83dd587cf33d77
index 05788fb77c175f745a96c621ef5894e3e47a1efc..48644235253fbab92816286259ef314136e38b99 100644 (file)
@@ -1 +1 @@
-0fa2e170e5e078d155c98b212ade36bd8424502ae07f2d82ebf77a76f57586ba
\ No newline at end of file
+e5a518038fcb23376d2b17d4d70648320bc5540c5bd8b164201044ebe1ce45c5
\ No newline at end of file
index b1f1b03e35a5ea886f043c6b3f05c43f54514592..67514259369f0efa0211c358d8621fe53b36d0ce 100644 (file)
@@ -427,7 +427,10 @@ static const sqlite3_api_routines sqlite3Apis = {
   sqlite3_set_last_insert_rowid,
   /* Version 3.20.0 and later */
   sqlite3_prepare_v3,
-  sqlite3_prepare16_v3
+  sqlite3_prepare16_v3,
+  sqlite3_bind_pointer,
+  sqlite3_result_pointer,
+  sqlite3_value_pointer
 };
 
 /*
index 3b6c8eb997a7991c801d784f5c3e3b82e35383df..5b1bc98567af45927a3029d3d1f7f06943854c5f 100644 (file)
@@ -4810,10 +4810,6 @@ int sqlite3_value_numeric_type(sqlite3_value*);
 ** information can be used to pass a limited amount of context from
 ** one SQL function to another.  Use the [sqlite3_result_subtype()]
 ** routine to set the subtype for the return value of an SQL function.
-**
-** SQLite makes no use of subtype itself.  It merely passes the subtype
-** from the result of one [application-defined SQL function] into the
-** input of another.
 */
 unsigned int sqlite3_value_subtype(sqlite3_value*);
 
index 06b5e5b71c51d15d4a7bb0800d4505fefb2d22c2..e866a6eb64666d43bcc9f86c5305baae69cc26c6 100644 (file)
@@ -289,6 +289,9 @@ struct sqlite3_api_routines {
                     sqlite3_stmt**,const char**);
   int (*prepare16_v3)(sqlite3*,const void*,int,unsigned int,
                       sqlite3_stmt**,const void**);
+  int (*bind_pointer)(sqlite3_stmt*,int,void*);
+  int (*result_pointer)(sqlite3_context*,void*);
+  void *(*value_pointer)(sqlite3_value*);
 };
 
 /*
@@ -552,6 +555,9 @@ typedef int (*sqlite3_loadext_entry)(
 /* Version 3.20.0 and later */
 #define sqlite3_prepare_v3             sqlite3_api->prepare_v3
 #define sqlite3_prepare16_v3           sqlite3_api->prepare16_v3
+#define sqlite3_bind_pointer           sqlite3_api->bind_pointer
+#define sqlite3_result_pointer         sqlite3_api->result_pointer
+#define sqlite3_value_pointer          sqlite3_api->value_pointer
 #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
 
 #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)