drh
c90bd32d5d
Correct to the README.md file.
...
FossilOrigin-Name: 3cd3256c7c595f54c8c12fafd1fb60349db82f69eb54fd9896b24db46a8b00d0
2025-11-30 10:49:09 +00:00
stephan
316020580e
Rename kvvfs's 'localThread' storage object to '.'. Swap kvvfs.listen()'s elideJournal(=false) option with includeJournal(=false) (i.e. opt in instead of opt out).
...
FossilOrigin-Name: 7f0eca9d0aeb49c86a785ae930d235902bbd0f15877cc8f6083daac8efb2d1c1
2025-11-30 08:32:52 +00:00
stephan
9a07531d88
Doc typo fix.
...
FossilOrigin-Name: a2b53a71e9354260c7fd0ada093cebd56a20a04add12ff2a2d788c386bf8964f
2025-11-30 07:56:40 +00:00
stephan
090acb4ead
Add sqlite3_db_handle() to the list of functions which are guaranteed to preserve the current error state, per request in [forum:8e79e8ddd5|forum post 8e79e8ddd5].
...
FossilOrigin-Name: 78bdc766330c35dbfa8b187854c48c3aff66a9d58796c9c20f3a5701e1ee4351
2025-11-30 07:25:59 +00:00
stephan
9dd6979f3e
Add sync events to kvvfs.listen() so that streaming can maybe get a better sense of when it's okay to process the stream.
...
FossilOrigin-Name: a4b6dadffa1b43aadebfa06a1de14d763efd18b16c4a3e87f1bd039fbff2524d
2025-11-30 07:08:45 +00:00
stephan
3dbe1f2f96
More work on the kvvfs events. Demonstrate re-importing a streamed-out set of db pages.
...
FossilOrigin-Name: b8fee839b0199d1d2714c99612ea4b4d943d8b0033d742eaa66e1575ce46f0d2
2025-11-30 06:20:28 +00:00
stephan
b4397ec831
Give kvvfs.unlisten() a useful result value.
...
FossilOrigin-Name: bbd08b67ceeaae2a3a82655da5a3983f4e9057424de4223f1505ba74c36238af
2025-11-30 05:25:44 +00:00
stephan
9f83f4c563
Extend the kvvfs.listen() config to enable posting of raw binary db pages instead of the kvvfs-encoding. This is much more expensive but was added to... Demonstrate basic async streaming of kvvfs db page-level changes via logging of kvvfs write/delete ops.
...
FossilOrigin-Name: 0f2bad285577c26f1185dcafd3b8ca2f16e74aa9dc40e6e23867150bccee4602
2025-11-30 05:20:17 +00:00
stephan
768c364aaa
Extend kvvfs export to optionally export the raw binary db pages as a list of Uint8Array instead of kvvfs-encoded strings. This is typically much larger but the pages can then be used as-is.
...
FossilOrigin-Name: a4f59496a53a079f8f73e4cde68f47dbd13d2d74de2ad11bc716e7e5c00f1ec0
2025-11-30 03:02:06 +00:00
stephan
6a59bb6057
Add a comment explaining the new kvvfsDecode() return -1 from [cd81cb70525e].
...
FossilOrigin-Name: ed9ab366d1c1880d3c06edce6c0c33ad30c7ae59725c1ec1fe3f620be1835630
2025-11-29 23:41:34 +00:00
stephan
e8416526f0
Fix kvvfs event notification to notify _all_ listeners and optimize better for the common case of no listeners. Squelch some debug output.
...
FossilOrigin-Name: 989d097b1324cf712107bb81697fa8e9044aea0e7feacf0e6b6561e216f07989
2025-11-29 23:29:30 +00:00
stephan
f2ec1d2560
Add a WASM-side export for kvvfsDecode() for pending private use in the kvvfs export bits and ensure that it consistently returns -1 for malformed input.
...
FossilOrigin-Name: cd81cb70525edeb25c4ab287cd5fd03db08ec45fd9e4001cad5c3eadf11505ae
2025-11-29 23:29:07 +00:00
stephan
4719c67753
More tests for the kvvfs vtab.
...
FossilOrigin-Name: 0358a99eedb503aaf8eff32a3143a2591081dfd3fd9eeecc51c601c98c714d6f
2025-11-29 21:19:35 +00:00
drh
9c2e031442
Additional defenses against using the ".open" command of the CLI in --safe
...
mode.
FossilOrigin-Name: eec0b80e53bb54ee05a4903cfb967cc2914cdcc735f1218922a0f9c80399c3e8
2025-11-29 18:59:58 +00:00
drh
91c60a0805
Update the documentation to sqlite3_str_finish(). That function might
...
not return NULL on an empty string now, if the empty string is created
through the use of sqlite3_str_truncate().
FossilOrigin-Name: b2e980ede581625e37701f54833e5615d31a1b821ddaf52a26798494f847e640
2025-11-29 18:32:25 +00:00
drh
cee98b4ced
Handle empty string values in columnar modes without NULL pointer
...
dereferences.
FossilOrigin-Name: 7927dbc5ebc76233325e45bd24181dbc5c3636e271f9352cf530f41dad6ba66d
2025-11-29 18:18:15 +00:00
stephan
facbf34cbf
Add a kvvfs vtab for inspecting the storage state. This is for testing and my own edification, not part of the public API.
...
FossilOrigin-Name: eaff2e8b7f63575e85fb9be800a2c59163e402d6a25fc6a955b9df15afe13b92
2025-11-29 16:41:27 +00:00
drh
1bc183a935
Fix an assertion fault in sqlite3Dequote() that can occur with
...
ALTER TABLE DROP CONSTRAINT on a corrupt schema.
dbsqlfuzz 509a778e8a0c21a6448003feb773a1e55ed751e7. Test case in TH3.
FossilOrigin-Name: 2dc73eb2d215178c448b182ebb227bc4753ad7baf46c8bd58f20a2b22e998726
2025-11-29 12:06:12 +00:00
stephan
c4a22d6c14
Merge trunk into the kvvfs-v2 branch.
...
FossilOrigin-Name: 0e1a6ca0f1123da680918027b16608bf87593a9d91f7b1f3fc0c3a454185740d
2025-11-28 22:17:02 +00:00
stephan
79837b6ee5
Correct a doc falsehood - jquery.terminal does not require pre-building.
...
FossilOrigin-Name: 4384c9a108b58a0b8c38c51678aad871f088358b9bff3922299cc7ddb3d247ce
2025-11-28 17:56:22 +00:00
stephan
2c881d45dd
Fiddle build: if JQTERM is set to the dir name of a built jquery.terminal checkout then copy the pieces fiddle needs to enable that input mode. By default it looks in ~/src/jquery.terminal.
...
FossilOrigin-Name: 9dd16f8e3b8e181ff138b4061c9dbc116cbc6f85ee867a97cd8af6e9e874c7d1
2025-11-28 17:50:29 +00:00
stephan
961665682b
Minor doc updates.
...
FossilOrigin-Name: 66b0f28958311204270053ef1d5e66c0ad04e3a52f2570c543b6d319d75798fa
2025-11-28 16:23:24 +00:00
dan
8fa43479b3
Fix a problem in the xFilter() method of the fts5_vocab virtual table causing it to omit some result rows in some cases where a virtual cursor is used more than once by SQLite.
...
FossilOrigin-Name: 6c99e81e6c49c078f1b00952774a7007c60dc1b4ba8a8fc11357efe9c9233212
2025-11-28 11:52:40 +00:00
stephan
f26c99005a
Rename c-pp::ARGV to c-pp::argv and remove its use from the license header (where it doesn't get applied).
...
FossilOrigin-Name: a2e18d299c8fd7360de246fdc3a2f92025bf321e06c5baf6032ba98854733e60
2025-11-28 02:34:08 +00:00
drh
6fb51919c3
Ensure that the CLI always jumps to the code that frees memory allocations
...
prior to exiting when it encounters errors on the command line - just so
that fuzzers won't call that memory leak, even though it is not.
FossilOrigin-Name: 50eaf4266f184963e85ad6235fb3410bf4992db8b3dc7c92be23a2f143c12a6b
2025-11-27 12:15:22 +00:00
drh
d98f758f40
Fix an utterly harmless memory leak that occurs when the CLI exits due
...
to an error in the command-line arguments.
FossilOrigin-Name: 55942e6d582d421187f2806dc93ea931b64dbb4025203540af654f56d1c9bc36
2025-11-27 11:40:40 +00:00
drh
00bca0b6de
Ensure that the split-column transformer in QRF correctly
...
transforms the abNum[] array.
FossilOrigin-Name: ea67d8b001d1be3b0410ca697ff7ddda71c957c8ecb6d76e75133ba39b754623
2025-11-27 11:29:14 +00:00
drh
110d452cad
Fix a CLI test case due to a change in error message text.
...
FossilOrigin-Name: cf45d534d63878b00d949234e81cf9c67db7d7067bbac2fd5cd1780463fcce06
2025-11-27 10:57:06 +00:00
drh
e5d4e067d8
Fix two harmless compiler warnings in FTS3.
...
FossilOrigin-Name: fd9158e6359a85c509e29ddbb333e5ee5d20aae5dc38cd14425286e5f3764b06
2025-11-27 01:32:07 +00:00
drh
9fa8f1d6e0
Improvements to the QRF README.md file to help clarify how to use it.
...
FossilOrigin-Name: ff589e9e0da99e2248bc7a8bff37e1deb7cbdf8285c18467acd89b65c67401d3
2025-11-26 22:58:26 +00:00
drh
95f643c27d
Do not omit the beginning and ending margins when setting bBorder to QRF_Off,
...
except when the margins need to be squeezed to fit. Those extra margins give
a more pleasing appearance, and also make the output the same as psql.
FossilOrigin-Name: 2892aaeed9f55ad87791491068493c2e530eeff4194d156f16745d185760797c
2025-11-26 21:56:55 +00:00
stephan
973340c681
Minor kvvfs error handling cleanup.
...
FossilOrigin-Name: 5ec20ebe057af297f5e0ccc0d7184ab0ed720f91db0f470a7cf827df0f2aa530
2025-11-26 20:20:40 +00:00
stephan
154e1082f1
Teach kvvf's xClose() and xFileControl() to return more specific result codes for exceptions.
...
FossilOrigin-Name: 6b48375972e6e4112efd51ffea0e54d33a4245bf0155b7fa3ca1e3f147eb043c
2025-11-26 20:18:11 +00:00
stephan
a4cb56e425
kvvfs: silently reject attempts to change the page size, as changing it corrupts this vfs for reasons not yet understood. Add more kvvfs tests.
...
FossilOrigin-Name: 65272adfab333565719bde4f6c5bbe4f0b5415c17a8de43e6b2d7b0518cca4c7
2025-11-26 20:12:29 +00:00
drh
9286439c4a
In QRF, if the horizontal alignment is QRF_ALIGN_Auto, then use right
...
alignment for numeric values and left alignment for everything else.
FossilOrigin-Name: 5fdedc69b1ac05bcdc40ee30c1473be75d3afe89e031d750c8fc3dcfa9846d5b
2025-11-26 17:23:11 +00:00
stephan
a5f1fc25e3
Factor out an obsolete malloc failure check and an snprintf() for keys in transient kvvfs storage.
...
FossilOrigin-Name: e2e94f9094f8bbe93cdf7d2a2e72e92462b94e18319603c5a364f183cb780be1
2025-11-26 17:19:44 +00:00
stephan
77e1e0b4ef
Remove a JS-specific block from os_kv.c.
...
FossilOrigin-Name: 3c1d5eac270e8afe6196ccb11a6d7bb0d1f262c882ce390a16b998bd2f55cb3d
2025-11-26 17:17:22 +00:00
stephan
2348682e4e
Fix tests broken by the previous commit.
...
FossilOrigin-Name: 430d4d668fc2d151f20a02ddbbac7f884258af7fd1268d3aafb5f9e8eadf844b
2025-11-26 16:40:23 +00:00
stephan
4ad869aa3f
Remove some dead code. Resolve the remaining kvvfs v1/v2 API compatibility confusion by eliding the v1 API from Workers like we've always done. Add some tests.
...
FossilOrigin-Name: 450b4bcca6038be58a73ff15ff18b9d70df661fe0bd9777273e0db6fbce5f296
2025-11-26 16:27:11 +00:00
stephan
0e4ea1821f
Wasm speedtest1: replace some 'self' with 'globalThis' and expose the sqlite3 object to the global scope for inspection via the dev console (for inspecting resulting kvvfs storage objects).
...
FossilOrigin-Name: c18154bc9a7cf07d3902d74d27b4ca696929aae9e1abe031679bd5a42d759046
2025-11-26 16:26:27 +00:00
drh
80c1010f88
Add the bBorder option to the QRF spec. Reflect this in the -border
...
option on the TCL format method, and the --border option to ".mode"
in the CLI. Also add the "psql" mode to the CLI.
FossilOrigin-Name: 02cbeb69884cd884d9b1b5f59c4168a3dc24b1a5aecc6967586c0be350b10574
2025-11-26 16:21:56 +00:00
stephan
0baab04f8b
Minor optimization in kvvfs event notification.
...
FossilOrigin-Name: fd85b96b12d164f7700624dba478d35e886b23f5c31c853715f783639ea95f23
2025-11-26 14:22:51 +00:00
dan
d2c7e6925c
Fix a buffer overread in fts5 that might occur while processing a corrupt db.
...
FossilOrigin-Name: 8b0cbc18be3c6f2501b102757af6be98c48044a296104cca7bce822ac2304515
2025-11-26 13:58:53 +00:00
stephan
a781caa9ad
Internal kvvfs docs and cleanups. Wasm speedtest1: remove the hard-coded --size=2 limit for kvvfs and use a transient storage object instead of session storage (which is limited to --size=2). For small job sizes kvvfs is roughly 3x the speed of memdb and that gap grows as the --size increases, with kvvfs _really_ bogging down on the --size=50 jsonb tests.
...
FossilOrigin-Name: 43173267849f7f4b77a9ee15ab586e9deb0e290071149857fe18421fb948a715
2025-11-26 13:55:20 +00:00
stephan
12572f73d5
Consistently use IsSpace()/IsDigit() instead of isspace()/isdigit() in shell.c.in to squelch warnings on Cygwin. From Jan Nijtmans.
...
FossilOrigin-Name: aa9d7365bb8d8a9d44388dc89dea09428d7cea2f9fba482cb56980b51b16b143
2025-11-26 13:24:10 +00:00
drh
ecd330f59d
Fix the sha1() extension function so that it returns actual TEXT instead
...
of a BLOB containing the UTF-8 TEXT.
[forum:/forumpost/d15eefea7c|Forum post d15eefea7c]
FossilOrigin-Name: 6f806656a3f5ce9a79b18be057d880faca506f66cd4de4b5d77393c266cfb6d2
2025-11-26 11:19:11 +00:00
drh
059b8d9c04
Tweak testrunner.tcl to allow it to use more cores.
...
FossilOrigin-Name: 71b916d4de7a4611f6ada597bfd58b59cab18e3a732de17c92b7346ecff31c04
2025-11-26 00:41:20 +00:00
drh
d1b133cd16
When "testrunner.tcl status -d N" is run but the test database is not yet
...
available, it enters a wait loop until the testing begins.
FossilOrigin-Name: 7abc25ff3b24b11c171e715ae96c8e97651d340b7a8bb8125a73902e1ad881ab
2025-11-25 23:59:31 +00:00
drh
74a04f9d96
Fix typo in the MAKE.BAT
...
FossilOrigin-Name: bf54e5fccdf7cd274f3e91a7fd4a23c85f42c0e3163d84ecdb5b9097bdc940d8
2025-11-25 22:50:39 +00:00
drh
0455b793f6
Add two new makefile targets, "errors" and "status", for checking on testrunner
...
errors and for running testrunner status -d 2, respectively. Add a simple
make.bat script at the top level that runs nmake for us, and thus make the
command-line to test on Windows identical to Unix.
FossilOrigin-Name: 838b7fd5d46ed65f22d1da6256fcf979385e37edc8aec4f19064c2c3dc13f2de
2025-11-25 22:38:07 +00:00