]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
21 months agoExtract directly from BLOB is now complete and appears to work. jsonb-direct-extract
drh [Thu, 28 Sep 2023 17:23:46 +0000 (17:23 +0000)] 
Extract directly from BLOB is now complete and appears to work.

FossilOrigin-Name: 3de58ec99444b16dfcda1e226420e2343450b77abd3faf33a88b6d18339ef17c

21 months agoMiscellaneous bugs fixed.
drh [Thu, 28 Sep 2023 17:07:43 +0000 (17:07 +0000)] 
Miscellaneous bugs fixed.

FossilOrigin-Name: 5c0815fa2e422d81198a43a2c04a022e319fcbcadfd4be4437f2e663892ca26b

21 months agoImprovements to json_extract() to better support JSONB. Still not 100% working.
drh [Thu, 28 Sep 2023 15:56:35 +0000 (15:56 +0000)] 
Improvements to json_extract() to better support JSONB. Still not 100% working.

FossilOrigin-Name: 8c82576176539c4d132b14d46adbf31366c4bcaa59a61dd639dc9cc308fe8825

21 months agoWork toward getting json_extract() to operate directly on the BLOB, omitting
drh [Thu, 28 Sep 2023 10:20:56 +0000 (10:20 +0000)] 
Work toward getting json_extract() to operate directly on the BLOB, omitting
the translation into a JsonNode array.

FossilOrigin-Name: c1feba70f55a8e5f4696d48e4706855415d173ac8ac3c2656787c242a883b4f5

21 months agoPerformance tests for JSONB added.
drh [Wed, 27 Sep 2023 16:55:13 +0000 (16:55 +0000)] 
Performance tests for JSONB added.

FossilOrigin-Name: 7c1be8e361db87458ac9d8fcee080c2b558936539c852bb80f0f7941d61bf15d

21 months agoMerge partial-index constant value fixes from trunk into the jsonb branch.
drh [Tue, 26 Sep 2023 19:46:38 +0000 (19:46 +0000)] 
Merge partial-index constant value fixes from trunk into the jsonb branch.

FossilOrigin-Name: 700bdbd7383f66a0da675c197204da4e7b6ed757155145ee98d572de32a5d0ae

21 months agoFix yet another assert() in the partial-index constant value optimization.
drh [Tue, 26 Sep 2023 19:38:24 +0000 (19:38 +0000)] 
Fix yet another assert() in the partial-index constant value optimization.

FossilOrigin-Name: f459d0806cf044fd07743e4c91d0a5a6ddf45b3b41004bde4278f190d99a4cf5

21 months agoAdd in many jsonb_xxxx() interfaces. Still uses the internal JsonNode
drh [Tue, 26 Sep 2023 19:30:46 +0000 (19:30 +0000)] 
Add in many jsonb_xxxx() interfaces.  Still uses the internal JsonNode
representation for transformations and search, but it does at least conform
to the desired API design.  Largely untested.

FossilOrigin-Name: e6045b4e1bf3a8e33926fc12b3c039f5e1002eaecbe277ffa82b0ec271a29d17

21 months agoRemove a NEVER() from a condition in the partial-index constant value optimization...
dan [Tue, 26 Sep 2023 19:26:47 +0000 (19:26 +0000)] 
Remove a NEVER() from a condition in the partial-index constant value optimization that can sometimes be true.

FossilOrigin-Name: 63aea8c3e0605edcf49ad1e5ce1a56d2690dcb8c4857043997545daab46ca035

21 months agoMerge all the latest trunk enhancements into jsonb branch.
drh [Tue, 26 Sep 2023 15:13:04 +0000 (15:13 +0000)] 
Merge all the latest trunk enhancements into jsonb branch.

FossilOrigin-Name: ac242c4d47ec36aab1c2fa5e65e7b595e686f49473b75bd63708d05c59ce3f0f

21 months agoRemove unreachable code from the partial-index constant value optimization
drh [Tue, 26 Sep 2023 14:57:30 +0000 (14:57 +0000)] 
Remove unreachable code from the partial-index constant value optimization
([8d4160910d651246]).

FossilOrigin-Name: 7ad38254c37153efa72291d09800693ca60894359548eda877d59defa8c70d49

21 months agoRemove some outdated JNI docs.
stephan [Tue, 26 Sep 2023 09:46:04 +0000 (09:46 +0000)] 
Remove some outdated JNI docs.

FossilOrigin-Name: 2ca5cbbb2a8ee94fe9f4888dea695a4429aefa17611fd9ebe59bf4866290ab0c

21 months agoMinor JNI doc updates. No code changes.
stephan [Tue, 26 Sep 2023 07:43:51 +0000 (07:43 +0000)] 
Minor JNI doc updates. No code changes.

FossilOrigin-Name: 63687cc659f06a1f6aa9d4496ef01d9f0adbee6184b8e265fb8feec1ad30449b

21 months agoIn partial index scans, if the WHERE clause implies a constant value for a table...
dan [Mon, 25 Sep 2023 17:46:02 +0000 (17:46 +0000)] 
In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index.

