]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
23 months agoInitial check-in of JNI (Java Native Interface) bindings for the core C API.
stephan [Thu, 27 Jul 2023 20:02:49 +0000 (20:02 +0000)] 
Initial check-in of JNI (Java Native Interface) bindings for the core C API.

FossilOrigin-Name: b5374b9ef58fa0be80aefccde0721f5599fb820464b13940b6361b9aa09a59d5

23 months agoAdd the contentless_delete=1 option to fts5. For creating contentless tables that...
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

23 months agoDynamically determine whether the wasm.xWrap() argc check can be applied, depending...
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

23 months agoAccommodate a breaking change in emcc 3.1.44.
stephan [Thu, 27 Jul 2023 01:38:19 +0000 (01:38 +0000)] 
Accommodate a breaking change in emcc 3.1.44.

FossilOrigin-Name: 2c5dd34199f5bcf729be814b8b46d9997821fe3a39ab12779c93df1bb2fd108d

23 months agoFix a performance regression in JSON associated with generating small
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

23 months agoReduce the number of memory allocations when parsing JSON.
drh [Wed, 26 Jul 2023 23:22:32 +0000 (23:22 +0000)] 
Reduce the number of memory allocations when parsing JSON.

FossilOrigin-Name: 9edd67162113df57dae21d4683f9495611e2cf4717c6d12f5b7b8e44156d5fe3

23 months agoMinor changes to make coverage testing easier.
drh [Wed, 26 Jul 2023 21:53:09 +0000 (21:53 +0000)] 
Minor changes to make coverage testing easier.

FossilOrigin-Name: ec8b43382e5402e15d9f2dda3cf21ac8be8c1589ddbe6c9433c33eef0036f764

23 months agoChange a switch() case to default for coverage.
drh [Wed, 26 Jul 2023 19:22:43 +0000 (19:22 +0000)] 
Change a switch() case to default for coverage.

FossilOrigin-Name: 04f497074b9210326030f36107a43d6490a2a59c8a574e2c5429cd9bde681bf7

23 months agoMake sure jsonReplaceNode() always leaves the JsonParse in a consistent state even...
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

23 months agoAdd the ".scanstats vm" command to the shell tool. For profiling VM code in SQLITE_EN...
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

23 months agoImprove the output when ".scanstats vm" is enabled. scanstatus-exp
dan [Wed, 26 Jul 2023 16:41:23 +0000 (16:41 +0000)] 
Improve the output when ".scanstats vm" is enabled.

FossilOrigin-Name: 7df08fd35e9d4bc471aa9fbc4c81d2ebcfd2be6c4c38143342b3d9d727c9df22

23 months agoImproved caching and reuse of JSON parses.
drh [Wed, 26 Jul 2023 14:18:06 +0000 (14:18 +0000)] 
Improved caching and reuse of JSON parses.

FossilOrigin-Name: df099ad713011b67b09cb1e5f0fa2e6b45f9cee0ce9d3c118c5dbca3563d20a5

23 months agoChange the debugging "json_parse(X)" function so that it shows a more
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

23 months agoMore comment improvements in json.c. Do not run jsonLookup() following
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

23 months agoImproved comments and other cleanup for the changes on this branch.
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

23 months agoRemove the batch SQL runner from the JS build's 'all' target, as it's long-since...
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

