1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-24 22:22:08 +03:00
Commit Graph

817 Commits

Author SHA1 Message Date
c97abeac0b Add a test app to assist in validating the SAHPool digest calculation fix.
FossilOrigin-Name: a1e304b8020025cc73a658bd8c7697d59b4f3ad96cac0a3e36553a3207d13dc6
2025-02-03 17:21:54 +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
d256b56880 Correct the FuncPtrAdapter signature for the JS binding of sqlite3_set_auxdata(). Reported in [https://github.com/sqlite/sqlite-wasm/issues/92|the npm subproject, ticket #92].
FossilOrigin-Name: 76c8435a5f390001038b8ee94322ff478c9d5f29501ed1c5891c952a41e377aa
2025-02-03 14:04:27 +00:00
14613b1b1d URL typo fix in code comments. No code changes.
FossilOrigin-Name: 002a123094e4ef14eb5ec28033adca6083ba2717e1eaa23e80595e37a947e6c2
2025-02-02 12:15:25 +00:00
fdc17e0bc8 JS doc typo fixes. No functional changes.
FossilOrigin-Name: e0d9c74c1cdddb2321131255b94f9cda6530be3f2a06aed4abb54dcda092481e
2025-02-01 09:44:48 +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
cee7609074 Minor cleanups in the opfs-sahpool pause/unpause API demo.
FossilOrigin-Name: e205cdc468e02eefdeb8d391d921aa2d4d28a8b7b87036d6d937a9928261a413
2025-01-31 17:47:47 +00:00
a75321d735 Add the conventional license header to sahpool-worker.js and correct the date on the header in sahpool-pausing.js.
FossilOrigin-Name: f7c3026b0d2e33cc4e3b906810d860b155b1ff714bbe4e1eb9ee392122217efa
2025-01-31 16:34:52 +00:00
cb0da053ed Add a small test app demonstrating cooperative semi-concurrency of the opfs-sahpool VFS using its un/pauseVfs() APIs.
FossilOrigin-Name: 09570c55a23e5af76dd2153a5b28a493f498d7d4a08b0089f3074d0a2c5d3d29
2025-01-31 16:25:18 +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
d4bfa3465e Merge trunk into opfs-sahpool-pause branch.
FossilOrigin-Name: 775a547eca2b0b3dbb6c03990236128a095cc34d28caec44b9a5072510c75b63
2025-01-31 12:39:07 +00:00
efbf481541 Minor wasm-specific doc touchups.
FossilOrigin-Name: 56b618da9073db8b8d5dafa177a3c9e4c4d927bf512e14b0e6d23937f91ce4cf
2025-01-31 12:30:37 +00:00
cb46f1bb95 Simplify how OpfsSAHPoolUtil.unpauseVfs()'s returned promise is handled.
FossilOrigin-Name: d651b8da5a84cd54d71f15bd34e4db685674ef73f26f5cc26b7af5321a2ec05e
2025-01-29 11:28:18 +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
8bfb186728 Replace a handful of hard tabs in string literals with \t in mkwasmbuilds.c.
FossilOrigin-Name: e8e4d497a7b6aae450cb93927c7583fcce3fe971cd3691f9d9cad605de3cfb1f
2025-01-24 12:54:59 +00:00
4331e6bd1d Minor additions to ext/wasm/README.md.
FossilOrigin-Name: 85747ea1654c74d330614aa174ede4a989b6456eb1fc5eb0fc9f2d1418b6ef99
2025-01-24 09:21:39 +00:00
dfb5f32758 Update ext/wasm/README.md to reflect simplifications permitted by the current configure script behavior.
FossilOrigin-Name: 9abb56c6acb1c84c2df8534ca3ebb2894afd68bc7b8331d4d12611896c576749
2025-01-24 09:18:19 +00:00
c70631623c Remove extraneous are-we-making-clean guards from the generated wasm build rules, as that guard is set at a higher level. Rename a makefile call()able for consistency.
FossilOrigin-Name: 7f9074e2a7ff62bdcf343895e80a51224de62a22afbbf82068ec5fea7eeda0bb
2025-01-24 08:58:54 +00:00
07a2e5d1ed wasm: de-list demo-worker1-promiser-esm.html from the test pages because (per Chrome 131) "Module scripts don't support importScripts()", where "don't" means "they used to but no longer do".
FossilOrigin-Name: 4aa025a943a4024094b91f13abfb8945bbbb8334e3ec904dee5315852845bfe1
2025-01-23 22:23:31 +00:00
02e81f72a0 When running wasm-opt, ignore any failure because it will fail for unknown flags and the set of legal flags will change from version to version. Document the size-reduction effect (or non-effect) of a dozen-odd wasm-opt flags and retain those which demonstrate a wasm file size reduction in -Oz builds (our production build mode). Total size savings: roughly 13kb.
FossilOrigin-Name: c9dc581e0287e3462ac55f80ca76e7e98d31157022052c892517363c45287a7b
2025-01-23 19:44:09 +00:00
726a047a47 Remove some now-dead makefile code, rename a var for consistency, and fix a recipe bug introduced in the previous checkin in the bundler-friendly build.
FossilOrigin-Name: 0acd4ef3addb311476f4a670be0c4c4a0f3f88b0420886d4c1c3c3027dd51d73
2025-01-23 16:11:24 +00:00
efafde5eb4 Initial support for post-processing wasm files with wasm-opt (if it's available). This currently shaves 12kb off of the release-mode build of sqlite3.wasm but there are many dozens of wasm-opt flags left to try.
FossilOrigin-Name: 5d16e3f28364de2d6b6456a6fc56bf604b9106c3ae15719f2862192ae3020cc1
2025-01-23 15:58:01 +00:00
72543206e5 Move small parts of ext/wasm/GNUmakefile into ext/wasm/config.make.in and have the configure script populate that, rather than dynamically determining those values on each 'make' invocation. Add a configure-time check for the optional wasm-opt binary in prep for pending experimentation with using it to reduce the wasm file sizes.
FossilOrigin-Name: 0a426a549577b883e2de7cd0605041cc97b57f53ee6657bc318b0bfde7b62677
2025-01-23 14:09:02 +00:00
c9bf7ed9ad Remove unnecessary --minify 0 emcc flag from the wasm build, as -g3 implies that capability along with other anti-minification features we rely on.
FossilOrigin-Name: 10c91f9cd074e8d35af1c7f8251ac18e5dd91fa14df3fe4e1fb44441c4f08c7a
2025-01-23 11:21:29 +00:00
ec50c5a2a4 wasm: after generating the .js/.mjs file, strip out all of the generated pieces which create Emscripten call() bindings for the sqlite3 APIs, as we don't use those binding, so both the setup time and the memory they use installing WASM proxy bindings is wasted. This eliminates some 200 superfluous/unused bindings from the init process.
FossilOrigin-Name: 020d2c7528be6f11a5b2b849d7b2f04e47abe2b0842520ff60eb7defb3768e1c
2025-01-16 13:10:06 +00:00
3202b11f66 Replace use of Emscripten's Module.postRun() with a custom callback so that we get consistent library init timing with both Emscripten 3.1.x and 4.0.x. Details and discussion are in [https://github.com/emscripten-core/emscripten/issues/23420|Emscripten ticket #23420].
FossilOrigin-Name: 4863a70ac61ff6f868429f16f0141484ea98f973fde1a9aff879252d0f1dbb6b
2025-01-16 09:27:40 +00:00
3ba9adc5c1 Teach tool/stripccomments.c that a backslash immediately preceeding a forward slash means that that forward slash cannot be the start of a comment. This is intended to allow JavaScript regular expressions containing \/* (like [https://github.com/emscripten-core/emscripten/issues/23412|the one introduced in emsdk 4.0.0]) to pass through properly. Re-enable comment-stripping in the JS dist builds.
FossilOrigin-Name: db21d6cc9d1c425deffc0e4e92173caf586e6ac66110c71a4930b21e3e7f84b9
2025-01-15 21:09:19 +00:00
c738052394 Work around [https://github.com/emscripten-core/emscripten/issues/23420|a behavior change in emsdk 4.0.0] which breaks the load/init timing of the wasm module.
FossilOrigin-Name: 00a750184bcf1a94bf4e7f1d5029a42671e87e2997ae97be07bd900d3702883d
2025-01-15 20:53:14 +00:00
73d9eb1bb3 Fix a typo in a wasm makefile var name, noting that this doesn't actually fix anything because the var in question is not used when building 'clean' or 'distclean'.
FossilOrigin-Name: 7cfc75a625095e41c3e952d4a209fdbb344df0d3dd9b0103e9e6a986dfe53c89
2025-01-15 15:27:02 +00:00
4ea86ac0e3 Disable the C-style comment stripper in the JS dist build, as explained in [forum:529c20d344|forum post 529c20d344].
FossilOrigin-Name: a9475e7614f8e44252abf273d0e0522c247df12624e40108ce98ad4aaf320f2d
2025-01-15 14:28:56 +00:00
c1f914dbc9 Fix an age-old bug in the lower-level wasm/js helper bits which was (A) caused removal of customized WASM func/argument conversion to siltently fail and (B) triggered a warning in the closure toolchain. Reported in [jaccwabyt ticket c5c296e85a7c01360820|https://fossil.wanderinghorse.net/r/jaccwabyt/info/c5c296e85a7c01360820].
FossilOrigin-Name: 99917a5bb04b5ad6ace95baf86d91e6ce098f9d3001de1a29d3d0b0b817acdce
2025-01-11 09:02:55 +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
21d90a1607 Ensure that the ext/wasm fiddle build undefines certain shell feature flags which it cannot use but might be inherited from the top-level makefile.
FossilOrigin-Name: 99bb5d9b68edc3c5439f0776bce74532dd0131894c31dc8227d084e926c4638c
2024-11-04 10:16:15 +00:00
6ac6bedc80 Teach ext/wasm/GNUmakefile to use tool/emcc.sh and fix a syntax error in tool/emcc.sh.in. Work around a JimTCL incompatibility in tool/mkshellc.tcl.
FossilOrigin-Name: 24e0f6ecc67615a2a8c2df08aa47a782cf692fb1a5a59246eab83c0232e78edc
2024-10-22 12:56:00 +00:00
a525d635a9 Minor doc cleanups in SQLTester.mjs and confirm that the tests pass with both OPFS VFSes.
FossilOrigin-Name: ac747d57c2a26b47644bca2a9b191b09f5180f6872dce9c3261c370a18c848a2
2024-10-18 23:54:23 +00:00
23caead6cb Fix three bugs in SQLTester.mjs which caused --tableresult tests, escaping of SQL values to incorrectly fail, and the --column-names setting to not be reset between tests.
FossilOrigin-Name: 779368dd9b8bb20890b06229c4c3c3b5d153ee88d1af472799515cdc599c870a
2024-10-18 23:36:08 +00:00
b94228a119 Fix a var reference typo in SQLTester.mjs.
FossilOrigin-Name: 31179fa78e47cafae49df35f28e5c4b01654665d54ee60d059545ce2d97a39a2
2024-10-18 23:10:41 +00:00
d11a3fd916 Remove the unused dbfuzz2-asan/msan makefile targets. Fix a comment typo in a makefile.
FossilOrigin-Name: 07843ac245661e8b8e086ad9d36c60bacf11784e9c56482593691fb97732f04f
2024-10-18 16:50:29 +00:00
90675da34a Remove a not-strictly-necessary 'undefine' invocation from ext/wasm/GNUmakefile, as it is not compatible with too-old versions of gmake. Resolves the problem reported in [forum:e57932e3ccdc2c9c | forum post e57932e3ccdc2c9c].
FossilOrigin-Name: a31a94644113c226a06316a3f95fb38b605821f1c123e2cda06ba90bfcacf59f
2024-10-18 12:31:21 +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
drh
010f9f8704 Remove a few more traces of long double from the code.
FossilOrigin-Name: 11d6a89e4a25c3f884ff617036d239dc42522859400cd1f4674634f6c7adbb02
2024-10-02 11:34:11 +00:00
1f2faa647f Another comment about the LONGDOUBLE wasm topic. No code changes.
FossilOrigin-Name: 1755831cb1ac58241e0b11d8d003b5eca39b65aa3cb84229b215662028b1b3c0
2024-10-01 17:57:55 +00:00
c9c1b65698 Use the new SQLITE_USE_LONG_DOUBLE to disable long-double support in WASM builds, as they cannot be represented in JS and this saves approximately 5.5kb in the resulting wasm file.
FossilOrigin-Name: fa7b56f776b715d061581fad6f04b871504ff5d808e7364419d1d6cdef82c5ee
2024-10-01 17:08:23 +00:00
ed94e0e677 Add an #if'd-out block to sqlite3-wasm.c mentioning the LONGDOUBLE_TYPE, as brought up in [forum:cbfb0d0ac0a4e349 | forum post cbfb0d0ac]. No functional changes.
FossilOrigin-Name: 0b83e8f1ef53b35a9dda0740b4922b8691428f7484f3058833a961f3f8d0b178
2024-10-01 10:49:30 +00:00
33669ef289 Add another missing mkdir to the wasm build process.
FossilOrigin-Name: e815055b321085deda8607ac3279ef1a1c890fe3bf9d9b9c0a74028e87857a7d
2024-09-28 15:13:49 +00:00
5ec9ed7fe9 Complete a line of documentation which was interrupted mid-sentence.
FossilOrigin-Name: c9cbbeda3d1ec4215396aaaf94428b829c4f53329431fa61251914c195f8a9a1
2024-09-28 13:51:47 +00:00
6a8336987a wasm: move the makefile-eval-generated fiddle rules into mkwasmbuilds.c. Squelch some warnings from grep when running 'make clean' on a clean tree.
FossilOrigin-Name: 0485d1360b0dbf9987d16ab1df47b6b7a25595881581799f87889f6d4eeb60f4
2024-09-28 12:01:10 +00:00