|
a90c872692
|
Per /chat and forum discussions: (A) Remove the value type output pointer from text/blob_v2(). (B) Teach blob_v2() to return an opaque non-NULL pointer for length-0 blobs.
FossilOrigin-Name: c96539beb5ca3c6a467e5388b942767765a3f071e009c1767d3b4f1b0fb5da9c
|
2025-07-02 13:24:50 +00:00 |
|
|
7f030542c3
|
Have sqlite3_value/column_text/blob_v2() return MISUSE for a NULL input object or output target only if SQLITE_ENABLE_API_ARMOR is in effect, for consistency with their sibling APIs.
FossilOrigin-Name: 6290a8eaddd97acd02ee417e28c2815e5f3af67acdfc1d97a2cd88b0aee823c0
|
2025-07-01 21:06:58 +00:00 |
|
|
768714c136
|
Have sqlite3_value/column_text/blob_v2() unconditionally return MISUSE for a NULL input object or output target, rather than only when API_ARMOR is in effect. This is debatable.
FossilOrigin-Name: c8edbfc7e8b57e7b1c9a4a5cdfdc00cd7216b6ccc36ff983f85ad94865f6288f
|
2025-07-01 20:56:49 +00:00 |
|
|
3515783d55
|
Random JS cleanups and docs.
FossilOrigin-Name: 5a2734bbf8b471fa27f8f4b687e4d24f64c7663b823908f1ee8cd21bb93beb98
|
2025-07-01 17:38:08 +00:00 |
|
|
c5e9645e1b
|
Experimentally add another output pointer to the text/blob_v2() family which gets the sqlite3_value_type() assigned to it if it's not NULL, based on feedback in the forum.
FossilOrigin-Name: 4aab781d2abc64a39c53acd0faf6d60bb38afcce42f25bc8c0fa52b73df05312
|
2025-07-01 16:38:58 +00:00 |
|
|
3daba35147
|
Simplify the column_text/blob_v2() JS tests a bit and correct the text_v2() tests to call into both the column and value variants.
FossilOrigin-Name: d5cb8080434bc13616d70aac516762ca8be622bf51a07f8c36d8657c410e03ce
|
2025-07-01 14:44:12 +00:00 |
|
|
35237b91b7
|
Initial implementations of sqlite3_column_text_v2(), sqlite3_column_blob_v2(), and their JS/WASM bindings/tests.
FossilOrigin-Name: 1d065231aba8080ffd024497ad858eed22ece45fe82a749494a3efaa10f91389
|
2025-07-01 13:01:07 +00:00 |
|
|
c4c7d9ac89
|
Add tests which demonstrate the difference in behavior for zero-length results in sqlite3_value_text_v2() (empty string) vs sqlite3_value_blob_v2() (NULL).
FossilOrigin-Name: 2e7cf00d161e151d49113928fd3ef05069ecbe0635eddd844e9220bd015fe6f9
|
2025-07-01 09:02:27 +00:00 |
|
|
19bad512e5
|
Add JS tests for SQLITE_ENABLE_API_ARMOR-shielded sqlite3_value_blob/text_v2() misuse.
FossilOrigin-Name: 3c0de5b33ce5c41363d004f8359ba41486d014bb04ec7806ba8eb8636fbbdd4c
|
2025-07-01 00:34:15 +00:00 |
|
|
72f2dd0673
|
Add JS basic tests for sqlite3_value_blob_v2(). Simplify the sqlite3_value_text_v2() tests a bit.
FossilOrigin-Name: c371f92d5b42f2436d2dc92f244e11748fa8cf00e3818b613cce7ea0cfe09c87
|
2025-07-01 00:17:30 +00:00 |
|
|
3cd904cc97
|
Add JS bindings for sqlite3_value_text/blob_v2() and add basic JS tests for text_v2().
FossilOrigin-Name: 096c745f38c487c29948e4578fea61085f4a324b187d5b6e9ab32d7b14e503c3
|
2025-06-30 23:49:21 +00:00 |
|
|
5806a922ba
|
Minor JS test cleanups prompted by a linter.
FossilOrigin-Name: 764235a3d15fda55af85ebe3b5885fa27336cc0e979f1be2f6770b66a84bbe87
|
2025-06-21 16:33:05 +00:00 |
|
|
427d2cd57d
|
Remove some duplicated JS tests.
FossilOrigin-Name: d1cb9ed79d806f667c22f5ba9861451d4d0765aa3072e085831045cf3a39f8b4
|
2025-06-21 16:18:23 +00:00 |
|
|
6fcb7f22a1
|
Give oo1.Stmt.get() similar treatment to [8c187140a60b]. This is an internal change only - the API is unaffected.
FossilOrigin-Name: f5a7abc0a447273de40dacc463d267d26d4b62be56ee15baf05825791c2a7a6e
|
2025-06-21 15:58:20 +00:00 |
|
|
2f7f948fa7
|
Extend the SEE-via-kvvfs tests to include all three key types.
FossilOrigin-Name: fc001aa5ee978795c2ff670bea64db0b69b6bde98653769d9cede8825a28e698
|
2025-06-21 15:38:59 +00:00 |
|
|
0cdde5b44f
|
Rework how JS's oo1.DB.exec() flags its Stmt objects to make certain Stmt APIs illegal (i.e. throwing) if called while that Stmt is being step()ped by DB.exec() (which can happen via client-provided per-result-row callbacks). This is an internal change only - the API is unaffected. Remove some unrelated dead code.
FossilOrigin-Name: 8c187140a60b62dc3b6066b8615766d52b7a29a5de992cbb6d312dbb225a980b
|
2025-06-21 14:38:53 +00:00 |
|
|
2be0a700ff
|
Export the column-metadata APIs to WASM. Doing so requires a non-default build of sqlite3.c, so this is a proof-of-concept branch saved just in case SQLITE_ENABLE_COLUMN_METADATA ever becomes the default for sqlite3.c.
FossilOrigin-Name: 59db3f639d1073678805dea26a4686eddfb238f055aa90bd429fc7fd33241502
|
2025-06-18 15:37:04 +00:00 |
|
|
69eaadbee3
|
Merge trunk into the sahpool-digest branch.
FossilOrigin-Name: fc1eeb7d1f2880907b0fe71a8c572dd7cd74a5d65ec0177332976ad2f8c2b216
|
2025-02-26 03:32:52 +00:00 |
|
|
a32ea731a0
|
Add the pause/unpause capability to the opfs-sahpool VFS, as discussed in [forum:fe8cdb8431c|forum thread fe8cdb8431c]. Summary: this gives clients a way to eke some degree of multi-page/tab/Worker concurrency out of this VFS but requires that coordination to be implemented client-side, e.g. via a SharedWorker or WebLocks.
FossilOrigin-Name: b5dbd521951e129b4dec69f191a872500dbf387b34a8479ad58b053ffcccbab9
|
2025-02-20 04:14:26 +00:00 |
|
|
6e5802fc74
|
Improve the JS-side sqlite3_set_auxdata() test to also trigger the case that the aux data actually gets reused. Test changes only, no library code.
FossilOrigin-Name: 9f27379d860518e6e097a2c999da04176812260a61bf11fe495c3efd76971806
|
2025-02-03 18:01:42 +00:00 |
|
|
3cd34ab981
|
Rework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_set_auxdata() destructors because it can leads to leaks on every call of a UDF. This feature never worked before [76c8435a] but fixing it was ill-conceived because of the memory leakage it introduces. WASM function pointers can still be used as destructors in this context.
FossilOrigin-Name: 3fb993af0caf041da934cea29c039b27c468be0b75bce1537a6425767cf9bf8d
|
2025-02-03 17:34:12 +00:00 |
|
|
40ce00b546
|
Initial work on a fix for the SAHPool VFS's effectively-no-op digest calculation, as reported in [https://github.com/sqlite/sqlite-wasm/issues/97|ticket #97 of the downstream npm subproject]. This requires more testing alongside databases created before this version to ensure that it's backwards-compatible.
FossilOrigin-Name: 9234c33f92d92bfddc6211c9c587f1072e70837c0ffe1416ef7d84d59bacd364
|
2025-02-03 16:26:30 +00:00 |
|
|
d98689f4d3
|
Add a more complete test for [76c8435a] and add some commentary about (A) the inability to automatically clean up automatically-generated WASM proxy functions for sqlite3_set_auxdata() destructors and (B) how to deal with (A) to avoid leaking WASM proxy functions.
FossilOrigin-Name: d693c2dddbd10a2e0b77893b04b11502e30b768f1b06814105f7f35172845fb9
|
2025-02-03 14:55:56 +00:00 |
|
|
82f3052e61
|
Expose the new SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE/WRITE and SQLITE_DBCONFIG_ENABLE_COMMENTS (from [325e547a21955]) to JS/WASM.
FossilOrigin-Name: 8da1a9af66f905c683e9c3445d609b5c0e11ac912be192c468ddd79f237837f4
|
2025-01-31 18:45:03 +00:00 |
|
|
654c94d683
|
Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests.
FossilOrigin-Name: 184ba37702f63196deca91d273e798ca895fbb301938e6264bc82815a4e33149
|
2025-01-31 14:25:38 +00:00 |
|
|
8883deb30e
|
Add experimental support to pause/unpause an SAHPool OPFS VFS, as discussed in [forum:fe8cdb8431c32455|forum post fe8cdb8431c32455], the intent being enable a page to relinquish, perhaps temporarily, the VFS such that the VFS's storage can be accessed by another page/tab.
FossilOrigin-Name: 1d2683fe9e4be01c3137e750900f54d287e7d96185e66924d24b50f4647e7ef1
|
2025-01-29 11:08:11 +00:00 |
|
|
7398e279a7
|
Remove a flaky JS test which has a result depending on unrepredictable context. That same feature is more reliably tested at a later point in the same script.
FossilOrigin-Name: 3d6ae13805bdba4c73b7443f20073264cdd157299cb911228600e1528a136bb1
|
2024-11-22 16:45:43 +00:00 |
|
|
2f70d5838a
|
Fix a JS test which was broken when OMIT_PROGRESS_CALLBACK was _not_ used.
FossilOrigin-Name: fba23150b5b57980f8ed2656a2325f95215ca1e13fc3449b5eec804831dd65c8
|
2024-11-21 15:53:31 +00:00 |
|
|
cab9574668
|
Ensure that the OPFS VFS's xOpen() writes back the read-only flag to the output flags. Resolves the problem reported in [forum:cf37d5ff1182c31081 | forum post cf37d5ff1182c31081].
FossilOrigin-Name: 0a32624015f16fd881a4ecbb56b7833391028d327a95f4c899eee864ed7fe00d
|
2024-10-17 12:14:34 +00:00 |
|
|
6031de92c6
|
When calling OpfsSAHPoolUtil.removeVfs(), ensure that the cached result the VFS init is also removed so that the VFS may later be registered again with the same name. Set up test code for the regression reported in [forum:cf37d5ff11 | forum post cf37d5ff11] (which uncovered the removeVfs() shortcoming) but that test is currently only known to fail with the "opfs" VFS and is not currently set up to fail.
FossilOrigin-Name: b7f7a5deeae61920dbfec7606cf9014de711f959a285b29e12673abfd2f88646
|
2024-10-17 11:12:57 +00:00 |
|
|
d35a69a8da
|
Fix a non-bare-bones-mode test case broken by the previous checkin.
FossilOrigin-Name: 3be729493b76a8b51c19d81543dea2dcb1fc718f81d4f2d9c6e1381789217687
|
2024-07-25 16:28:55 +00:00 |
|
|
e7840ce681
|
Strip progress handlers and window functions from the wasm bare-bones (formerly 'minimal') JS bits, noting that we can't yet use OMIT_WINDOWFUNC (for the C parts) without a custom amalgamation. Currently at 604kb.
FossilOrigin-Name: ec02e9237e1ef81c4196fa630822cb109eab926143ad09593a24273eb0668601
|
2024-07-25 16:21:19 +00:00 |
|
|
520d1a8486
|
More work on the minimal-mode wasm build (now 603kb uncompressed). Remove the hard-coded feature-enable flags from sqlite3-wasm.c and rely on the build to provide them. Some wasm build cleanup, but attempts to completely overhaul it have been thwarted by my inability to make script-generated makefile code more legible/maintainable than the current eval spaghetti.
FossilOrigin-Name: b029c4067943e366a9b25b8303136fab10822bd771ea4658ac4cd716ff4a0d8f
|
2024-07-25 14:00:26 +00:00 |
|
|
cc65612e35
|
Start work on an overhaul of the wasm build process, with an eye towards less over-engineering.
FossilOrigin-Name: ed746b3dd3248b68cb91de50ac5ba5fd3a7c2fcbde76324e86b88edbfecd896b
|
2024-07-25 10:50:45 +00:00 |
|
|
b16c2980b3
|
wasm minimal build: strip authorizers and JSON support (saves approx 35kb). Strip vtab support from the JS bits but cannot yet strip it from the C bits because that requires a custom-configured sqlite3.c.
FossilOrigin-Name: eb64d106551718467e0f6c6b53695410bf4c566901008e4cda8580d0f7efa7b0
|
2024-07-24 23:58:28 +00:00 |
|
|
fe225745fc
|
Restructuring of the wasm build to support an experimental 'minimal' build mode which elides all non-core APIs.
FossilOrigin-Name: ee2191f7302210100fa0b29ace8156531ad995bf61aa2642e526e0901d0c6862
|
2024-07-24 22:07:18 +00:00 |
|
|
faf10c521f
|
Move a block of JS code which was inadvertently (and harmlessly) moved in the previous checkin. Clarify the semantics of an internal-use-only API. Add another WAL-related JS test.
FossilOrigin-Name: 6cd9f55a975b5237efee8776efce7e7836b41905ca750f82be3b90aa04c1dff2
|
2024-07-22 21:21:25 +00:00 |
|
|
71e2bdb2b4
|
OPFS VFSes: remove the on-open() pragma calls, as those (A) already reflected the build-time default settings and (B) they made it illegal to run locking_mode=exclusive, which is a requirement for WAL mode without shared memory. Modify part of the test suite to demonstrate that the SAHPool VFS can run in WAL mode so long as locking_mode=exclusive is used.
FossilOrigin-Name: 19cd8e2b056d7842ee39afb7160c901c9dc55a5bac8049cb0b5246210f6b920d
|
2024-07-22 20:58:51 +00:00 |
|
|
a0a1fb876f
|
Improve one of the JS test cases.
FossilOrigin-Name: 3767d8bef2dfa661b56c1bfaa4695e32ce26874154e4a322f0d599c257c6fc70
|
2024-07-13 18:16:40 +00:00 |
|
|
441993200e
|
Add JS binding for sqlite3_column_decltype().
FossilOrigin-Name: 5252d292b14f6ed99b09f6330b19effd488c2b23ff6ea33311321a065d3f6ce2
|
2024-07-13 15:42:30 +00:00 |
|
|
55a4bea72a
|
Add JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain().
FossilOrigin-Name: b772edfb44143107d4993bde600d0f4c45184f29a4deee403105c64748c36523
|
2024-07-13 14:07:47 +00:00 |
|
|
0b9efaffd7
|
Add missing sqlite3_bind_parameter_name() binding to JS.
FossilOrigin-Name: 6dcfcc7e1c0772b11aec750bb75899a5c8e452735ecf5028c001fbaa7aa6fda0
|
2024-07-13 13:22:32 +00:00 |
|
|
6f9b37b35b
|
Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly().
FossilOrigin-Name: 5589ba5651d80479ae555429340fc74390ff07d3e05ba770bb7d82490211e00d
|
2024-07-13 12:50:42 +00:00 |
|
|
f7623a0871
|
Rename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably onerous, forceReinitIfPreviouslyFailed, based on feedback.
FossilOrigin-Name: c9f0a6090258534a3d81066df5610229183a8457fc60d5034b4b94d9a29796e4
|
2024-07-13 00:55:55 +00:00 |
|
|
8ee747dda5
|
Reformulate the forceReinitIfFailed handling based on feedback, to correct the type-checking and resolve a potential race condition.
FossilOrigin-Name: c4f468309158f9b951137461213fb269d96d15c331256cf392a56c9bed231460
|
2024-07-11 19:50:17 +00:00 |
|
|
9958c51a5d
|
Add an option to force the opfs-sahpool VFS init to re-run after it fails on a first attempt, as a workaround for flaky environments where initial access to OPFS sync access handles is rejected but then permitted on a second attempt. Reported and discussed in [https://github.com/sqlite/sqlite-wasm/issues/79|issue #79 of the npm distribution].
FossilOrigin-Name: 5286e0f654d91a4ebee51fcabaab696e17ff07bb18990b401a31bd3d1213e695
|
2024-07-11 11:04:17 +00:00 |
|
|
5d8daf184d
|
Minor cleanups to [8fbda563d2f5].
FossilOrigin-Name: 5ee2594b657b96aea9e482a175820dcbacfa9298da45b38cf17f39ad076d3f7f
|
2024-04-22 17:03:52 +00:00 |
|
|
0a42e9913b
|
Extend the JS/WASM SEE build support by (A) filtering SEE-related bits out of the JS when not building with SEE and (B) accepting an optional key/textkey/hexkey option to the sqlite3.oo1.DB and subclass constructors to create/open SEE-encrypted databases with. Demonstrate SEE in the test app using the kvvfs. This obviates the changes made in [5c505ee8a7].
FossilOrigin-Name: 8fbda563d2f56f8dd3f695a5711e4356de79035f332270db45d4b33ed52fdfd2
|
2024-04-22 16:46:37 +00:00 |
|
|
bf030d53b1
|
Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file.
FossilOrigin-Name: e83f9788636f7f9bcca7d2a09620c13ab4eb83436d5b2946a827e48addf0267d
|
2024-03-11 09:32:38 +00:00 |
|
|
6b36d0b461
|
Make explicit which JS APIs are for internal use only by moving the JS-bound internal-use-only functions out of client-visible reach and renaming the WASM-exported ones from sqlite3_wasm... to sqlite3__wasm... (with two underscores). These have always been documented as internal-use-only, so this is not a breaking change except for clients which have ignored the docs.
FossilOrigin-Name: 0eddc20f37988df6bce5f407b69e4a315e5cca4af104586e6fe942f0d656cccd
|
2024-01-08 07:52:47 +00:00 |
|