23 months agoAdd SAHPoolUtil.getFileNames() method, and tests for it, per [forum:a3da1e34d8|forum...
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

23 months agoFix jsonForceRCStr() to also add the NULL terminator.
drh [Wed, 26 Jul 2023 11:00:47 +0000 (11:00 +0000)] 
Fix jsonForceRCStr() to also add the NULL terminator.

FossilOrigin-Name: 134b01f37f8f741d7f7b7eda81384695d1cbe4c39751d87f08832d5c9afdcef2

23 months agoReformulate [907dfc4a7aa1] using awk instead of sed for better cross-platform portabi...
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

23 months agoMerge the latest trunk fixes into the json-opt branch.
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

23 months agoAdd the concept of an RCStr string - a "Reference Counted String". Use
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

23 months agoExtend the enhancement to json_set() and json_replace(). Clean up cruft. json-opt-rcstr
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

23 months agoAdd the JsonParse.zAlt field to old revised JSON text after a change.
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

2 years agoClarify ownership of the various objects involved in parsing JSON.
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

2 years agoIncremental improvements to JSON parsing - trying to fold in the RCStr object.
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

2 years agoFix a harmless "set-but-not-used" compiler warning in sqlite3session.c.
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

2 years agoMerge trunk changes into this branch.
dan [Tue, 25 Jul 2023 17:11:29 +0000 (17:11 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: 719973d7f5a47b110e9919fcb96d21feab1e41356dbb3ec674c1116c17bbb778

2 years agoAdd extra test for 'deletemerge'.
dan [Tue, 25 Jul 2023 16:48:54 +0000 (16:48 +0000)] 
Add extra test for 'deletemerge'.

FossilOrigin-Name: bc33cff4203cef12518e0f43d380a06d53d67c725fb96cfe6e934b7dc97a7efd

2 years agoChange the name of the fts5 'delete-automerge' option to 'deletemerge'. And add tests...
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

2 years agoFix a minor problem with error reporting in JSON.
drh [Tue, 25 Jul 2023 15:43:01 +0000 (15:43 +0000)] 
Fix a minor problem with error reporting in JSON.

FossilOrigin-Name: c456e4a8999066cd96246327101b3cca78294511a71a2ac07939bb702bfcb5f4

2 years agoCreate the new RCStr class of strings and try to use them for JSON storage.
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

2 years agoFurther tests for 'delete-automerge'.
dan [Tue, 25 Jul 2023 13:53:42 +0000 (13:53 +0000)] 
Further tests for 'delete-automerge'.

FossilOrigin-Name: ca26c7a37a7e680be633f43be28f8877bdf9917448ea51c3bedc9b2352a00601

2 years agoReformulate a (sed -i) construct in ext/wasm/GNUmakefile to account for Mac's sed...
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

2 years agoIt is an error to try to insert a BLOB value into JSON.
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

2 years agoClean up some #defines in json.
drh [Mon, 24 Jul 2023 22:45:59 +0000 (22:45 +0000)] 
Clean up some #defines in json.

FossilOrigin-Name: 327fff501e36f75d4901c520123c5ca45e0e0da1d9cc8fa8fa877ceb68c686d2

2 years agoRework the JSON parse structure to facilitate better caching. Passes all
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

2 years agoAdd the fts5 'delete-automerge' integer option. A level is eligible for auto-merging...
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

2 years agoIncremental progress toward improved caching of parsed JSON.
drh [Mon, 24 Jul 2023 17:59:25 +0000 (17:59 +0000)] 
Incremental progress toward improved caching of parsed JSON.

FossilOrigin-Name: f2c063884685a79d5a787590447c292f51e898a98c9508159c788f505227ba85

2 years agoResolve an ES6 module export construct which is incompatible with node.js, as reporte...
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

2 years agoMerge the latest trunk enhancements into the json-opt branch.
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

2 years agoWhen writing the filename header in a opfs-sahpool file, ensure that all remaining...
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

2 years agoAdd the opfs-sahpool sqlite3_vfs implementation to JS, offering an alternative to...
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

2 years agoIntegrate contentless delete with auto-merge.
dan [Sat, 22 Jul 2023 19:47:46 +0000 (19:47 +0000)] 
Integrate contentless delete with auto-merge.

FossilOrigin-Name: 85c1589ab1fc69d1eef4bbc1bdefa2b10af5f6b9c08e813130b93829b592f416

2 years agoDo not read past the end of a text buffer looking for a zero terminator, as
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

2 years agoFix a harmless use-of-initialized-value warning from OSSFuzz that results
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

2 years agoPerformance enhancements for queries using very large string values.
drh [Fri, 21 Jul 2023 22:28:34 +0000 (22:28 +0000)] 
Performance enhancements for queries using very large string values.

FossilOrigin-Name: 3661b9cd98565ea23b0cafd030668f09885dcbd54eb12b7b3cd85c289aef4c3c

2 years agoMark an unreachable branch as NEVER(). big-function-text
drh [Fri, 21 Jul 2023 22:22:13 +0000 (22:22 +0000)] 
Mark an unreachable branch as NEVER().

FossilOrigin-Name: 414a4d660c3b505640227066b468db1268fcb1bd3fad931644a769617c6c00cd

2 years agoFix fts5 incremental optimization so that it too can handle an index that consists...
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

2 years agoEnsure the fts5 'optimize' command correctly rewrites any index that consists of...
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

2 years agoFix harmless compiler warning introduced by the previous check-in.
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

2 years agoAvoid a potentially large strlen() in sqlite3DecOrHexToI64().
drh [Fri, 21 Jul 2023 18:38:59 +0000 (18:38 +0000)] 
Avoid a potentially large strlen() in sqlite3DecOrHexToI64().

FossilOrigin-Name: 5413b02bb629b9cbb76f7e688e94ebcf24276c01436d3feb73ff57c036e1d2aa

2 years agoFurther improvements to large string handling in relation to JSON.
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

2 years agoFix harmless compiler warning about signed/unsigned comparison.
drh [Fri, 21 Jul 2023 15:07:56 +0000 (15:07 +0000)] 
Fix harmless compiler warning about signed/unsigned comparison.

FossilOrigin-Name: 75cc3c89ee2dcfefa9421ce60bee77e85d2895918e8c5cfd05c434f8932a99b5

2 years agoMultiple optimizations that try to preserve or infer the zero-terminated
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

2 years agoMore infrastructure changes towards improving JSON cache performance.
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

2 years agoMinor internal cleanups in the opfs-sahpool VFS. opfs-sahpool
stephan [Fri, 21 Jul 2023 10:51:35 +0000 (10:51 +0000)] 
Minor internal cleanups in the opfs-sahpool VFS.

FossilOrigin-Name: 74ad31e2908af8225b7aa527dbcd1877423d58163e365317a78453b31e322ea3

2 years agoInternal cleanups in the async part of the JS library bootstrap phase.
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

2 years agoMinor internal cleanups in JS code.
stephan [Thu, 20 Jul 2023 23:25:32 +0000 (23:25 +0000)] 
Minor internal cleanups in JS code.

FossilOrigin-Name: 21a2ca9fc46bf746874579897872e2a45cb07f278abb670dd22b122f7d6a9a6c

2 years agoFix some divide-by-zero errors that could occur when handling corrupt tombstone hash...
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

2 years agoAvoid an infinite loop that could be entered when dealing with corrupt fts5 tombstone...
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

2 years agoExperimental framework upon which to build a better JSON parse structure that
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

2 years agoAdd tests and fixes for the new code on this branch.
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

2 years agoFilter the OPFS VFSes out of the sqlite3-node.mjs build. Add another level of subdire...
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

2 years agoPerformance enhancements to the JSON parser and code generator.
drh [Wed, 19 Jul 2023 23:02:45 +0000 (23:02 +0000)] 
Performance enhancements to the JSON parser and code generator.

FossilOrigin-Name: 0a745897d66e9f36ea6e787fad54f0c413d52c226dc96fad36ccd33a0aa1930e

2 years agoRevise the new JSON parser performance test to make the test run 25 times
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

2 years agoDescribe JSON parser performance testing procedure in test/json/README.md
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

2 years agoFix various issues with code added to this branch.
dan [Wed, 19 Jul 2023 18:47:02 +0000 (18:47 +0000)] 
Fix various issues with code added to this branch.

FossilOrigin-Name: 8d09011fa2c6ae9cc88e1766f9aad4578efbf9e0e311b8c6efdffe7a3f88f923

2 years agoMore internal refactoring and docs for opfs-sahpool.
stephan [Wed, 19 Jul 2023 17:47:02 +0000 (17:47 +0000)] 
More internal refactoring and docs for opfs-sahpool.

FossilOrigin-Name: 64ccf6177a019eab46fb3345ad1e8ba80eaf2c9da55767031f9f04ccd16afb4d

2 years agoUpdate the development-over-ssh docs for the wasm build.
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

2 years agoFurther improvement to JSON parser performance.
drh [Wed, 19 Jul 2023 17:24:36 +0000 (17:24 +0000)] 
Further improvement to JSON parser performance.

FossilOrigin-Name: 144c8ccf6e5bb2527dd98742f0d67e0a16c627e7c67f754ce8ed4c4fb5b8d8b6

2 years agoFurther performance enhancements to JSON parsing and rendering. Total
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

2 years agoPerformance optimization for parsing large JSONs that contain lots of text.
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

2 years agoMajor restructuring of opfs-sahpool to improve maintainability and hopefully make...
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

2 years agoAppearance and legibility improvements for tester1.js.
stephan [Wed, 19 Jul 2023 11:33:52 +0000 (11:33 +0000)] 
Appearance and legibility improvements for tester1.js.

FossilOrigin-Name: 4fd3ed1b6405f690825c9993e56b199d4a7fb497cf9131815c803150b8b96528

2 years agoTwo minor improvements to sum(), one of which was inspired by
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

2 years agoInternal refactoring in opfs-sahpool. Move OPFS tests to the end of tester1.c-cpp.js.
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

2 years agoDo not use the [/info/609fbb94b8f01d67|viewscan optimization] on a query
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

2 years agoImproved ".wheretrace" for the VIEWSCAN optimization.
drh [Tue, 18 Jul 2023 20:41:09 +0000 (20:41 +0000)] 
Improved ".wheretrace" for the VIEWSCAN optimization.

FossilOrigin-Name: 27057ea76b5f72c73fb6f16094736685019643c665b49fd0bb8d60a812ce2338

2 years agoFix various problems with fts5 contentless_delete=1 tables.
dan [Tue, 18 Jul 2023 19:52:32 +0000 (19:52 +0000)] 
Fix various problems with fts5 contentless_delete=1 tables.

FossilOrigin-Name: 0d005112b8aca9e9eca9d86d5fed9168f6a0218fd290b5489b9e7b05714610f4

2 years agoMore opfs-sahpool tests.
stephan [Tue, 18 Jul 2023 19:47:19 +0000 (19:47 +0000)] 
More opfs-sahpool tests.

FossilOrigin-Name: 60713fa9c4627ef17e0b8778eee37913d2b930c5a06414721a00af30e1395090

2 years agoFix a shadowed var in opfs-sahpool and add more tests.
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

2 years agoFurther refactoring of opfs-sahpool and start integrating it into tester1.c-pp.js.
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

2 years agoMerge the FTS5 memory leak fix from trunk.
drh [Tue, 18 Jul 2023 17:43:47 +0000 (17:43 +0000)] 
Merge the FTS5 memory leak fix from trunk.

FossilOrigin-Name: fb65cb73d7ea22a8b20dccfa3abdaaa809eee4fcee6fe4846bd2e598ceb49aa4

2 years agoFix memory leak in fts5 introduced by [def41225].
dan [Tue, 18 Jul 2023 16:29:34 +0000 (16:29 +0000)] 
Fix memory leak in fts5 introduced by [def41225].

FossilOrigin-Name: 4dcad2db743fdb9ef72871ca5a4d1384f76cb697161b0f5110e2670a83a18e8a

2 years agoMajor restructuring of the opfs-sahpool bits to better support multiple instances...
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

2 years agoMerge trunk changes with this branch.
dan [Tue, 18 Jul 2023 13:55:55 +0000 (13:55 +0000)] 
Merge trunk changes with this branch.

FossilOrigin-Name: 5f66eb4e2603278dcc9dbfe4bf506cba1aa03180cfb492a0dfc3a8be32cc994b

2 years agoFix a buffer overrun in fts5 that could occur in 'secure-delete' mode when dealing...
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

2 years agoRefactor opfs-sahpool to support multiple instances, each with a separate VFS name...
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

2 years agoFix cases where a row is inserted into a contentless_delete=1 fts5 table and then...
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

2 years agoDo not allow the 'delete' command to be used on contentless_delete=1 fts5 tables.
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

2 years agoMerge trunk changes into this branch.
dan [Mon, 17 Jul 2023 11:47:42 +0000 (11:47 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: c4fb2f2ea0afe638fd7cffd89fbdb0a91589577c6f8299c7bbc17ac121be518b

2 years agoAnother -DSQLITE_TEMP_STORE=3 to 2 change for the wasm build.
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

2 years agosahpool vfs: rename defaultCapacity to initialCapacity, per feedback.
stephan [Mon, 17 Jul 2023 07:14:12 +0000 (07:14 +0000)] 
sahpool vfs: rename defaultCapacity to initialCapacity, per feedback.

FossilOrigin-Name: 2c9c95d087c7db2a975ffae15af5ade621411c493145b889f0c9157a55c4952a

2 years agoChange wasm build's -DSQLITE_TEMP_STORE=3 to -DSQLITE_TEMP_STORE=2, primarily so...
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

2 years agoRemove an extraneous JS script import.
stephan [Sun, 16 Jul 2023 21:07:01 +0000 (21:07 +0000)] 
Remove an extraneous JS script import.

FossilOrigin-Name: 5a205b25912f3feea594a2161a4b8f3955bd29163b39cb0e621b3abdb81fc24d

2 years agoAdd sqlite3-vfs-opfs-sahpool.js to ext/wasm/api/README.md.
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

2 years agoMinor doc tweaks.
stephan [Sun, 16 Jul 2023 20:20:03 +0000 (20:20 +0000)] 
Minor doc tweaks.

FossilOrigin-Name: 0cb0d7a9e73e48406f146ebebf211311fd0a0b14b285f0af9e2b645c3d2f172a

2 years agoCorrect a missing assignment. Minor doc additions.
stephan [Sun, 16 Jul 2023 19:29:50 +0000 (19:29 +0000)] 
Correct a missing assignment. Minor doc additions.

FossilOrigin-Name: 1c4957d0ef23ff14d4f7bfb33a809dd92712ee9faf77b6052f823eb55de15cf6

2 years agoDoc tweaks only, no code changes.
stephan [Sun, 16 Jul 2023 19:20:45 +0000 (19:20 +0000)] 
Doc tweaks only, no code changes.

FossilOrigin-Name: 044c28dffd45f7c4484686995edd4a1b92151450743968e7d0f662b5c850aa6b

2 years agoAdd a way to remove the opfs-sahpool's persistent state from OPFS or unlink() an...
stephan [Sun, 16 Jul 2023 17:51:43 +0000 (17:51 +0000)] 
Add a way to remove the opfs-sahpool's persistent state from OPFS or unlink() an individual file. Doc cleanups.

FossilOrigin-Name: 80982daac3c098033dbc249bb7a17ef84ae218d2d789f8644e7f4af18b553d24