]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Futher documentation refinements.
authordrh <>
Thu, 9 Nov 2023 16:52:44 +0000 (16:52 +0000)
committerdrh <>
Thu, 9 Nov 2023 16:52:44 +0000 (16:52 +0000)
FossilOrigin-Name: 311c2eba93097bbecfa286bbeaff9bd6fc75a238e20cd2b6f834e594032d8c59

manifest
manifest.uuid
src/sqlite.h.in

index 23f1a35a4e8a23157b132c30a118971c3380d3bd..f7930ccff907faef33c9296902d114cf875cbe54 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fixes:\s\s(1)\sIn\sthe\s->>\sfunction,\sinstead\sof\ssetting\sa\ssubtype\sand\sclearing\sit,\ndo\snot\sset\sit\sin\sthe\sfirst\splace,\sas\sdoing\sthe\sset\swould\strigger\san\serror\nunder\sSQLITE_STRICT_SUBTYPE.\s\s(2)\sAllow\sthe\sSQLITE_STRICT_SUBTYPE\sthrough\nthe\sproperty\sfilter\son\ssqlite3_create_function().
-D 2023-11-09T15:01:56.971
+C Futher\sdocumentation\srefinements.
+D 2023-11-09T16:52:44.766
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -726,7 +726,7 @@ F src/resolve.c d017bad7ba8e778617701a0e986fdeb393d67d6afa84fb28ef4e8b8ad2acf916
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 F src/select.c a19daa26e95f7245106a31f288b2f50c72d1f2cc156703f04c8c91450e111515
 F src/shell.c.in 7312c571ebf518fc8927bbb5aeb4fa67e5b0dfb2adae4258dcd1ccae42c11e1f
-F src/sqlite.h.in b6eac8ba5956af95269875a27273ab4c318d16ce4143f1d944962defce9accc6
+F src/sqlite.h.in 4f841d3d117b830ee5ee45e8d89ceff1195f3ebb72d041ace8d116ba4c103b35
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
 F src/sqliteInt.h cd171cba32c7a553e7623fbd82b68b36a1b6c81079ab963260777ea9b3abe4d9
@@ -2139,8 +2139,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P e98a9a65dd309f72c240e280c7bebabc58af664fae9ee0d30c3fa1c78db5bae9
-R e019c72939d4c624411f804ee942841e
+P 6195468b14f6f17ea072cf191c9ef1bd0713acd314bc6dc128be7322bfd612cc
+R d70a69270dd45a660decb50b1e7c2d52
 U drh
-Z 80a4b0d4e614ee4844ff727ed0551cab
+Z 8b58d9d66b776c4e0e8bd09f1958be56
 # Remove this line to create a well-formed Fossil manifest.
index d8dd13b10762c3e7bbe5efe98ae46e569871e5ac..5faebb1c2daddb9ee3d5baf3f6a7ca3fcea7ef42 100644 (file)
@@ -1 +1 @@
-6195468b14f6f17ea072cf191c9ef1bd0713acd314bc6dc128be7322bfd612cc
\ No newline at end of file
+311c2eba93097bbecfa286bbeaff9bd6fc75a238e20cd2b6f834e594032d8c59
\ No newline at end of file
index 0932a2cb25e76f43dc9961b8eb0f866c98484fa1..53c037c3bae6cf4f632b5138e56a101fb37919e1 100644 (file)
@@ -5573,11 +5573,15 @@ int sqlite3_create_window_function(
 ** </dd>
 **
 ** [[SQLITE_SUBTYPE]] <dt>SQLITE_SUBTYPE</dt><dd>
-** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call
+** The SQLITE_SUBTYPE flag indicates to SQLite that a function might call
 ** [sqlite3_value_subtype()] to inspect the sub-types of its arguments.
-** Every function that invokes [sqlite3_value_subtype()] should have this
-** property.  If it does not, then the query planner might generate
-** incorrect code for queries that use that function.
+** This flag instructs SQLite to omit some corner-case optimizations that
+** might disrupt the operation of the [sqlite3_value_subtype()] function,
+** causing it to return zero rather than the correct subtype().
+** SQL functions that invokes [sqlite3_value_subtype()] should have this
+** property.  If the SQLITE_SUBTYPE property is omitted, then the return
+** value from [sqlite3_value_subtype()] might sometimes be zero even though
+** a non-zero subtype was specified by the function argument expression.
 **
 ** [[SQLITE_RESULT_SUBTYPE]] <dt>SQLITE_RESULT_SUBTYPE</dt><dd>
 ** The SQLITE_RESULT_SUBTYPE flag indicates to SQLite that a function might call
@@ -5796,11 +5800,10 @@ int sqlite3_value_encoding(sqlite3_value*);
 ** routine to set the subtype for the return value of an SQL function.
 **
 ** Every [application-defined SQL function] that invoke this interface
-** <i>must</i> include the [SQLITE_SUBTYPE] property in the text
+** should include the [SQLITE_SUBTYPE] property in the text
 ** encoding argument when the function is [sqlite3_create_function|registered].
-** The sqlite3_value_subtype() can return an incorrect answer if it
-** is invoked from within an application-defined SQL function that does
-** not have the [SQLITE_SUBTYPE] property.
+** If the [SQLITE_SUBTYPE] property is omitted, then sqlite3_value_subtype()
+** might return zero instead of the upstream subtype in some corner cases.
 */
 unsigned int sqlite3_value_subtype(sqlite3_value*);
 
@@ -6222,12 +6225,12 @@ int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);
 ** in future releases of SQLite.
 **
 ** Every [application-defined SQL function] that invokes this interface
-** <i>must</i> include the [SQLITE_RESULT_SUBTYPE] property in its
+** should include the [SQLITE_RESULT_SUBTYPE] property in its
 ** text encoding argument when the SQL function is
-** [sqlite3_create_function|registered].  If the sqlite3_result_subtype()
-** interface is invoked within an SQL function that does not have the
-** SQLITE_RESULT_SUBTYPE property, then sqlite3_result_subtype()
-** might fail to set the result subtype.
+** [sqlite3_create_function|registered].  If the [SQLITE_RESULT_SUBTYPE]
+** property is omitted from the function that invokes sqlite3_result_subtype(),
+** then in some cases the sqlite3_result_subtype() might fail to set
+** the result subtype.
 **
 ** If SQLite is compiled with -DSQLITE_STRICT_SUBTYPE=1, then any
 ** SQL function that invokes the sqlite3_result_subtype() interface