stephan
91479c6b10
Introducing kvvfs v2 for the JS bindings. Summary: no longer hard-coded to session/localStorage, available outside of the main UI thread (non-persistently), a simpler-to-use import/export API, and adds an asynchronous event interface intended for creating page-by-page db backups.
...
FossilOrigin-Name: ec866b04d088e53b09764d00f5403902785328fd8f3cbf80d3affa166477711d
2025-12-08 13:06:27 +00:00
stephan
50ef2f7813
Replace some double-quotes with single quotes an SQL doc snippet in the csv example virtual table.
...
FossilOrigin-Name: 1781e5e8d0cd2b508f7992987257416bd48841ea7e30bc9294784a7c1a402be7
2025-12-08 12:24:23 +00:00
drh
1241fe1450
Minor tweaks to the QRF documentation. No changes to code.
...
FossilOrigin-Name: b2517d01e65b34ea4ca52c9149d7b255a36a45a50b332cb8ccfdacf22e629be2
2025-12-07 18:19:22 +00:00
drh
5a05c59d4d
In the zipfile extension, only return as many bytes as Inflate actually
...
generated. [forum:/forumpost/761eac3c82|Forum post 761eac3c82].
Adjust ./configure so that it builds zipfile into testfixture if ZLIB
is available, so that tests get run on unix platforms.
FossilOrigin-Name: 3d459f1fb1bd1b5e723629c463ab392af7b206ece3388bda216c6a4c26160909
2025-12-06 20:41:24 +00:00
drh
4a33eed6e9
Remove #ifdefs intended to make SQLite compatible with Windows RT. WinRT
...
was short-lived and has been discontinued for a long time.
FossilOrigin-Name: 108691a3cb2f296f0ede06c34271ee185f299bfd76e97a1bd06c730a28d94ff4
2025-12-06 19:56:40 +00:00
drh
97b5c8c624
Fix a harmless compiler warning inside an assert() in FTS3.
...
FossilOrigin-Name: 005e176b4e5b3a28865b08c23d6ecd2c76c036b9c6b2075e6d7bfc584d3c433e
2025-12-06 18:40:14 +00:00
drh
4ccd61107f
Fix typos and harmless compiler warnings. Omit the use of ctypes.h in QRF.
...
FossilOrigin-Name: 4f7edadbdeeb4baee2e4a4703def6e258ce00f54684343b73380e7c69165892e
2025-12-06 11:50:36 +00:00
drh
cff66960fd
New text rendering style of QRF_TEXT_Relaxed.
...
FossilOrigin-Name: d2049bffe6674b8840663b0e5f404a040b715640c87f022517cf11546548fda3
2025-12-06 10:07:15 +00:00
drh
a3647d17c8
When drawing boxes using QRF, use rounded corners and use a double-line to
...
separate column headers from the content.
FossilOrigin-Name: 8c1ca30707c36f074dad29556df4176a74aa573491bb4aad973789aee5ad80da
2025-12-05 22:04:49 +00:00
dan
1af2607177
Fix a memory leak in the fileio extension on windows.
...
FossilOrigin-Name: 19e5ae6e20a1e2f41c5bc77b7bb99211b22d6fabf21e5f2f7f82028615eb791e
2025-12-05 19:23:20 +00:00
drh
2087fa2d97
Make the shell_exec() routine in the CLI robust against NULL SQL text.
...
Fix harmless compiler warnings in ext/misc/zipfile.c.
FossilOrigin-Name: 2ecba7dfd10c7d6a7a34b0ec01a387c9f1426c0504c8f20edc03e29bb9aa93c3
2025-12-04 20:22:36 +00:00
drh
a0a63a0408
New test cases for QRF
...
FossilOrigin-Name: e49c63e31888c6787ab13f736d58ff985a24c3f98b475e05c30e8b244afffb80
2025-12-02 18:37:49 +00:00
stephan
b6306586ec
kvvfs: make the filename suffixes -wal and -shm illegal and teach xAccess() to silently not fail for illegal names (else it breaks things when a -wal file is checked for).
...
FossilOrigin-Name: 2ea29c77a85236ca4126c05c7fd1d45a80dfe3f653af9b3ed86d6e62877ec5af
2025-12-02 18:28:22 +00:00
stephan
b58b45d48e
Get kvvfs::xAccess() fleshed out.
...
FossilOrigin-Name: d947e9bed5affee3f6e54b0fe3e2b1a0ac3771865b93c06a4087318f26d87f7f
2025-12-02 18:10:53 +00:00
stephan
6993f52d94
Consolidate kvvfs's page size workaround into a central flag and add some logging to facilitate testing and debugging.
...
FossilOrigin-Name: 8d683130d2f2aaf6300a8c858802eb671e831ed520621af59c9e830e87a9d753
2025-12-02 16:29:28 +00:00
stephan
22b1bc9997
Add more logging to kvvfs to try to trace down why it cannot recover from a page size change.
...
FossilOrigin-Name: 0bf0b8a98a2cc5128aa0e510ef2fe411a6859ce807d6159175f5eaf3bc14183b
2025-12-02 15:47:32 +00:00
drh
9fb597aed1
Add developer note on how to measure coverage of QRF.
...
FossilOrigin-Name: 0fdd453c03addb8f5c1e546f7513e3498bccd61266174ce99a61ceebf04e97cf
2025-12-02 12:23:24 +00:00
stephan
9d6b913098
Begrudingly allow sqlite3_js_kvvfs_clear() to work for opened storage only for the local/session storage cases and only (one of the demo apps reminds me) for backwards compatiblity. Likewise, the JsStorageDb.clearStorage() inherited method is now deprecated because it requires an opened db (but continues to work for those two stores), whereas its 'static' method of the same name is unaffected. Rename kvvfs.size() to kvvfs.estimateSize().
...
FossilOrigin-Name: 09e9255828ed6a7ccbe18f701f4a88b859cfdbd1ddca7ac5dac09744542c25fa
2025-12-01 22:20:54 +00:00
stephan
f1d5e9e913
Harden a change to SqliteTestUtil.assert() in the previous checkin to handle a null second argument.
...
FossilOrigin-Name: 9cbd5be803aba28916440cfa70c54588e7891d2073caebfa2b4dfcdd434b5c49
2025-12-01 21:14:11 +00:00
stephan
2463c80b54
Minor JS docs and cleanups. Add some #if'd-out kvvfs and oo1 pieces to experiment with later.
...
FossilOrigin-Name: 3db29b00db8d75c6b6a909a46a5c71515d3407af27ff9cb79091f293e4005ce3
2025-12-01 21:10:16 +00:00
stephan
4b6e26c29f
Fix a potential UAF in sqlite3.oo1.DB.exec()'s teardown pieces.
...
FossilOrigin-Name: 7e99e93cddeba555836206a278c5dcfd8565cc2a486a83cffab64dad168e9464
2025-12-01 19:19:06 +00:00
stephan
db94b3c0d7
Relax the name limits on kvvfs dbs.
...
FossilOrigin-Name: 9901cf8e4a00ea9a199a3fb54bd58bd66cff4d02c55433d55f2b417e188e49e0
2025-12-01 16:28:55 +00:00
stephan
c281beded3
Reformulate sqlite3-wasm.c's exports so that they export properly with the wask-sdk compiler.
...
FossilOrigin-Name: d71849958aabdb05225be18d6bc46699cfda9de67c7105b11c3f79d1d01f47d4
2025-12-01 16:25:53 +00:00
stephan
b8f8d021c9
Teach kvvfs to handle a NULL db file name by generating a random name, and to honor the SQLITE_OPEN_CREATE flag.
...
FossilOrigin-Name: 104291469169bef0c2ec5aee9c1cc505447541801bc822e6d5fe5360aef6a2e4
2025-12-01 15:49:31 +00:00
drh
a4f0592c5d
Tweaks to the wcwidth() algorithm in QRF, for better agreement with
...
the Terminal on Ubuntu. There is no perfect solution, as different
ttys do things differently, but we should try to get as close as we
can.
FossilOrigin-Name: 35f39f7cb1030b1a57f2921f50ab600496fc1e774593717845e87f2e47dc49ba
2025-11-30 23:09:24 +00:00
stephan
7c74a3fba5
Fix filtering of the 64-bit speedtest1 wasm test pages to again load the 64-bit wasm files.
...
FossilOrigin-Name: f507a8af41228d4ca332ab27e842767016ca18adda92e27a1e02e78f12c9be79
2025-11-30 18:59:44 +00:00
stephan
8ff58b4f41
kvvfs docs and 64-bit fixes.
...
FossilOrigin-Name: cf58e17fa2dc2e183a6ea1d41795c701efb303c9b378aa9b90953c9b568c621a
2025-11-30 18:43:59 +00:00
stephan
4694b91988
Optimize out a kvvfs event notification call in the common case where there are no listeners.
...
FossilOrigin-Name: 8405c19d32f1e8b7273953a038f8bdfd4ea1a6548300bac5421cdf6fc6840285
2025-11-30 16:37:47 +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
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
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
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
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
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
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