]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Mon, 2 Oct 2023 14:51:28 +0000 (14:51 +0000)]
drh [Mon, 2 Oct 2023 13:35:06 +0000 (13:35 +0000)]
Allow json_replace() to accept JSONB arguments as the new value.
FossilOrigin-Name:
95eb7b37fab29931924311f541d52173ef77a448efc8771b1a1783ccd786d23d
drh [Mon, 2 Oct 2023 13:20:43 +0000 (13:20 +0000)]
Improvements to error handling for BLOB inputs on JSON.
FossilOrigin-Name:
14f20ecbfab44934e86f1ac7a3f745b989aa8190c6df119ff5aa8100fa248d93
drh [Mon, 2 Oct 2023 12:40:04 +0000 (12:40 +0000)]
Gather forward references into a single place for the JSON code. Allow
JSONB arguments to json_array() and json_object() and similar.
FossilOrigin-Name:
c352201b8c299c330d9abbff6dbcbcbcf00ada53183d3cd91020ec772e066357
drh [Sun, 1 Oct 2023 18:59:34 +0000 (18:59 +0000)]
Fix problems following OOM in JSONB parsing.
FossilOrigin-Name:
0d8cd6b5fb592f88f593ceaad9cdfa95dcfdf14169c3a56a5becbd66d62fd02b
drh [Sat, 30 Sep 2023 16:50:17 +0000 (16:50 +0000)]
Restore the trunk version of sqlite3_user_data(). Fix the xColumn for virtual
tables so that the sqlite3_context contains a valid but NULL user data pointer.
FossilOrigin-Name:
15ffd932fecc82a5791b2024f55d2ec80887e8eb7345de68d6f5cac4912cfbe8
drh [Sat, 30 Sep 2023 14:34:39 +0000 (14:34 +0000)]
Finish adding jsonb_ versions for all JSON routines that return JSON text.
FossilOrigin-Name:
6daa7b69695e1b68dba317abbcad4d0205c91963d4a9eb2d595a3ec10fa0fdf4
drh [Fri, 29 Sep 2023 22:37:18 +0000 (22:37 +0000)]
Update json_each() and json_tree() so that they work with JSONB inputs.
FossilOrigin-Name:
bb5e50ff56dff95d954aacdd4c5461790f953cef8d7b89da000d8d587fcdf9b8
drh [Fri, 29 Sep 2023 19:47:25 +0000 (19:47 +0000)]
The u.zJContent field of JsonNode for a string or label should NOT include
the quotation mark delimiters. Ever. This is an inefficiency that really
ought to be fixed on trunk, but that can wait until this branch lands.
FossilOrigin-Name:
96f545f6f839dab4829861361ee3d7a56840217c5f954f334616e77d23c5fe29
drh [Fri, 29 Sep 2023 16:37:22 +0000 (16:37 +0000)]
drh [Fri, 29 Sep 2023 12:45:14 +0000 (12:45 +0000)]
Improvements to comments and procedure names for clarity in the JSON
implementation.
FossilOrigin-Name:
9b620d813ef483f1277c1683c5e926a882f07f3b90804dea0c91b325ff8e45a4
drh [Fri, 29 Sep 2023 11:17:43 +0000 (11:17 +0000)]
Describe the JSONB encoding in a header comment to the json.c source file.
FossilOrigin-Name:
1c0cba3461d6111b3aeb77726880221f1240355f0b57e060febbdeb12fb688c0
drh [Thu, 28 Sep 2023 19:11:36 +0000 (19:11 +0000)]
Fix some minor memory issues so that all legacy tests now pass.
FossilOrigin-Name:
1744bfc669346ff221f28d45fd978863e876a2d2f0b82bcf0e5ee6f0326900cc
drh [Thu, 28 Sep 2023 18:23:52 +0000 (18:23 +0000)]
Allow the sqlite3_user_data() function to be invoked with a NULL argument
or with an sqlite3_context pointer from a virtual table. It returns NULL
in both cases.
FossilOrigin-Name:
2f49687371ada65fef374336c28b352c48ab98dc31282ac82397035efe04ba11
drh [Thu, 28 Sep 2023 17:41:45 +0000 (17:41 +0000)]
Merge trunk changes into the jsonb branch for the compiler warning fixes
from two days ago.
FossilOrigin-Name:
cee113cc315b04fd75ccc172cf4529bf15b2050bf274433496c31a282e281ab8
drh [Thu, 28 Sep 2023 17:27:24 +0000 (17:27 +0000)]
The json_extract() function now works on BLOBs without the need to translate
into an array of JsonNode objects. This is much faster.
FossilOrigin-Name:
5853065b7ee326c04ddfcde64c178f487af04cd3adc3cc99f559907484ec169d
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
drh [Thu, 28 Sep 2023 17:07:43 +0000 (17:07 +0000)]
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
larrybr [Thu, 28 Sep 2023 15:00:25 +0000 (15:00 +0000)]
Clarify serialization API doc w.r.t. buffer validity and usage, instigated by [forum:/forumpost/
8922e2ad2ad41205 |forum post
8922e2ad2ad41205 ]. No code changes.
FossilOrigin-Name:
b488b9fb71652eca90d2bf73d32f3d748badf517859dc833c58e021b0e017194
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
drh [Wed, 27 Sep 2023 16:55:13 +0000 (16:55 +0000)]
drh [Tue, 26 Sep 2023 21:22:46 +0000 (21:22 +0000)]
Fix harmless compiler warnings in the testfixture testing utility.
FossilOrigin-Name:
5a39a02d2dfd9ed6171cd0bd434b2bc268d0ed8ead6e1a396d1603266d9493ef
stephan [Tue, 26 Sep 2023 19:49:35 +0000 (19:49 +0000)]
JNI: implement AutoCloseable for the sqlite3 and sqlite3_stmt classes, and adjust a few tests to use it. Override Object.finalize() for sqlite3 class but not sqlite3_stmt (where it triggers a JVM crash for as-yet-unknown reasons).
FossilOrigin-Name:
b633d8bbdbd43464ee03058c273e5188117b9538ed5d5148a1a3851e4adf6410
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
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
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
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
drh [Tue, 26 Sep 2023 15:13:04 +0000 (15:13 +0000)]
Merge all the latest trunk enhancements into jsonb branch.
FossilOrigin-Name:
ac242c4d47ec36aab1c2fa5e65e7b595e686f49473b75bd63708d05c59ce3f0f
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
stephan [Tue, 26 Sep 2023 09:46:04 +0000 (09:46 +0000)]
stephan [Tue, 26 Sep 2023 07:43:51 +0000 (07:43 +0000)]
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
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
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
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
drh [Mon, 25 Sep 2023 14:20:07 +0000 (14:20 +0000)]
Enable -Wall for the compiler on --enable-debug builds.
FossilOrigin-Name:
63a7b521390001939909d43d908af78f7df7cb92272d2b74f038da918c2bef05
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
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
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
dan [Sat, 23 Sep 2023 21:31:40 +0000 (21:31 +0000)]
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
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
drh [Sat, 23 Sep 2023 18:49:30 +0000 (18:49 +0000)]
dan [Sat, 23 Sep 2023 15:34:02 +0000 (15:34 +0000)]
Add extra tests for the fts5 xPhraseQuery API.
FossilOrigin-Name:
b5edea16317ccc896394011f45442af44d5ea1041b6abfe152c90412c78bfc5b
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
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
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
drh [Fri, 22 Sep 2023 16:20:48 +0000 (16:20 +0000)]
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
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
drh [Fri, 22 Sep 2023 11:20:35 +0000 (11:20 +0000)]
Improvements to the JSON binary BLOB format design.
FossilOrigin-Name:
2c89ae5d02f6a40ef869e2a162e2c72871df60572b27959fd1d7171f495ce881
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
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
dan [Mon, 18 Sep 2023 20:42:06 +0000 (20:42 +0000)]
Add extra tests for java Fts5ExtensionApi API.
FossilOrigin-Name:
f9d62b853ce8bfbfdc9f137e984e7a1b51d70e88c38b136b4fad1e8ae6ee8913
dan [Mon, 18 Sep 2023 18:12:03 +0000 (18:12 +0000)]
Extra tests for java Fts5ExtensionApi interface.
FossilOrigin-Name:
c923893f3604b278277de1bb919ef713bf7a4296b7ff71451cfe19bc2ff03190
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
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
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
drh [Sat, 16 Sep 2023 16:39:27 +0000 (16:39 +0000)]
drh [Sat, 16 Sep 2023 16:23:20 +0000 (16:23 +0000)]
Fix minor code indentation inconsistencies. No function changes.
FossilOrigin-Name:
05107a0ae1456b746d3119af68d39532fad23a7eef88c09a9ef46ab7f8da4b9d
drh [Sat, 16 Sep 2023 16:12:10 +0000 (16:12 +0000)]
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
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
drh [Fri, 15 Sep 2023 20:28:27 +0000 (20:28 +0000)]
Simplifications and performance optimizations for the RTree extension.
FossilOrigin-Name:
04a333f5faf6b90592f1f69889ac6c28949955e186f39037cd639480b06feae8
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
drh [Fri, 15 Sep 2023 19:27:36 +0000 (19:27 +0000)]
Minor simplification to the DISTINCT output row count change.
FossilOrigin-Name:
0738386d7c505a98768ddaff7ff1fc76f115882d92d6f84bf136b4aa2caad8b8
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
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
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
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
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
dan [Thu, 14 Sep 2023 20:56:42 +0000 (20:56 +0000)]
Tests for java versions of Fts5ExtensionApi.xSetAuxdata() and xGetAuxdata().
FossilOrigin-Name:
858fa236f8b673eb03cf2242e8202cd33ae1f13a43b59bdbb2eecdb21d42ef55
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
dan [Thu, 14 Sep 2023 20:01:18 +0000 (20:01 +0000)]
Add a few more tests for Fts5ExtensionApi methods.
FossilOrigin-Name:
4ce2a7e8ed0f2859efc1038fd0812bc2b667be1479f45c081deccc2cf188c807
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
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
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
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
drh [Thu, 14 Sep 2023 13:10:17 +0000 (13:10 +0000)]
Improve the sqlite3IntFloatCompare() routine so that it is testable.
FossilOrigin-Name:
bb221381fa38db5be1222d89c567a9bca0e6c441e26a8c797bd326b263556afb
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
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
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
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
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
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
stephan [Wed, 13 Sep 2023 17:16:25 +0000 (17:16 +0000)]
stephan [Wed, 13 Sep 2023 17:11:32 +0000 (17:11 +0000)]
Add JNI sqlite3_prepare_multi(), based on feedback.
FossilOrigin-Name:
fa1c1534724b03debc83ae35c2fadab83faf4b4e62b91981fed103888de41396
drh [Wed, 13 Sep 2023 14:07:07 +0000 (14:07 +0000)]
Performance optimization to cellContains() in RTREE.
FossilOrigin-Name:
43cde22bf3f36687df231eddf642581d1d4f4102ad8568d31f5b2ff0302ca800
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
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
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
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
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
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
stephan [Tue, 12 Sep 2023 17:49:25 +0000 (17:49 +0000)]
Clarify some metrics output in Tester1.java.
FossilOrigin-Name:
4ae7199a82f0b6e0f5575e39d8bd454e527ab949f0c59b773a44a078c65c5676
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
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
stephan [Tue, 12 Sep 2023 16:33:57 +0000 (16:33 +0000)]
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