FossilOrigin-Name: 8d4160910d6512469cb0a060b89c2509dde1c8e33d9358034d7fb39cd494eabe

21 months agoAnother very minor tweak to code on this branch to save cycles. partial-index-terms
dan [Mon, 25 Sep 2023 17:21:53 +0000 (17:21 +0000)] 
Another very minor tweak to code on this branch to save cycles.

FossilOrigin-Name: 2c805dc68112db7f06aea56a731a33e046e876851bdda3e725ba96f6da1bf2ee

21 months agoWhen parsing JSON text into the BLOB format, only use node type JSONB_TEXTJ
drh [Mon, 25 Sep 2023 17:14:17 +0000 (17:14 +0000)] 
When parsing JSON text into the BLOB format, only use node type JSONB_TEXTJ
for an unquoted object label if the object label contains escape sequences.

FossilOrigin-Name: a82ebbac3c542ec7f86d1e8414d7fd166db48450115ee3b26d12b5bb445f5896

21 months agoChange the order of an if..else... in new code to make it slightly faster.
dan [Mon, 25 Sep 2023 15:25:49 +0000 (15:25 +0000)] 
Change the order of an if..else... in new code to make it slightly faster.

FossilOrigin-Name: f80dc64483a54a488e507da140836261ae1b864577cc95d8e869919d5a25e73c

21 months agoEnable -Wall for the compiler on --enable-debug builds.
drh [Mon, 25 Sep 2023 14:20:07 +0000 (14:20 +0000)] 
Enable -Wall for the compiler on --enable-debug builds.

FossilOrigin-Name: 63a7b521390001939909d43d908af78f7df7cb92272d2b74f038da918c2bef05

21 months agoAs a temporary measure, try to translate the BLOB JSON format into the
drh [Mon, 25 Sep 2023 13:23:29 +0000 (13:23 +0000)] 
As a temporary measure, try to translate the BLOB JSON format into the
legacy node format for processing.

FossilOrigin-Name: 14f2e95a9e531ef0d3fa7f1249f23c073a50c31b2109eefc2f258cada635ac2f

21 months agoFix a bad interaction between LEFT JOIN, bloom filters and partial indexes.
dan [Mon, 25 Sep 2023 11:12:39 +0000 (11:12 +0000)] 
Fix a bad interaction between LEFT JOIN, bloom filters and partial indexes.

FossilOrigin-Name: 5775f92b31f0539c66d37e50689bec17a82c0e857a781331c03e34bc18157087

21 months agoResolve the JNI FTS5 test5() failure and remove some nearby dead code.
stephan [Sun, 24 Sep 2023 19:13:31 +0000 (19:13 +0000)] 
Resolve the JNI FTS5 test5() failure and remove some nearby dead code.

FossilOrigin-Name: 5655c51f103c6dfade799ffb5ca2eb21b4360ada598741f373c952ae732535aa

21 months agoAdd extra tests for changes on this branch.
dan [Sat, 23 Sep 2023 21:31:40 +0000 (21:31 +0000)] 
Add extra tests for changes on this branch.

FossilOrigin-Name: cb45f5b070cfdbb4358e8e909b0b34d658b5925db06e282b38046298a159c545

21 months agoAvoid an error when parsing a schema that contains indexes with WHERE clauses contain...
dan [Sat, 23 Sep 2023 19:25:03 +0000 (19:25 +0000)] 
Avoid an error when parsing a schema that contains indexes with WHERE clauses containing unknown collation sequences.

FossilOrigin-Name: d5dd39e37ab994ce5d75688a40c6494c17807431529e85eb2b11d58f367fe232

21 months agoFix a failing assert() caused by changes on this branch.
dan [Sat, 23 Sep 2023 18:52:22 +0000 (18:52 +0000)] 
Fix a failing assert() caused by changes on this branch.

FossilOrigin-Name: d0e21f20bd8643d21c4b88fb75b83939d68e9b7118f7289a164656f11d2ee555

