]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Fri, 28 Jul 2023 12:59:10 +0000 (12:59 +0000)]
A failed attempt to add a new sqlite3_result_zeroterminated() interface that
is a hint to SQLite that a TEXT result does have a zero terminator. The idea
is to avoid unnecessary copying of TEXT values. This seems like an
unnecessary complication at the moment, but maybe I'll return to this later.
Note that this check-in does not work - it is a proof of concept only.
FossilOrigin-Name:
a0de01108c4b462f8e79bc58fbfe40dec562bbec682679fd0479c79a3c415578
dan [Thu, 27 Jul 2023 20:08:44 +0000 (20:08 +0000)]
Fix a couple of compiler warnings in fts5_index.c.
FossilOrigin-Name:
bf71faa2a1d29ea762c4d2485522d6f4f8a5a7166981a92d3ba9c96ccbbe1213
dan [Thu, 27 Jul 2023 19:13:35 +0000 (19:13 +0000)]
Add the contentless_delete=1 option to fts5. For creating contentless tables that support DELETE and REPLACE statements.
FossilOrigin-Name:
d66b182d2bc6ce0772e69401b7affe1adbc1b128c4631cb3c17f98dde72af00a
stephan [Thu, 27 Jul 2023 17:50:10 +0000 (17:50 +0000)]
Dynamically determine whether the wasm.xWrap() argc check can be applied, depending on how the wasm environment exposes its exports.
FossilOrigin-Name:
fd59226b34fffb1479fb2d7bd7c0aff982aa4a1a73e6c0d81de6eaf9c075998c
stephan [Thu, 27 Jul 2023 01:38:19 +0000 (01:38 +0000)]
Accommodate a breaking change in emcc 3.1.44.
FossilOrigin-Name:
2c5dd34199f5bcf729be814b8b46d9997821fe3a39ab12779c93df1bb2fd108d
drh [Thu, 27 Jul 2023 00:21:59 +0000 (00:21 +0000)]
Fix a performance regression in JSON associated with generating small
snippets of JSON from a larger JSON string.
FossilOrigin-Name:
837f2907e10b026f6db1ca2d44b4bf60a6f069bf534bf369ad9b5c513cb0c6e4
drh [Wed, 26 Jul 2023 23:22:32 +0000 (23:22 +0000)]
Reduce the number of memory allocations when parsing JSON.
FossilOrigin-Name:
9edd67162113df57dae21d4683f9495611e2cf4717c6d12f5b7b8e44156d5fe3
drh [Wed, 26 Jul 2023 21:53:09 +0000 (21:53 +0000)]
Minor changes to make coverage testing easier.
FossilOrigin-Name:
ec8b43382e5402e15d9f2dda3cf21ac8be8c1589ddbe6c9433c33eef0036f764
drh [Wed, 26 Jul 2023 19:22:43 +0000 (19:22 +0000)]
Change a switch() case to default for coverage.
FossilOrigin-Name:
04f497074b9210326030f36107a43d6490a2a59c8a574e2c5429cd9bde681bf7
drh [Wed, 26 Jul 2023 19:11:47 +0000 (19:11 +0000)]
Make sure jsonReplaceNode() always leaves the JsonParse in a consistent state even if an error is encountered.
FossilOrigin-Name:
01d52232dd6fbd253e77419a17df3df83d49434792d288ef96e14739a89cef3b
dan [Wed, 26 Jul 2023 17:51:05 +0000 (17:51 +0000)]
Add the ".scanstats vm" command to the shell tool. For profiling VM code in SQLITE_ENABLE_STMT_SCANSTATUS builds.
FossilOrigin-Name:
0cbec3990d4101142bfb831f8e6527b73baabebbd30fa7f59275b217dbce6a8d
dan [Wed, 26 Jul 2023 16:41:23 +0000 (16:41 +0000)]
Improve the output when ".scanstats vm" is enabled.
FossilOrigin-Name:
7df08fd35e9d4bc471aa9fbc4c81d2ebcfd2be6c4c38143342b3d9d727c9df22
drh [Wed, 26 Jul 2023 14:18:06 +0000 (14:18 +0000)]
drh [Wed, 26 Jul 2023 13:17:43 +0000 (13:17 +0000)]
Change the debugging "json_parse(X)" function so that it shows a more
complete description of the JsonParse object on standard output and returns
the mimified JSON. Former behavior was to return the text of a decode
of the aNode array.
FossilOrigin-Name:
1bf85d4e388714a88f8940dcdec353c3e0267456697eff6963d34637912aecc9
drh [Wed, 26 Jul 2023 11:53:14 +0000 (11:53 +0000)]
More comment improvements in json.c. Do not run jsonLookup() following
an OOM error.
FossilOrigin-Name:
cd5fda8c2e354da7458b7c1a82ff18c5946f8dab16095bb0293bec57f6804f17
drh [Wed, 26 Jul 2023 11:43:39 +0000 (11:43 +0000)]
Improved comments and other cleanup for the changes on this branch.
FossilOrigin-Name:
bac953a80d1a541e7a12aef00c86c002133859237143ad670b39ea19799a8900
stephan [Wed, 26 Jul 2023 11:41:41 +0000 (11:41 +0000)]
Remove the batch SQL runner from the JS build's 'all' target, as it's long-since unused and adds noticable build time. Add makefile comments about JSPI.
FossilOrigin-Name:
b8f708e35d4fa027d12089ac7c5589c36da5f68b98cf9792bb11276bf233a860
stephan [Wed, 26 Jul 2023 11:11:39 +0000 (11:11 +0000)]
Add SAHPoolUtil.getFileNames() method, and tests for it, per [forum:
a3da1e34d8 |forum feedback]. Add a test to demonstrate that two SAH pools can coexist so long as they have different names.
FossilOrigin-Name:
72dc3f8c3255186ec412412b685b0b51ddcd08240f2353ac742fc7da8c23568e
drh [Wed, 26 Jul 2023 11:00:47 +0000 (11:00 +0000)]
Fix jsonForceRCStr() to also add the NULL terminator.
FossilOrigin-Name:
134b01f37f8f741d7f7b7eda81384695d1cbe4c39751d87f08832d5c9afdcef2
stephan [Wed, 26 Jul 2023 07:57:55 +0000 (07:57 +0000)]
Reformulate [
907dfc4a7aa1 ] using awk instead of sed for better cross-platform portability.
FossilOrigin-Name:
82ff7cc6a4b0331677be87bc069da414a56fd531bae402d0f0808b5d2b0d45da
drh [Wed, 26 Jul 2023 01:15:34 +0000 (01:15 +0000)]
Merge the latest trunk fixes into the json-opt branch.
FossilOrigin-Name:
ef4e1664d159b98854d9aa580b0bb942f1726f32a190e2ea659c171131ddce9a
drh [Wed, 26 Jul 2023 01:12:08 +0000 (01:12 +0000)]
Add the concept of an RCStr string - a "Reference Counted String". Use
these to keep track of big JSON strings that might need to be used in
multiple places at the same time with different lifetimes. Add two
different JSON string values to each parse - one with and one without
changes. The net result is a large reduction in the number of parses
that occur when doing an UPDATE of a indexed JSON field using
json_replace() or similar.
FossilOrigin-Name:
a4c1af616e672a0d4d04f2652e645617758231598fb7161b956883512303ae87
drh [Wed, 26 Jul 2023 01:05:08 +0000 (01:05 +0000)]
Extend the enhancement to json_set() and json_replace(). Clean up cruft.
FossilOrigin-Name:
2dbb22c75e86f2e3ced38ac14b4943570d5c2f86cd5e37e875bf0c863be28836
drh [Wed, 26 Jul 2023 00:48:45 +0000 (00:48 +0000)]
Add the JsonParse.zAlt field to old revised JSON text after a change.
Demonstrate that this elminates the need for reparsing after a change
by using it in the json_remove() function. This is an incremental check-in
containing lots of cruft.
FossilOrigin-Name:
f930b139d6db0ee799bc90397b225175103c4bf22923d1c9cbcd32509adc1738
drh [Tue, 25 Jul 2023 20:26:47 +0000 (20:26 +0000)]
Clarify ownership of the various objects involved in parsing JSON.
FossilOrigin-Name:
afe02a398a16d51bd7482b6fbe2fbd15d9ac4fd9cdbc9d2bf81f38b3391fc567
drh [Tue, 25 Jul 2023 18:28:03 +0000 (18:28 +0000)]
Incremental improvements to JSON parsing - trying to fold in the RCStr object.
FossilOrigin-Name:
4cb15d934a85ebc290fe6dd8cd3bd47b159561ca75d72bbffef30b9ea4623b09
dan [Tue, 25 Jul 2023 17:54:25 +0000 (17:54 +0000)]
Fix a harmless "set-but-not-used" compiler warning in sqlite3session.c.
FossilOrigin-Name:
54b3c43fdfdaca6b129a5f0ee93c34eb001663775d33c087066650f5e164d1c1
dan [Tue, 25 Jul 2023 17:11:29 +0000 (17:11 +0000)]
dan [Tue, 25 Jul 2023 16:48:54 +0000 (16:48 +0000)]
dan [Tue, 25 Jul 2023 15:48:58 +0000 (15:48 +0000)]
Change the name of the fts5 'delete-automerge' option to 'deletemerge'. And add tests for it.
FossilOrigin-Name:
1079300db2a7d1fbc86a01c215c234a3af64889c5396e6da63ff4f3c7efae4c5
drh [Tue, 25 Jul 2023 15:43:01 +0000 (15:43 +0000)]
Fix a minor problem with error reporting in JSON.
FossilOrigin-Name:
c456e4a8999066cd96246327101b3cca78294511a71a2ac07939bb702bfcb5f4
drh [Tue, 25 Jul 2023 15:08:18 +0000 (15:08 +0000)]
Create the new RCStr class of strings and try to use them for JSON storage.
FossilOrigin-Name:
c1b8725089bb3d006ec69add28f4fcb3f4e79412c7f438b5b1067c2227e77b9c
dan [Tue, 25 Jul 2023 13:53:42 +0000 (13:53 +0000)]
stephan [Tue, 25 Jul 2023 12:26:05 +0000 (12:26 +0000)]
Reformulate a (sed -i) construct in ext/wasm/GNUmakefile to account for Mac's sed -i being different than GNU's.
FossilOrigin-Name:
907dfc4a7aa129cdcedeb3ba2d75e1b68a8f22c2545ee1c8cf7d705041644e5c
drh [Mon, 24 Jul 2023 23:27:05 +0000 (23:27 +0000)]
It is an error to try to insert a BLOB value into JSON.
FossilOrigin-Name:
28c6e964b1e2257527df02b352f02e135f7c4b764b8b41eda6461f9538f5d042
drh [Mon, 24 Jul 2023 22:45:59 +0000 (22:45 +0000)]
drh [Mon, 24 Jul 2023 22:34:26 +0000 (22:34 +0000)]
Rework the JSON parse structure to facilitate better caching. Passes all
tests.
FossilOrigin-Name:
ecdcb1ded76e9a0591bf7a2009679f49fc3aa639d3cc12406c6d29243ed8e1c5
dan [Mon, 24 Jul 2023 19:13:06 +0000 (19:13 +0000)]
Add the fts5 'delete-automerge' integer option. A level is eligible for auto-merging if it has a greater than or equal percentage of its entries deleted by tombstones than the 'delete-automerge' option. Default value is 10.
FossilOrigin-Name:
b314be66b9ac0190b5373b3b6baec012382bc588c2d86c2edab796669a4303c3
drh [Mon, 24 Jul 2023 17:59:25 +0000 (17:59 +0000)]
Incremental progress toward improved caching of parsed JSON.
FossilOrigin-Name:
f2c063884685a79d5a787590447c292f51e898a98c9508159c788f505227ba85
stephan [Mon, 24 Jul 2023 15:41:58 +0000 (15:41 +0000)]
Resolve an ES6 module export construct which is incompatible with node.js, as reported in [forum:
b9680fa9ad |forum post
b9680fa9ad ].
FossilOrigin-Name:
80927c3913561dddf75cf73be871d93ae06b16f83e8cc36fc360765014209615
drh [Mon, 24 Jul 2023 12:37:23 +0000 (12:37 +0000)]
Merge the latest trunk enhancements into the json-opt branch.
FossilOrigin-Name:
00bfc4918be49ac74a3e7851c88ab7ec226e6a37853f8ad4c77f758751960456
stephan [Sun, 23 Jul 2023 22:14:41 +0000 (22:14 +0000)]
When writing the filename header in a opfs-sahpool file, ensure that all remaining bytes in that part of the header are zeroed out to avoid the downstream problems reported in [forum:
d50ec48a293988a5 |forum post
d50ec48a293988a5 ].
FossilOrigin-Name:
c1b080e39397c983c13a5e79303223827de7b4946c18a79396851ec1814782f3
stephan [Sat, 22 Jul 2023 19:57:42 +0000 (19:57 +0000)]
Add the opfs-sahpool sqlite3_vfs implementation to JS, offering an alternative to the other OPFS VFS (with tradeoffs).
FossilOrigin-Name:
d2e602cda44bf35e76167143262b4f91826d25780d0e095e680a31d5dedb2018
dan [Sat, 22 Jul 2023 19:47:46 +0000 (19:47 +0000)]
Integrate contentless delete with auto-merge.
FossilOrigin-Name:
85c1589ab1fc69d1eef4bbc1bdefa2b10af5f6b9c08e813130b93829b592f416
drh [Sat, 22 Jul 2023 16:37:28 +0000 (16:37 +0000)]
Do not read past the end of a text buffer looking for a zero terminator, as
that space might not be initialized. If the buffer is owned, just set the
null terminator. This is a better fix for the OSSFuzz-detected
use-of-initialized-value problem.
FossilOrigin-Name:
931bccb0cc290b8bf3027641e7a7fac30e3244d7dc84aa9e38b24b7e9544ca06
drh [Sat, 22 Jul 2023 15:21:41 +0000 (15:21 +0000)]
Fix a harmless use-of-initialized-value warning from OSSFuzz that results
from recent large string optmizations.
FossilOrigin-Name:
1a6b3dd1c40277a0d0f0bb562ddc4868aadd632fc2d29be1b17bb33fc22c46c8
drh [Fri, 21 Jul 2023 22:28:34 +0000 (22:28 +0000)]
Performance enhancements for queries using very large string values.
FossilOrigin-Name:
3661b9cd98565ea23b0cafd030668f09885dcbd54eb12b7b3cd85c289aef4c3c
drh [Fri, 21 Jul 2023 22:22:13 +0000 (22:22 +0000)]
dan [Fri, 21 Jul 2023 21:10:33 +0000 (21:10 +0000)]
Fix fts5 incremental optimization so that it too can handle an index that consists of a single segment with one or more tombstone hash pages.
FossilOrigin-Name:
e61c9b083f5e0b6b6ee18f9394581ad816f445dbfb72ed1fe954f4182755a576
dan [Fri, 21 Jul 2023 19:33:35 +0000 (19:33 +0000)]
Ensure the fts5 'optimize' command correctly rewrites any index that consists of a single segment and one or more tombstone hash pages.
FossilOrigin-Name:
f4926006b371d9a1439a25384bd50a50c2f1c03f75a7c2c3134ae72abb971c91
drh [Fri, 21 Jul 2023 19:17:26 +0000 (19:17 +0000)]
Fix harmless compiler warning introduced by the previous check-in.
FossilOrigin-Name:
06f829e9e57c5aa495f519ad7bb379be611e8e21ef60d36e63d055e45f7a6117
drh [Fri, 21 Jul 2023 18:38:59 +0000 (18:38 +0000)]
Avoid a potentially large strlen() in sqlite3DecOrHexToI64().
FossilOrigin-Name:
5413b02bb629b9cbb76f7e688e94ebcf24276c01436d3feb73ff57c036e1d2aa
drh [Fri, 21 Jul 2023 18:09:07 +0000 (18:09 +0000)]
Further improvements to large string handling in relation to JSON.
FossilOrigin-Name:
1e5df0aa3dae5cadbf1d07c718ae2a5212543300b68e49d35e8c96855a7f619c
drh [Fri, 21 Jul 2023 15:07:56 +0000 (15:07 +0000)]
Fix harmless compiler warning about signed/unsigned comparison.
FossilOrigin-Name:
75cc3c89ee2dcfefa9421ce60bee77e85d2895918e8c5cfd05c434f8932a99b5
drh [Fri, 21 Jul 2023 15:01:53 +0000 (15:01 +0000)]
Multiple optimizations that try to preserve or infer the zero-terminated
property of TEXT values. Avoid unnecessary copying of text values destined
to become function parameters. All changes help improve performance of
doing UPDATEs on large JSON values that are indexed multiple ways.
FossilOrigin-Name:
d0278cdedfa04fb0b61838ab9622be8a2c462f58d5c3ebc4c5f802a727d0974e
drh [Fri, 21 Jul 2023 11:09:53 +0000 (11:09 +0000)]
More infrastructure changes towards improving JSON cache performance.
Incremental check-in.
FossilOrigin-Name:
1955e66cfc4614df97b8d68b0e662f309513d62dc8aeec71af5a54e66b79c707
stephan [Fri, 21 Jul 2023 10:51:35 +0000 (10:51 +0000)]
Minor internal cleanups in the opfs-sahpool VFS.
FossilOrigin-Name:
74ad31e2908af8225b7aa527dbcd1877423d58163e365317a78453b31e322ea3
stephan [Fri, 21 Jul 2023 09:10:42 +0000 (09:10 +0000)]
Internal cleanups in the async part of the JS library bootstrap phase.
FossilOrigin-Name:
b6d57ab63793241a500ea527c5b3216c54b3ff1972d3adbbf42a9a53bfec0aa1
stephan [Thu, 20 Jul 2023 23:25:32 +0000 (23:25 +0000)]
dan [Thu, 20 Jul 2023 20:29:56 +0000 (20:29 +0000)]
Fix some divide-by-zero errors that could occur when handling corrupt tombstone hash records.
FossilOrigin-Name:
7567ca0676f0d45026f5cd4f3fbcd09119c2eaab8ec1711499609c16c452b5e4
dan [Thu, 20 Jul 2023 20:09:26 +0000 (20:09 +0000)]
Avoid an infinite loop that could be entered when dealing with corrupt fts5 tombstone hash pages.
FossilOrigin-Name:
69ce2ce035279f2a00c2238187cf4d2a9092c3410f5900e4613fe4e46311169e
drh [Thu, 20 Jul 2023 17:45:09 +0000 (17:45 +0000)]
Experimental framework upon which to build a better JSON parse structure that
supports cached of modified JSON. All of these changes are tentative and
subject to change or removal. Incremental check-in.
FossilOrigin-Name:
e384163a4763c10b5838cbf28f9c4d8ea799bbbed6e890e8aa91b2bd1458646d
dan [Thu, 20 Jul 2023 16:07:04 +0000 (16:07 +0000)]
Add tests and fixes for the new code on this branch.
FossilOrigin-Name:
5aac50e92e956b15367c75c20c17bc1c75e84e2752bfffe4ad0a266cb9bd3b8a
stephan [Thu, 20 Jul 2023 09:06:42 +0000 (09:06 +0000)]
Filter the OPFS VFSes out of the sqlite3-node.mjs build. Add another level of subdirectory to the sahpool to later enable transparent support of client-provided files under the VFS's root dir. Rework the awkward sahpool-via-oo1 mapping.
FossilOrigin-Name:
080a4d0aba30d8f3802b49be4a113205f069b3bdea8cebf525d654055642ff62
drh [Wed, 19 Jul 2023 23:02:45 +0000 (23:02 +0000)]
Performance enhancements to the JSON parser and code generator.
FossilOrigin-Name:
0a745897d66e9f36ea6e787fad54f0c413d52c226dc96fad36ccd33a0aa1930e
drh [Wed, 19 Jul 2023 20:23:34 +0000 (20:23 +0000)]
Revise the new JSON parser performance test to make the test run 25 times
longer, and thus provide a more repeatable number.
FossilOrigin-Name:
bee9e403ae47103938aabb9a7a7e120dfa741b464875965e58788a51fa56a8fe
drh [Wed, 19 Jul 2023 19:23:30 +0000 (19:23 +0000)]
Describe JSON parser performance testing procedure in test/json/README.md
FossilOrigin-Name:
c47056e158073ee746c233dd2729cf224ea9e38821b15aa71ebf97607e602281
dan [Wed, 19 Jul 2023 18:47:02 +0000 (18:47 +0000)]
Fix various issues with code added to this branch.
FossilOrigin-Name:
8d09011fa2c6ae9cc88e1766f9aad4578efbf9e0e311b8c6efdffe7a3f88f923
stephan [Wed, 19 Jul 2023 17:47:02 +0000 (17:47 +0000)]
More internal refactoring and docs for opfs-sahpool.
FossilOrigin-Name:
64ccf6177a019eab46fb3345ad1e8ba80eaf2c9da55767031f9f04ccd16afb4d
stephan [Wed, 19 Jul 2023 17:46:28 +0000 (17:46 +0000)]
Update the development-over-ssh docs for the wasm build.
FossilOrigin-Name:
500109bd0a4c134b91c37f397ff1ee828e09c17f7ecd153f975ede748caee7bb
drh [Wed, 19 Jul 2023 17:24:36 +0000 (17:24 +0000)]
Further improvement to JSON parser performance.
FossilOrigin-Name:
144c8ccf6e5bb2527dd98742f0d67e0a16c627e7c67f754ce8ed4c4fb5b8d8b6
drh [Wed, 19 Jul 2023 15:06:29 +0000 (15:06 +0000)]
Further performance enhancements to JSON parsing and rendering. Total
performance gain for large JSONs so far on this branch is about 11%.
FossilOrigin-Name:
adb4d6b007cbe9d7c9670f5fc196443ebe0f3a89df1f3290ba6247fcf83fe5bd
drh [Wed, 19 Jul 2023 13:50:31 +0000 (13:50 +0000)]
Performance optimization for parsing large JSONs that contain lots of text.
FossilOrigin-Name:
c9fbe0185cd5d64950724b00cd0bfb3a7939a985040465a0f35f445acb6e94a6
stephan [Wed, 19 Jul 2023 13:31:29 +0000 (13:31 +0000)]
Major restructuring of opfs-sahpool to improve maintainability and hopefully make it easier to reuse these pieces in the upcoming JSPI-based VFS experiment.
FossilOrigin-Name:
534481cd0c2e6f62dd0a82f25d4b78fdcc671eb70d6966693c98212a6420891c
stephan [Wed, 19 Jul 2023 11:33:52 +0000 (11:33 +0000)]
Appearance and legibility improvements for tester1.js.
FossilOrigin-Name:
4fd3ed1b6405f690825c9993e56b199d4a7fb497cf9131815c803150b8b96528
drh [Wed, 19 Jul 2023 09:52:10 +0000 (09:52 +0000)]
Two minor improvements to sum(), one of which was inspired by
[forum:/forumpost/
af5be98dbc |forum post
af5be98dbc ].
FossilOrigin-Name:
a0d3e7571aded8d1e03908059d2d5aa5d62ec49bff099cb38f6f35df5e4b18b5
stephan [Wed, 19 Jul 2023 08:18:25 +0000 (08:18 +0000)]
Internal refactoring in opfs-sahpool. Move OPFS tests to the end of tester1.c-cpp.js.
FossilOrigin-Name:
6bd5a7413dd830ca41b587a2826fb599a2196fb0186646a2333500f950b3cf4d
drh [Tue, 18 Jul 2023 21:06:19 +0000 (21:06 +0000)]
Do not use the [/info/
609fbb94b8f01d67 |viewscan optimization] on a query
that has only a single loop, as the cost adjustments can cause problems
for outer queries. Proposed fix for the performance regression reported by
[forum:/forumpost/
64d36440e473516c |forum post
64d36440e473516c ].
FossilOrigin-Name:
76152ad2ffe56034f2fd93d9a1ce9358e1677a7e9cd3dcd9f3a34a5c956a463e
drh [Tue, 18 Jul 2023 20:41:09 +0000 (20:41 +0000)]
Improved ".wheretrace" for the VIEWSCAN optimization.
FossilOrigin-Name:
27057ea76b5f72c73fb6f16094736685019643c665b49fd0bb8d60a812ce2338
dan [Tue, 18 Jul 2023 19:52:32 +0000 (19:52 +0000)]
Fix various problems with fts5 contentless_delete=1 tables.
FossilOrigin-Name:
0d005112b8aca9e9eca9d86d5fed9168f6a0218fd290b5489b9e7b05714610f4
stephan [Tue, 18 Jul 2023 19:47:19 +0000 (19:47 +0000)]
stephan [Tue, 18 Jul 2023 19:27:11 +0000 (19:27 +0000)]
Fix a shadowed var in opfs-sahpool and add more tests.
FossilOrigin-Name:
9c8a73aff0f291e0c18072372e0d8961d3a05910489598d0d342227d99871954
stephan [Tue, 18 Jul 2023 18:52:41 +0000 (18:52 +0000)]
Further refactoring of opfs-sahpool and start integrating it into tester1.c-pp.js.
FossilOrigin-Name:
91c789234963b660ae900f0738906b28a477993709e286d8125b2f4d6101601c
drh [Tue, 18 Jul 2023 17:43:47 +0000 (17:43 +0000)]
dan [Tue, 18 Jul 2023 16:29:34 +0000 (16:29 +0000)]
stephan [Tue, 18 Jul 2023 16:24:51 +0000 (16:24 +0000)]
Major restructuring of the opfs-sahpool bits to better support multiple instances per app (each sandboxed from each other). Eliminate the pesky promise resolution race condition when two such instances are loaded in parallel.
FossilOrigin-Name:
95e5fa498f71708caeb3394636c4853530a8b2d54406e503f32750732d6815d5
dan [Tue, 18 Jul 2023 13:55:55 +0000 (13:55 +0000)]
dan [Tue, 18 Jul 2023 13:55:19 +0000 (13:55 +0000)]
Fix a buffer overrun in fts5 that could occur in 'secure-delete' mode when dealing with corrupt database records.
FossilOrigin-Name:
def41225b2f10b0294ab506f28bc87873688d4030f7056839298ff18e058ece5
stephan [Tue, 18 Jul 2023 12:09:16 +0000 (12:09 +0000)]
Refactor opfs-sahpool to support multiple instances, each with a separate VFS name and directory.
FossilOrigin-Name:
d036eaf6ac60c576428db40f015733c5d5425f7d613194fd8d9d4d98659077c4
dan [Mon, 17 Jul 2023 18:40:39 +0000 (18:40 +0000)]
Fix cases where a row is inserted into a contentless_delete=1 fts5 table and then deleted within the same transaction.
FossilOrigin-Name:
d928856a226fb7f001e55ff7e8eb58a656b982f1efa811de46c382b8b7cd778c
dan [Mon, 17 Jul 2023 17:59:58 +0000 (17:59 +0000)]
Do not allow the 'delete' command to be used on contentless_delete=1 fts5 tables.
FossilOrigin-Name:
cc694b83408ccb5d42204cb624145c76e95329cbe1d1fe8815c70a7a00af231a
dan [Mon, 17 Jul 2023 11:47:42 +0000 (11:47 +0000)]
stephan [Mon, 17 Jul 2023 07:43:04 +0000 (07:43 +0000)]
Another -DSQLITE_TEMP_STORE=3 to 2 change for the wasm build.
FossilOrigin-Name:
5ad8f9987c11b5db67edd69a3471ff388140d6268d5d3f5a05dec6bb6d92ac05
stephan [Mon, 17 Jul 2023 07:14:12 +0000 (07:14 +0000)]
sahpool vfs: rename defaultCapacity to initialCapacity, per feedback.
FossilOrigin-Name:
2c9c95d087c7db2a975ffae15af5ade621411c493145b889f0c9157a55c4952a
stephan [Mon, 17 Jul 2023 07:13:44 +0000 (07:13 +0000)]
Change wasm build's -DSQLITE_TEMP_STORE=3 to -DSQLITE_TEMP_STORE=2, primarily so that clients can optionally shift temp files from memory to OPFS storage.
FossilOrigin-Name:
764430e804332b8f7b2f63a3c0c8acf8f6cc92534858d89de2d310938c1c0d27
stephan [Sun, 16 Jul 2023 21:07:01 +0000 (21:07 +0000)]
stephan [Sun, 16 Jul 2023 20:42:19 +0000 (20:42 +0000)]
Add sqlite3-vfs-opfs-sahpool.js to ext/wasm/api/README.md.
FossilOrigin-Name:
58d05201042804c682a417495f13ab47a535e353da6cc307f9d726a289e71ca2
stephan [Sun, 16 Jul 2023 20:20:03 +0000 (20:20 +0000)]
stephan [Sun, 16 Jul 2023 19:29:50 +0000 (19:29 +0000)]
Correct a missing assignment. Minor doc additions.
FossilOrigin-Name:
1c4957d0ef23ff14d4f7bfb33a809dd92712ee9faf77b6052f823eb55de15cf6
stephan [Sun, 16 Jul 2023 19:20:45 +0000 (19:20 +0000)]