aboutsummaryrefslogtreecommitdiff
path: root/ext/wasm
Commit message (Collapse)AuthorAge
...
* | Cherrypick [3773934e91c20ca243] into trunk.stephan2023-01-27
| | | | | | FossilOrigin-Name: 50cf4300a6a92302010fa4a7662db82bf55180a4930771f0d3c07e558bc87e7d
* | Work around a JS null pointer deref which could be triggered from the dev ↵stephan2023-01-27
| | | | | | | | | | console, but not (it seems) from client-side code. FossilOrigin-Name: eabb551b8b3d33fc3a327ecf7225436a3a3f616901e22c868fd76a5e3adc7b3f
* | Cherrypick [fa784101775b7|emscripten ticket #18609 workaround] into trunk.stephan2023-01-27
|/ | | FossilOrigin-Name: 9a26fae545b9c97129893b83ff97e62b1c477eccd1379af1dce4a3cc4fa9f932
* End-of-line whitespace cleanups and doc typo fixes. No code changes.stephan2023-01-26
| | | FossilOrigin-Name: bdfd72a083fadd724030c4c89adae71426e1ddd402c6bc5abf40801ecf3253cf
* Minor API doc cleanups and JS code simplification.stephan2023-01-21
| | | FossilOrigin-Name: f608a3a45609693c1c0237f12c394275ec9a6225fa986e62345f21af763293a0
* Emit sqlite3-api.(m)js during the JS build process, which are the JS APIs ↵stephan2023-01-18
| | | | | without the Emscripten/wasm-loading parts. They are hypothetically useful for arbitrary build environments/toolchains but have notable caveats related to the wasm imports, as elaborated on in the makefile. FossilOrigin-Name: 966b55c513a14c6ab3ec128cfe6d157ecd9bec32e3fce2f559f130249cec50ab
* Remove the JS-side SQLITE_WASM_DEALLOC sanity check which triggers the ↵stephan2023-01-04
| | | | | problem mentioned in [688c5c13d156] and [ae0196d86ee8], for reasons covered in the code comments, per discussion in [forum:e5b20e1feb|forum post e5b20e1feb]. FossilOrigin-Name: 65ff3200c6009a1649fc108d7ce36f5c014185ba46bbf98471ec86eaeb572656
* Add some docs explaining a particular piece of [ae0196d86ee8]. No code changes.stephan2023-01-02
| | | FossilOrigin-Name: 7f96803c1cbd0633367173ab0a67a8b301b9e0746e460c50d506b536c15db0a0
* Another reformulation of SQLITE_WASM_DEALLOC to attempt to work around a ↵stephan2023-01-02
| | | | | Safari-specific quirk reported in [forum:5489305f601b8c3f|forum post 5489305f601b8c3f]. FossilOrigin-Name: ae0196d86ee8ca424b5ef5a43c32988f4ab5131ea146669bc1467e31a2384901
* An alternative solution to mapping SQLITE_WASM_DEALLOC to the proper ↵stephan2023-01-01
| | | | | function pointer in JS, to account for a Safari-specific quirk reported in [forum:e5b20e1feb|forum post e5b20e1feb]. FossilOrigin-Name: 688c5c13d156f987b895df1d5a5b770616b0d9caec4726e03ba122eb8539e7b2
* Add sqlite3changeset_new/old_js(), which work like ↵stephan2022-12-27
| | | | | sqlite3_preupdate_new/old_js() but on changesets. FossilOrigin-Name: e8afad630b085a9208491e0516a6a30c9cda77a20b1aa2cba49b2f44eb9fa2f8
* Expose sqlite3_preupdate_hook() and friends to the JS API.stephan2022-12-27
| | | FossilOrigin-Name: cc02783a1210a083683320fae1ec1519e45b8e3003a9e32809d808513a2ce06b
* Add links to module-symbols.html for newly-added APIs.stephan2022-12-27
| | | FossilOrigin-Name: 335ef03eb9694d1fd123f113f235cd34e97834fadc5f7c80489b6513be45d070
* Add two more tests to [f99f8e3ecfe20].stephan2022-12-27
| | | FossilOrigin-Name: 9cffccd335b11feb6a5beadb26e1a68af7b6b1b3c953063dcf6ef74edf3c59b1
* Expose sqlite3_commit/rollback/update_hook() to JS API.stephan2022-12-27
| | | FossilOrigin-Name: f99f8e3ecfe205337996ee61c0b9f139d3e8788b14f32e26560888b3a16564de
* Add an optional argument to oo1.DB.transaction() to specify an explicit ↵stephan2022-12-27
| | | | | BEGIN qualifier. FossilOrigin-Name: 507335c12b1dbe21d180cf6f0a0deb4cc737417acb44c8f1d8fac98b86f62b01
* Expose the auto-extension API to JS and reorganize some nearby code.stephan2022-12-26
| | | FossilOrigin-Name: 52b229d11d82bfb81c8b63e252c51c57a34dc50498dd685451588c185873c628
* Document sqlite3.capi.sqlite3_prepare_v3() as accepting an ArrayBuffer and ↵stephan2022-12-26
| | | | | ensure that it can. FossilOrigin-Name: ae3ae92ec45d3d5de92e70876502f8108fc3fcd87848e86c2b83f8842f1ff139
* Correct some internal-use JS docs and update the 'string:flexible' type ↵stephan2022-12-26
| | | | | conversion to accept an ArrayBuffer (as it was recently documented to). FossilOrigin-Name: eff5d3bec29043cc1182bbb5229040dac5ff50264d025e354736bb63b4bc97a0
* Only add an on-db-close cleanup entry for collations if adding the collation ↵stephan2022-12-26
| | | | | succeeds and xCompare is-a JS function. FossilOrigin-Name: 18a5480f1e0dca55703b43fa17685a4cc577cab8841ce47c807af02348ad85ee
* Extend [0e69b2c379e618] to support uninstalling stale JS-to-WASM function ↵stephan2022-12-26
| | | | | pointers added on behalf of UDFs. FossilOrigin-Name: 7a46e629dcbf97ae037c5abb39306af7ad55f1910c1e962373e09d88d8bd5a33
* Add JS infrastructure which enables sqlite3.capi.sqlite3_close_v2() to clean ↵stephan2022-12-26
| | | | | up stale JS-to-WASM collation function conversions installed on behalf of a given db handle. The same for UDF mappings is TODO. FossilOrigin-Name: 0e69b2c379e61893c7db8a9c9d270650f2bd63b6cea30811d41136392a2e4f04
* Reimplement sqlite3.capi.sqlite3_close_v2() and sqlite3session_delete() as a ↵stephan2022-12-26
| | | | | hand-written bindings so that they can attempt to clean up certain (potentially) FuncPtrAdapter-installed functions before closing. Correct the create-function family of JS-to-function-pointer automated conversions to include the UDF's arity as part of the mapping's key so that (un)binding a UDF to different functions for different arities works (and add tests confirming it). Correct a broken doc link in module-symbols.html. FossilOrigin-Name: 60b262ef0f57b162c2566b12e70685a92afb00b441332ea7a6540fcb188cc7af
* module-symbols.html: add some missing links to C-side API docs for ↵stephan2022-12-25
| | | | | recently-added JS counterparts. FossilOrigin-Name: 7d4f4e96f33f37b0774cb8df22ed1ef33062534653a4fadf606704b855e28c49
* Update JS worker #1 API and related tests for recent API changes.stephan2022-12-25
| | | FossilOrigin-Name: d797e183e96e04520636865204c02307b751fdc2949a04587de9259a1733e37b
* Rename the new wasm.irSizeof() to sizeofIR() because that seems clearer.stephan2022-12-25
| | | FossilOrigin-Name: 49a83ca3ba46d3ae8021fbdd72b48ce9181eea6845fa7bb7aa83b16fad1728be
* Minor internal API doc correction and extend a test for oo1.DB.selectValues().stephan2022-12-25
| | | FossilOrigin-Name: b7295b1ca700945ae4e89be69f954dce9960e8975664e620898392b2cc78d452
* Add sqlite3.oo1.DB.selectValues(). Correct a logic error which could cause ↵stephan2022-12-25
| | | | | DB.selectValue(), DB.selectArray(), and DB.selectObject() to fail to finalize a statement if a call to bind() failed. Add more session API tests. FossilOrigin-Name: 6adc8a10146190037d55d3328d2f78aa5233559f88d4aa70fbbf9e10145b9b6c
* Merge wasm-session-api branch into trunk, adding the session API to the ↵stephan2022-12-25
|\ | | | | | | | | JS/WASM components. FossilOrigin-Name: dfb8b651fa4faef2d3307a05512cdc479398484c3a59715827179c363861a777
| * Add basic session API JS tests.stephan2022-12-25
| | | | | | FossilOrigin-Name: 64e032602cf420851c8029603c76f5512000d1c9a40fa7a545528d69d6d1d4cc
| * Add sqlite3.wasm.irSizeof() and extend certain allocation functions to make ↵stephan2022-12-25
| | | | | | | | | | use of it. FossilOrigin-Name: 1cbc7b1875e8611b9db7a747b4c9499501450deaf90c929d212511837d6f72b6
| * Remove duplicated JS binding of sqlite3changeset_apply_v2().stephan2022-12-25
| | | | | | FossilOrigin-Name: 2e8336b6e1cba89dbcc11d6316e39c929bf8b018a18b92efc232abd47e0a5cc6
| * Add the address of the associated db handle to the sqlite3_trace_v2() output ↵stephan2022-12-25
| | | | | | | | | | originating from sqlite3.oo1.DB's trace flag. FossilOrigin-Name: 0a36568c5a3db56a8ad23fd8abc672c5a7f1abed55984d902842ffd3ebb816e8
| * Update the session-related JS bindings to account for today's internal API ↵stephan2022-12-25
| | | | | | | | | | changes. FossilOrigin-Name: be63944d4114f53f2dab65bc6c1b85f4766a4ea14ee7b2690acde239a2a0bf54
| * Merge trunk into wasm-session-api branch.stephan2022-12-25
| |\ | | | | | | FossilOrigin-Name: 7f8f1acd82be7dc2eb2147d96299b1b443e86774dfe0b0a8d32669a0500fc9c6
| * \ Merge trunk into wasm-session-api branch.stephan2022-12-23
| |\ \ | | | | | | | | FossilOrigin-Name: 6cdb036d8e8c5ddb0c6578aeefe318e74d7a90228e57b9f9047057dae3252963
| * \ \ Merge trunk into wasm-session-api branch.stephan2022-12-23
| |\ \ \ | | | | | | | | | | FossilOrigin-Name: f1decc831fe0dc8523956e74474d9663852b0e5b56240dd8504952726e713a97
| * | | | Internal cleanups and minor speed optimizations in the sqlite3.wasm.xWrap() ↵stephan2022-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | infrastructure. FossilOrigin-Name: c4dab53b8ea3401abd57671b8f3cb39fa4431b864d4c4e14ae24592f8d4cba0a
| * | | | Add sqlite3.capi JS bindings for the sqlite3session_...(), ↵stephan2022-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | sqlite3changeset_...() and sqlite3changegroup_...() APIs, noting that they are completely untested. Aside from missing tests, these bindings reveal a slight string-argument-type shortcoming in the callback function pointer "reverse binding" which should ideally be resolved before publishing them. FossilOrigin-Name: 0a39172ee134816f5ce17a403b960e9c22bb56efd5bcf77ecde465efe0d88b1d
| * | | | Initial pieces for binding the session API to JS. Far from complete. See ↵stephan2022-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | [forum:210e36a1e3 | forum post 210e36a1e3] for the discussion. FossilOrigin-Name: cd8c100808da1043fcf63555f48f30c90272c48c6627321ceb0a0995b34733d1
* | | | | Add tests confirming that JS sqlite3_exec()'s SQL argument participates in ↵stephan2022-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | the 'string:flexible' type conversion. FossilOrigin-Name: 926d0c61a391c601adc2804d3fdaa8b667ae2abd565939cddfa12d5151b098f8
* | | | | Replace the "manual" implementation of sqlite3.capi.sqlite3_exec() with a ↵stephan2022-12-25
| |_|_|/ |/| | | | | | | | | | | | | | | briefer "automated" one via the [7f9ace1b11a67] feature addition. Minor code-adjacent internal cleanups. FossilOrigin-Name: 4888957baf18c6763f959fbba998a74156ff656368779107f502b926e9e9d949
* | | | Add missing sqlite3_context_db_handle() JS binding. Reimplement ↵stephan2022-12-25
| | | | | | | | | | | | | | | | | | | | sqlite3_set_authorizer() and sqlite3_set_auxdata() JS bindings to take advantage of [7f9ace1b11a67]. Teach FuncPtrAdapter to emit a console.warn() message if it is invoked after the library is bootstrapped, the goal being to inform users that it's an internal API and should not be invoked from client-side code. FossilOrigin-Name: 8e3d4f6294037396e388ec21abb18bf0201a6bec6ff004730cc5d11b705a6d2b
* | | | Enhance sqlite3.wasm.xWrap.FuncPtrAdapter to be able to handle ↵stephan2022-12-25
| | | | | | | | | | | | | | | | | | | | sqlite3_create_function() and friends and reimplement those bindings to use this feature (this will also simplify certain session API bindings). Interal API changes only with no client-side breakage. FossilOrigin-Name: 7f9ace1b11a6703031790af9cf08ab25df25850a86e6ca2a7aeaefd8aa395e6d
* | | | Simplify the signature for JS functions, as opposed to function pointers, ↵stephan2022-12-25
| | | | | | | | | | | | | | | | | | | | passed to sqlite3_exec(), eliminating the superfluous initial two arguments. Update related tests to demonstrate both function-passing approaches. FossilOrigin-Name: e7cc70cdda426863f82ebe1305f4c3053824c5a605b1516b0b7f205f1203178b
* | | | Replace JS-side use of SQLITE_TRANSIENT with the new SQLITE_WASM_DEALLOC, ↵stephan2022-12-24
| | | | | | | | | | | | | | | | | | | | reducing the amount allocation/copying required by sqlite3_bind_blob/text() and sqlite3_result_blob/text(). Remove the 'experimental' log message from the virtual table tests. FossilOrigin-Name: ffe2999a91a7dec129a38afb675fe9e539d7c347886bfea85cba55f6367d54d1
* | | | Extend oo1.Stmt.bind() to accept ArrayBuffer instances to bind as blobs.stephan2022-12-24
| | | | | | | | | | | | FossilOrigin-Name: f76bd30137fbff981625ffcb28cddd5e8651803dfc3f2d8d7801ead33496311d
* | | | Add a test for the (failure) case of client-level code calling the oo1.Stmt ↵stephan2022-12-24
| | | | | | | | | | | | | | | | | | | | constructor directly. FossilOrigin-Name: 6a37874db04f3b4842994ad17fc74cb6222f8ea0fa1315a23aff1ffa69bcd12a
* | | | oo1.DB.exec() rowMode="$columnName": a minor optimization and a preemtive ↵stephan2022-12-24
| | | | | | | | | | | | | | | | | | | | fix for a hypothetical corner-case bug. FossilOrigin-Name: 0b2df22bd92914708ad0851d0401ad2cf3edb1968b88b2c07fe40792a731c5ba
* | | | If sqlite3.oo1.DB.exec()'s callback returns a literal false, stop step()ing ↵stephan2022-12-24
| | | | | | | | | | | | | | | | | | | | over results as if the end of the result set had been reached. Unrelated minor code-adjacent cleanups. FossilOrigin-Name: 33a58c8ece3b37a8edc3434af36643e2d489a53a672d778c5b77e66666045c30