21 months agoFix a harmless compiler warning.
drh [Sat, 23 Sep 2023 18:49:30 +0000 (18:49 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 7c4210253b660b385d14de3ae7ab30f038036308e1164ec17b40e2805b9b2235

21 months agoAdd extra tests for the fts5 xPhraseQuery API.
dan [Sat, 23 Sep 2023 15:34:02 +0000 (15:34 +0000)] 
Add extra tests for the fts5 xPhraseQuery API.

FossilOrigin-Name: b5edea16317ccc896394011f45442af44d5ea1041b6abfe152c90412c78bfc5b

21 months agoResolve the JNI FTS5 test5() crash, caused by two unrelated typos in JNI callback...
stephan [Sat, 23 Sep 2023 06:50:19 +0000 (06:50 +0000)] 
Resolve the JNI FTS5 test5() crash, caused by two unrelated typos in JNI callback signature strings. That test now fails with an expected-vs-got mismatch but no longer dies in the native code.

FossilOrigin-Name: 0233f310bf6bbb84f76b25205af160951e0bf6d8b2f1bca4537384af4fe47e58

21 months agoRemove an invalid optimization from JNI code and add a missing check check for Java...
stephan [Sat, 23 Sep 2023 06:37:18 +0000 (06:37 +0000)] 
Remove an invalid optimization from JNI code and add a missing check check for Java-side exception.

FossilOrigin-Name: b8151f879718f7e30520f7e5ae04bd6724ae98af067be097b1a00df2175a038a

21 months agoIn partial index scans, if the WHERE clause implies a constant value for a table...
dan [Fri, 22 Sep 2023 20:21:27 +0000 (20:21 +0000)] 
In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index.

FossilOrigin-Name: 66ed7abdfa228abde2052e3988589371f0e49b11582b1b4a83255d2df3a0aefa

21 months agoFix minor parse-to-BLOB bugs.
drh [Fri, 22 Sep 2023 16:20:48 +0000 (16:20 +0000)] 
Fix minor parse-to-BLOB bugs.

FossilOrigin-Name: 8b53b2e6600c324ff7864840d98a3f03896b9792fcb60b70cc1f6227b3bd4ca1

21 months agoAdd the ability to render a binary BLOB back into valid canonical JSON.
drh [Fri, 22 Sep 2023 14:33:39 +0000 (14:33 +0000)] 
Add the ability to render a binary BLOB back into valid canonical JSON.

FossilOrigin-Name: 0b70cb77a4c8e3f17932f1ecca3942e0b0b03de637fb9656a130fe045f7ef826

21 months agoBegin adding code to render binary JSON back into text. Very incomplete.
drh [Fri, 22 Sep 2023 12:16:56 +0000 (12:16 +0000)] 
Begin adding code to render binary JSON back into text.  Very incomplete.
This is an incremental check-in.

FossilOrigin-Name: b817dd865ed60fc4da0b662a9edec0fceb8921b02ce98133bdd565988939fd0f

21 months agoImprovements to the JSON binary BLOB format design.
drh [Fri, 22 Sep 2023 11:20:35 +0000 (11:20 +0000)] 
Improvements to the JSON binary BLOB format design.

FossilOrigin-Name: 2c89ae5d02f6a40ef869e2a162e2c72871df60572b27959fd1d7171f495ce881

21 months agoReorganize the code to put the new JSONB routines together, for easier editing.
drh [Thu, 21 Sep 2023 18:16:35 +0000 (18:16 +0000)] 
Reorganize the code to put the new JSONB routines together, for easier editing.

FossilOrigin-Name: dc23e783d4147d363856abe109586fc79a5b535b492beee0cf7a0234c0210667

21 months agoInitial development code for an experimental binary BLOB encoding for JSON.
drh [Thu, 21 Sep 2023 17:51:39 +0000 (17:51 +0000)] 
Initial development code for an experimental binary BLOB encoding for JSON.

FossilOrigin-Name: 8131b3c272f47db2618886046a9713285ce120cb87d721484ee7444273290681

21 months agoAdd extra tests for java Fts5ExtensionApi API.
dan [Mon, 18 Sep 2023 20:42:06 +0000 (20:42 +0000)] 
Add extra tests for java Fts5ExtensionApi API.

FossilOrigin-Name: f9d62b853ce8bfbfdc9f137e984e7a1b51d70e88c38b136b4fad1e8ae6ee8913

21 months agoExtra tests for java Fts5ExtensionApi interface.
dan [Mon, 18 Sep 2023 18:12:03 +0000 (18:12 +0000)] 
Extra tests for java Fts5ExtensionApi interface.

FossilOrigin-Name: c923893f3604b278277de1bb919ef713bf7a4296b7ff71451cfe19bc2ff03190

21 months agoRemove a NEVER() in btree.c that could actually be reached, with the approriate
drh [Sun, 17 Sep 2023 16:36:22 +0000 (16:36 +0000)] 
Remove a NEVER() in btree.c that could actually be reached, with the approriate
database corruption.

FossilOrigin-Name: d1fd00e0875f881cacdc581a75215ec1872a81969ac07b8ebe3aaa707a9a3640

21 months agoFix resolution of "rowid" and similar identifiers in queries that use nested joins.
dan [Sat, 16 Sep 2023 18:18:57 +0000 (18:18 +0000)] 
Fix resolution of "rowid" and similar identifiers in queries that use nested joins.

FossilOrigin-Name: 37ec43d92bde13efc71fa57ff5e59c4a95b9054c298f844aefeb06d4a91ad0d4

21 months agoEnable "OR IGNORE" support via SQLITE_VTAB_CONSTRAINT_SUPPORT for internal-content...
dan [Sat, 16 Sep 2023 17:11:44 +0000 (17:11 +0000)] 
Enable "OR IGNORE" support via SQLITE_VTAB_CONSTRAINT_SUPPORT for internal-content (not contentless or external-content) fts5 tables.

FossilOrigin-Name: c362bde4f4b8489947f080154d7fddcfd6e8e21d742a483c496fb7fbe59969d2

21 months agoAdd a NEVER() to an unreachable branch. nested-from-rowid-expansion
drh [Sat, 16 Sep 2023 16:39:27 +0000 (16:39 +0000)] 
Add a NEVER() to an unreachable branch.

FossilOrigin-Name: 6b6eb38979d68c06e382620c8813d6b67a3de02c4a7a029c84f924b9a2e380c6

21 months agoFix minor code indentation inconsistencies. No function changes.
drh [Sat, 16 Sep 2023 16:23:20 +0000 (16:23 +0000)] 
Fix minor code indentation inconsistencies.  No function changes.

FossilOrigin-Name: 05107a0ae1456b746d3119af68d39532fad23a7eef88c09a9ef46ab7f8da4b9d

21 months agoFix a harmless compiler warning.
drh [Sat, 16 Sep 2023 16:12:10 +0000 (16:12 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 9e9ff4ca3a205d0b599634782a5ad389fbe4823663550f48c54ca35dbc660dc7

21 months agoFurther tests and assert() statements for the change on this branch.
dan [Sat, 16 Sep 2023 14:42:18 +0000 (14:42 +0000)] 
Further tests and assert() statements for the change on this branch.

FossilOrigin-Name: 1c202d540ac362bfc747a9f8472e83c9d7614e38467f8b48787a669fb34664ba

21 months agoFix resolution of unqualified "rowid" identifiers in queries with nested joins.
dan [Fri, 15 Sep 2023 20:57:05 +0000 (20:57 +0000)] 
Fix resolution of unqualified "rowid" identifiers in queries with nested joins.

FossilOrigin-Name: bbcbd3d537d6790373d97f59386b8ce7fa2177db572af0f1babe058a76e25cc3

21 months agoSimplifications and performance optimizations for the RTree extension.
drh [Fri, 15 Sep 2023 20:28:27 +0000 (20:28 +0000)] 
Simplifications and performance optimizations for the RTree extension.

FossilOrigin-Name: 04a333f5faf6b90592f1f69889ac6c28949955e186f39037cd639480b06feae8

21 months agoDrop support for the view-scan optimization (check-in [609fbb94b8f01d67]) as
drh [Fri, 15 Sep 2023 19:51:18 +0000 (19:51 +0000)] 
Drop support for the view-scan optimization (check-in [609fbb94b8f01d67]) as
it was causing multiple performance regressions.  In its place, reduce the
estimated row count for DISTINCT subsqueries by a factor of 8.

FossilOrigin-Name: f911f1c4977fbcae041243955cf2b98d8cc8baa337885a69be0f2b9bd2efa6f3

21 months agoMinor simplification to the DISTINCT output row count change. rethink-viewscan
drh [Fri, 15 Sep 2023 19:27:36 +0000 (19:27 +0000)] 
Minor simplification to the DISTINCT output row count change.

FossilOrigin-Name: 0738386d7c505a98768ddaff7ff1fc76f115882d92d6f84bf136b4aa2caad8b8

21 months agoDo not reduce subquery output row count estimates due to DISTINCT until
drh [Fri, 15 Sep 2023 19:00:47 +0000 (19:00 +0000)] 
Do not reduce subquery output row count estimates due to DISTINCT until
after the decision of whether or not to use an index for ORDER BY has been
made.

FossilOrigin-Name: 27390051e86ad86fb35219329d359be9e83073f59782631af7fc519225e10565

21 months agoAllow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables...
dan [Fri, 15 Sep 2023 18:36:51 +0000 (18:36 +0000)] 
Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses.

FossilOrigin-Name: 59a1bbc69f5dbb33418fa4b383393fb13a46bc1e531577da8ad54ae2fad5a10e

21 months agoExperimental: Assume that a DISTINCT clause on a subquery reduces the number
drh [Fri, 15 Sep 2023 16:15:33 +0000 (16:15 +0000)] 
Experimental:  Assume that a DISTINCT clause on a subquery reduces the number
of rows returned by that subquery by a factor of 8.

FossilOrigin-Name: 5a940e47d501f23347eaf084f4820e064e93665d19c8938c80715b71006ede8b

21 months agoThe view-scan optimization was added to enhance the performance of one specific
drh [Fri, 15 Sep 2023 14:06:44 +0000 (14:06 +0000)] 
The view-scan optimization was added to enhance the performance of one specific
query, but it causes performance regressions on a host of others.  Disable it
(at least temporarily) in order to try to find an alternative way of fixing the
one specific query that it was created to fix - an alternative way that does
not cause performance problems for other unrelated queries.

FossilOrigin-Name: d9625a9eafe88859c3255849ee750cc6322d5a13ddad45107f9b2085c20eff50

21 months agoDo not try to convert a double into an unsigned 64-bit integer, as that does
drh [Fri, 15 Sep 2023 10:24:29 +0000 (10:24 +0000)] 
Do not try to convert a double into an unsigned 64-bit integer, as that does
not work on all platforms.  A double can only be converted into a signed
64-bit integer.

FossilOrigin-Name: ce339046416e9ddeffe77f71a8bfb8c5b302160c3207f919aebd62902618ed59

21 months agoTests for java versions of Fts5ExtensionApi.xSetAuxdata() and xGetAuxdata().
dan [Thu, 14 Sep 2023 20:56:42 +0000 (20:56 +0000)] 
Tests for java versions of Fts5ExtensionApi.xSetAuxdata() and xGetAuxdata().

FossilOrigin-Name: 858fa236f8b673eb03cf2242e8202cd33ae1f13a43b59bdbb2eecdb21d42ef55

21 months agoJNI: move XTokenizeCallback interface out of the Fts5 object - that level of indirect...
stephan [Thu, 14 Sep 2023 20:02:49 +0000 (20:02 +0000)] 
JNI: move XTokenizeCallback interface out of the Fts5 object - that level of indirection is a holdover from when those classes were in the core package.

FossilOrigin-Name: 385ec08570451c0be212677d1b681c13d225dc690965effa2293e64cb3d56023

21 months agoAdd a few more tests for Fts5ExtensionApi methods.
dan [Thu, 14 Sep 2023 20:01:18 +0000 (20:01 +0000)] 
Add a few more tests for Fts5ExtensionApi methods.

FossilOrigin-Name: 4ce2a7e8ed0f2859efc1038fd0812bc2b667be1479f45c081deccc2cf188c807

21 months agoAdd a test for the java version of Fts5ExtensionApi.xRowid().
dan [Thu, 14 Sep 2023 17:42:34 +0000 (17:42 +0000)] 
Add a test for the java version of Fts5ExtensionApi.xRowid().

FossilOrigin-Name: 227facf879d2ade348cdb51f5b50ba2f95b8621acc0cf7a5fed4a310b4c76baa

21 months agoAccording to [forum:/forumpost/9f6db917e1|forum post 9f6db917e1], older legacy-msvc-workaround
drh [Thu, 14 Sep 2023 16:45:46 +0000 (16:45 +0000)] 
According to [forum:/forumpost/9f6db917e1|forum post 9f6db917e1], older
MSVC compilers are unable to convert a double directly into an unsigned
long long int, but must first go through a signed long long int.  Work
around this by restricting the range of doubles that are converted into
long long integers so that only the lower 63 bits are used.

FossilOrigin-Name: 0ab05871ba36e2a0eddfbc700c1d39891c54c453727a4effcdac3327efec163b

21 months agoDocument the use of OPFLAG_ISNOOP as the P2 argument on OP_Delete. No
drh [Thu, 14 Sep 2023 16:02:56 +0000 (16:02 +0000)] 
Document the use of OPFLAG_ISNOOP as the P2 argument on OP_Delete.  No
functional code changes.

FossilOrigin-Name: d88f41b2cf2b721170d2428a50b717976091389d9a07d0ffa15c3323b0eaad37

21 months agoAvoid a segfault in test program showdb.c that could occur when analyzing a corrupt db.
dan [Thu, 14 Sep 2023 14:05:51 +0000 (14:05 +0000)] 
Avoid a segfault in test program showdb.c that could occur when analyzing a corrupt db.

FossilOrigin-Name: 6bf3e90687d48243544cc07baa01cb1b25ee0b77c59437f96c8da8e5d8b8095e

21 months agoImprove the sqlite3IntFloatCompare() routine so that it is testable.
drh [Thu, 14 Sep 2023 13:10:17 +0000 (13:10 +0000)] 
Improve the sqlite3IntFloatCompare() routine so that it is testable.

FossilOrigin-Name: bb221381fa38db5be1222d89c567a9bca0e6c441e26a8c797bd326b263556afb

21 months agoDo not set the global bUseLongDouble flag based purely on sizeof(long double)
drh [Thu, 14 Sep 2023 10:46:50 +0000 (10:46 +0000)] 
Do not set the global bUseLongDouble flag based purely on sizeof(long double)
being more than 8.  That is a necessary but not sufficient condition to use
the long double routines.  Instead, do a run-time test to verify that long
double really does provide extra precision.

FossilOrigin-Name: aa999d490b743f455f2fb6c41009098330380f0bc2e9b1c28fbc82141a9138ce

21 months agoReduce the number of calls to sqlite3_mprintf() made by RTree. rtree-performance
drh [Thu, 14 Sep 2023 01:46:57 +0000 (01:46 +0000)] 
Reduce the number of calls to sqlite3_mprintf() made by RTree.

FossilOrigin-Name: f158b7d4917e0951fbb86a6f438abcb618d8602566fa54bf04c05a37f3a73513

21 months agoJNI: enable the fts5-customization bits by default but elide them from the docs until...
stephan [Wed, 13 Sep 2023 21:32:20 +0000 (21:32 +0000)] 
JNI: enable the fts5-customization bits by default but elide them from the docs until it's clearer where they're headed. Unrelated minor doc tweaks.

FossilOrigin-Name: 21adb1aef24398fba918a5e1479ce2b6fd7e86d87eb9f2bea86a0eb43e8809c2

21 months agoImproved comments on the hasHighPrecisionDouble() routine. No changes to runtime-longdouble-test
drh [Wed, 13 Sep 2023 20:35:04 +0000 (20:35 +0000)] 
Improved comments on the hasHighPrecisionDouble() routine.  No changes to
the underlying code.

FossilOrigin-Name: 810c635ce063d873e969bf83339c654f6008e84ce8a61f0ffc61806e98d13dde

21 months agoDetermine at start time whether or not the underlying hardware supports
drh [Wed, 13 Sep 2023 20:06:46 +0000 (20:06 +0000)] 
Determine at start time whether or not the underlying hardware supports
high-precision long double computations.

FossilOrigin-Name: 9a854b919667e0e679a259542b2ee444ee416dbd73ecd9458f6ced35d9d3f264

21 months agoOmit the Reinsert algorithm from RTree. This causes most benchmarks to run
drh [Wed, 13 Sep 2023 17:30:12 +0000 (17:30 +0000)] 
Omit the Reinsert algorithm from RTree.  This causes most benchmarks to run
faster, at the expense of having a slightly less dense and hence larger index
(example: 33 entries/node versus 34 entries/node).

FossilOrigin-Name: b3049a1d3dbdd63c471499c2f6b417655defe9ad90228e7cc722f5be877aae01

21 months agoDoc corrections for the previous checkin.
stephan [Wed, 13 Sep 2023 17:16:25 +0000 (17:16 +0000)] 
Doc corrections for the previous checkin.

FossilOrigin-Name: 9ea0a9f39d03707d251af5af08d1ba94958704ba74019d7e8823ccd21936023c

21 months agoAdd JNI sqlite3_prepare_multi(), based on feedback.
stephan [Wed, 13 Sep 2023 17:11:32 +0000 (17:11 +0000)] 
Add JNI sqlite3_prepare_multi(), based on feedback.

FossilOrigin-Name: fa1c1534724b03debc83ae35c2fadab83faf4b4e62b91981fed103888de41396

21 months agoPerformance optimization to cellContains() in RTREE.
drh [Wed, 13 Sep 2023 14:07:07 +0000 (14:07 +0000)] 
Performance optimization to cellContains() in RTREE.

FossilOrigin-Name: 43cde22bf3f36687df231eddf642581d1d4f4102ad8568d31f5b2ff0302ca800

21 months agoIn the ChooseLeaf algorithm of RTREE, do an initial pass through the cells
drh [Wed, 13 Sep 2023 13:12:08 +0000 (13:12 +0000)] 
In the ChooseLeaf algorithm of RTREE, do an initial pass through the cells
of a node looking for solutions that involve no cell enlargement.  Only look
for the minimum cell enlargement if the enlargement is non-zero for all cells.
This results in a performance improvement by reducing the number of calls
to cellUnion().

FossilOrigin-Name: 59f0e239d19393190911ea3bd89b5a24be0d85d64ccf51906efc9537ad5d7298

21 months agoReduce the number of calls to cellArea() in the ChooseLeaf() algorithm of
drh [Wed, 13 Sep 2023 12:06:02 +0000 (12:06 +0000)] 
Reduce the number of calls to cellArea() in the ChooseLeaf() algorithm of
rtree.

FossilOrigin-Name: c633fe6be0edc07a0aa1ac819d58b6c629b7c95b47b63516ae1b0a937f6a2b89

21 months agoRemove unused variable from the ChooseLeaf algorithm in r-tree.
drh [Wed, 13 Sep 2023 11:36:44 +0000 (11:36 +0000)] 
Remove unused variable from the ChooseLeaf algorithm in r-tree.

FossilOrigin-Name: fb2e4a8067edc29ba64973820f265b21dfee0d32f4d675d32100d5eef93c2830

21 months agoReplace an if() condition in fts5 that is always true with an assert().
dan [Wed, 13 Sep 2023 11:24:58 +0000 (11:24 +0000)] 
Replace an if() condition in fts5 that is always true with an assert().

FossilOrigin-Name: 2170312c8d7f076cbb8319227de3fac981432dae186bc1928cd217e41119b580

21 months agoCLI .import to accept EOF in lieu of record terminator on last field of CSV (with...
larrybr [Tue, 12 Sep 2023 23:21:39 +0000 (23:21 +0000)] 
CLI .import to accept EOF in lieu of record terminator on last field of CSV (with multiple field records), per RFC 4180. [forum:5b21c25bdfa|forum post 5b21c25bdfa]

FossilOrigin-Name: 6f7842f577a28df1f809cd4bae9e8eafa26f2b54a25a1362ebbdebf5026be57c

21 months agoFix a use-after-free error in fts5 that could occur when querying the "rank" column...
dan [Tue, 12 Sep 2023 18:36:46 +0000 (18:36 +0000)] 
Fix a use-after-free error in fts5 that could occur when querying the "rank" column immediately after another connection changes its definition. [forum:a2dd636330|forum post a2dd636330].

FossilOrigin-Name: cb54c2da52d3175844127ead41cfed18793e91ea52e02af2d57c1d17b4312437

21 months agoClarify some metrics output in Tester1.java.
stephan [Tue, 12 Sep 2023 17:49:25 +0000 (17:49 +0000)] 
Clarify some metrics output in Tester1.java.

FossilOrigin-Name: 4ae7199a82f0b6e0f5575e39d8bd454e527ab949f0c59b773a44a078c65c5676

21 months agoRe-add the fts5 decls to sqlite3-jni.h, removed in a rebuild without fts5 enabled...
stephan [Tue, 12 Sep 2023 17:06:51 +0000 (17:06 +0000)] 
Re-add the fts5 decls to sqlite3-jni.h, removed in a rebuild without fts5 enabled. Need a better solution for this problem.

FossilOrigin-Name: 6f269790a09350f49103bb0925e2a78a1f9b7a8aad84408eabbb8d64ef79d551

21 months agoRename JNI sqlite3_errmsg() to sqlite3_errmsg16() for overall constency with the...
stephan [Tue, 12 Sep 2023 17:03:40 +0000 (17:03 +0000)] 
Rename JNI sqlite3_errmsg() to sqlite3_errmsg16() for overall constency with the text()/text16() family of functions.

FossilOrigin-Name: c4a8d8a5711bd2abeaf1c31046784d1bccff4b98e96522250866d1ee8ec6a9fe

21 months agoJNI readme fix.
stephan [Tue, 12 Sep 2023 16:33:57 +0000 (16:33 +0000)] 
JNI readme fix.

FossilOrigin-Name: 7dde000efcf170c33701947d1aab71bb45b2b0ae8646ee41bb2b2adbee56d1e6

21 months ago64-bit builds on Windows default to using UTF-8 output (as if the -utf8
drh [Tue, 12 Sep 2023 14:36:07 +0000 (14:36 +0000)] 
64-bit builds on Windows default to using UTF-8 output (as if the -utf8
command-line option had been specified.)  32-bit builds continue to use
Windows code pages.  There is also a new -no-utf8 command-line option to
force the use of legacy code pages.

FossilOrigin-Name: d8c7560e8822f336e8c4b300eb1f2e55203fdf9e756d2e8af719563235f79ebc

21 months agoShow the "(utf8)" tag on the CLI banner in Windows if in UTF8 mode. cli-utf8
drh [Tue, 12 Sep 2023 14:09:45 +0000 (14:09 +0000)] 
Show the "(utf8)" tag on the CLI banner in Windows if in UTF8 mode.

FossilOrigin-Name: 822699a4d9756ec68f17d6e06da7f994730bcf5c7d69ca15e9131721c4ff3b19

21 months agoAdd the -no-utf8 option to the Windows CLI to cause UTF-8 mode to be omitted.
drh [Mon, 11 Sep 2023 20:09:05 +0000 (20:09 +0000)] 
Add the -no-utf8 option to the Windows CLI to cause UTF-8 mode to be omitted.

FossilOrigin-Name: 4cb799c690986b8bd38d07461998824fa53418f7fe31f59d0bf38cae328d9b89

21 months agoMake the -utf8 option the default behavior in the CLI on Windows for 64-bit
drh [Mon, 11 Sep 2023 20:02:38 +0000 (20:02 +0000)] 
Make the -utf8 option the default behavior in the CLI on Windows for 64-bit
builds.

FossilOrigin-Name: 8b3c306def81546c5987f0f245d2bf3960218254c2833e9c27cd242e9118db62

21 months agoRefuse to build amalgamation-tarball and snapshot-tarball if the TEA version
drh [Mon, 11 Sep 2023 15:27:27 +0000 (15:27 +0000)] 
Refuse to build amalgamation-tarball and snapshot-tarball if the TEA version
number disagrees with ./VERSION.

FossilOrigin-Name: 3308fdda4b81c110ba4a66d0b325e7653c2f8155e7864aeb78991ed1da061836

21 months agoMerge in JNI's significant divergence since it adopted sqlite3_client_data().
stephan [Mon, 11 Sep 2023 15:20:15 +0000 (15:20 +0000)] 
Merge in JNI's significant divergence since it adopted sqlite3_client_data().

FossilOrigin-Name: e8e07dbbeaa7799eb0b90726e18e994aaf8c8d316ab4bdb06da732bc51cf0919

21 months agoAdd support for the sqlite3_get_clientdata() and sqlite3_set_clientdata()
drh [Mon, 11 Sep 2023 14:55:05 +0000 (14:55 +0000)] 
Add support for the sqlite3_get_clientdata() and sqlite3_set_clientdata()
interfaces, to better support JNI.

FossilOrigin-Name: 9806c0dd2802d68b67c25c4f3347ed532f9a98b051e775d34e9182dd2f099891

21 months agoRoll back [84e38341aeab] because a direct pointer comparison is ill-advised when... db-client-data
stephan [Sun, 10 Sep 2023 10:56:28 +0000 (10:56 +0000)] 
Roll back [84e38341aeab] because a direct pointer comparison is ill-advised when the client-data string is dynamically allocated.

FossilOrigin-Name: 7b884832b71c23e62ba3c0d53f7c89199734c351f909d84ac19ac18c7ddccbd8

21 months agoRemove out-of-date comment regarding use of Parse.pConstExpr.
dan [Sat, 9 Sep 2023 17:53:55 +0000 (17:53 +0000)] 
Remove out-of-date comment regarding use of Parse.pConstExpr.

FossilOrigin-Name: 71548f72ad578db3d6ee409956386ace23ab2258d37cdc29ef2fb126e48f1ee3

21 months agoIn the JNI build, emit a reminder to not check in the javac-generated sqlite3-jni... jni-client-data
stephan [Sat, 9 Sep 2023 11:20:35 +0000 (11:20 +0000)] 
In the JNI build, emit a reminder to not check in the javac-generated sqlite3-jni.h when FTS5 is disabled because changes in that feature flag result in unnecessary and large diffs in checked-in generated code.

FossilOrigin-Name: caceb52fb58f924e7cbbebac05e7fd7822b7f6f56a3f834392d2be801bf04633

21 months agoDisable FTS5 in the JNI build by default until it can be thoroughly tested. This...
stephan [Sat, 9 Sep 2023 07:52:05 +0000 (07:52 +0000)] 
Disable FTS5 in the JNI build by default until it can be thoroughly tested. This is mainly so that the public-facing javadoc does not include it.

FossilOrigin-Name: 6f25f02b70f561864264a71a85cb5efa05550743371fd655804033ea08d00f33

21 months agoAdd extra tests for [4b60a1c3].
dan [Fri, 8 Sep 2023 19:18:02 +0000 (19:18 +0000)] 
Add extra tests for [4b60a1c3].

FossilOrigin-Name: 6357491bd1b97f7abddf1a83860f3763cd870033bddc74bd9994a6440fe8c762

21 months agoFix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.
dan [Fri, 8 Sep 2023 18:34:42 +0000 (18:34 +0000)] 
Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.

FossilOrigin-Name: 4b60a1c358c966f161601e749ccb0a7c5f4126e20350f4d6c83b6f35841fbe0a

21 months agoAdd -DSQLITE_OMIT_LOOKASIDE=1 to the "Sanitize" configuration in testrunner_data...
dan [Thu, 7 Sep 2023 17:54:12 +0000 (17:54 +0000)] 
Add -DSQLITE_OMIT_LOOKASIDE=1 to the "Sanitize" configuration in testrunner_data.tcl.

FossilOrigin-Name: a917ebf17b27951d1c6906e9068e816ef29861701f2e8f4f1a13acce5737f680

21 months agoEnhance the ./configure script and its associated Makefile.in so that the
drh [Thu, 7 Sep 2023 16:53:30 +0000 (16:53 +0000)] 
Enhance the ./configure script and its associated Makefile.in so that the
--with-linenoise=DIR argument cause the linenoise command-line editing
library located in directory DIR to be linked with the sqlite3 CLI.

FossilOrigin-Name: 6c7822b554c01f01e3e02a385b3370313022b16ba8d932c2ba5d3c3be61361fe

21 months agoFix a buffer overread in the sessions extension that could occur when processing...
dan [Thu, 7 Sep 2023 13:53:09 +0000 (13:53 +0000)] 
Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset.

FossilOrigin-Name: 0e4e7a05c4204b47a324d67e18e76d2a98e26b2723d19d5c655ec9fd2e41f4b7

21 months agoFix a harmless compiler warning in the sqldiff.c utility.
drh [Thu, 7 Sep 2023 13:48:42 +0000 (13:48 +0000)] 
Fix a harmless compiler warning in the sqldiff.c utility.

FossilOrigin-Name: e6390a656713b855258277b65066d2a701cedd05981f1672c9acc2d6dc37d032

21 months agoAdd the "tool-zip" makefile target with the intention of using it to build
drh [Thu, 7 Sep 2023 13:43:46 +0000 (13:43 +0000)] 
Add the "tool-zip" makefile target with the intention of using it to build
the "sqlite-tool-*.zip" deliverables.
deliverables.

FossilOrigin-Name: 06e4af492d669bb45c00b1b876cd82ec8813ac9ed580eb1dddd18147f7fbe7f6

21 months agoFix a problem with the new xIntegrity method for virtual tables, and also fix
drh [Thu, 7 Sep 2023 02:13:01 +0000 (02:13 +0000)] 
Fix a problem with the new xIntegrity method for virtual tables, and also fix
a bad assert() in FTS3 that was found by the new xIntegrity method.

FossilOrigin-Name: 52bbf44f2d9addc2b5f68b0fe33542470852310ce3a283e2c7ff4c52831d0ed1

21 months agoAdd documentation to sqlite3_get/set_clientdata() to make it clear that these
drh [Wed, 6 Sep 2023 17:07:53 +0000 (17:07 +0000)] 
Add documentation to sqlite3_get/set_clientdata() to make it clear that these
are security-sensitive interfaces that should not be exposed to potential
attackers.

FossilOrigin-Name: 2837061d66672a0a73c3fd2ff35ce0e1a66ee6d5365be25d4cc0ccba170c3665