SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

59 check-ins using file src/shell.c.in version 01816a1e0e

2023-01-04
15:18
Enhance PRAGMA integrity_check so that it verifies that the string values stored in indexes are byte-for-byte identical to the values in the table, and not just equivalent according to the collating sequence. dbsqlfuzz 686e2e205e0c0594d3fb524bea0c25e621d1a870. (check-in: 9302e4bfdc user: drh tags: trunk)
11:58
Remove the unused "sqlite3StackAllocZero()" macro. (check-in: f0ca57207e user: drh tags: trunk)
11:57
Elaborate on the open-in-read-only fallback behavior of the SQLITE_OPEN_READWRITE flag, per user request. Unrelated trailing EOL whitespace cleanups. (check-in: 1003144fc1 user: stephan tags: trunk)
03:14
Remove the JS-side SQLITE_WASM_DEALLOC sanity check which triggers the problem mentioned in [688c5c13d156] and [ae0196d86ee8], for reasons covered in the code comments, per discussion in forum post e5b20e1feb. (check-in: 65ff3200c6 user: stephan tags: trunk)
2023-01-03
19:27
Small performance increase in the symbol hash table. (check-in: a19597b4fd user: drh tags: trunk)
18:51
Avoid an unnecessary call to strlen() in the sqlite3VdbeMemStringify() routine, for a performance increase and size reduction. (check-in: 284382d378 user: drh tags: trunk)
15:11
Small performance improvement in the btreeOverwriteCell() routine. (check-in: df5ea47130 user: drh tags: trunk)
2023-01-02
20:52
Add some docs explaining a particular piece of [ae0196d86ee8]. No code changes. (check-in: 7f96803c1c user: stephan tags: trunk)
20:07
Another reformulation of SQLITE_WASM_DEALLOC to attempt to work around a Safari-specific quirk reported in forum post e5b20e1feb. (check-in: ae0196d86e user: stephan tags: trunk)
2023-01-01
12:22
An alternative solution to mapping SQLITE_WASM_DEALLOC to the proper function pointer in JS, to account for a Safari-specific quirk reported in forum post e5b20e1feb. (check-in: 688c5c13d1 user: stephan tags: trunk)
2022-12-31
05:26
Remove redundant assignment in kvvfs's decoding. (check-in: 2ffbf0c73c user: peter.d.reid tags: trunk)
05:19
Avoid an infinite loop when an unexpected character is being decoded by kvvfs (check-in: 6909195f77 user: peter.d.reid tags: trunk)
2022-12-29
18:54
A call to sqlite3_declare_vtab() should not cause DML/DDL authorization failures. (check-in: eed1e03072 user: drh tags: trunk)
2022-12-27
22:46
Add sqlite3changeset_new/old_js(), which work like sqlite3_preupdate_new/old_js() but on changesets. (check-in: e8afad630b user: stephan tags: trunk)
14:34
Expose sqlite3_preupdate_hook() and friends to the JS API. (check-in: cc02783a12 user: stephan tags: trunk)
14:03
Fix a missing 0 at the end of an integer literal in check-in [8da0f0c38a458c57] (check-in: e3776796f5 user: drh tags: trunk)
13:52
Fix a broken assert() in fts5. (check-in: ff5a9b054f user: dan tags: trunk)
12:25
Add links to module-symbols.html for newly-added APIs. (check-in: 335ef03eb9 user: stephan tags: trunk)
12:17
Add two more tests to [f99f8e3ecfe20]. (check-in: 9cffccd335 user: stephan tags: trunk)
12:13
Expose sqlite3_commit/rollback/update_hook() to JS API. (check-in: f99f8e3ecf user: stephan tags: trunk)
11:40
Add an optional argument to oo1.DB.transaction() to specify an explicit BEGIN qualifier. (check-in: 507335c12b user: stephan tags: trunk)
2022-12-26
17:15
Expose the auto-extension API to JS and reorganize some nearby code. (check-in: 52b229d11d user: stephan tags: trunk)
15:14
Fix an infinite loop in the MEMSYS5 auxiliary memory allocator that occurs for memory allocations between 500MiB and 1GB in size. Error introduced by check-in [949133231f8f751a]. The problem only affects builds that include the SQLITE_ENABLE_MEMSYS5 compile-time option. (check-in: 8da0f0c38a user: drh tags: trunk)
15:08
Document sqlite3.capi.sqlite3_prepare_v3() as accepting an ArrayBuffer and ensure that it can. (check-in: ae3ae92ec4 user: stephan tags: trunk)
14:55
Correct some internal-use JS docs and update the 'string:flexible' type conversion to accept an ArrayBuffer (as it was recently documented to). (check-in: eff5d3bec2 user: stephan tags: trunk)
14:25
Only add an on-db-close cleanup entry for collations if adding the collation succeeds and xCompare is-a JS function. (check-in: 18a5480f1e user: stephan tags: trunk)
13:45
Extend [0e69b2c379e618] to support uninstalling stale JS-to-WASM function pointers added on behalf of UDFs. (check-in: 7a46e629dc user: stephan tags: trunk)
13:00
Add JS infrastructure which enables sqlite3.capi.sqlite3_close_v2() to clean up stale JS-to-WASM collation function conversions installed on behalf of a given db handle. The same for UDF mappings is TODO. (check-in: 0e69b2c379 user: stephan tags: trunk)
11:13
Reimplement sqlite3.capi.sqlite3_close_v2() and sqlite3session_delete() as a 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. (check-in: 60b262ef0f user: stephan tags: trunk)
01:44
Grammar fixup in comment re SQLITE_TRACE_PROFILE trace event. (check-in: b6dc80cbf6 user: larrybr tags: trunk)
2022-12-25
23:54
module-symbols.html: add some missing links to C-side API docs for recently-added JS counterparts. (check-in: 7d4f4e96f3 user: stephan tags: trunk)
23:45
Update JS worker #1 API and related tests for recent API changes. (check-in: d797e183e9 user: stephan tags: trunk)
22:55
Rename the new wasm.irSizeof() to sizeofIR() because that seems clearer. (check-in: 49a83ca3ba user: stephan tags: trunk)
22:49
Minor internal API doc correction and extend a test for oo1.DB.selectValues(). (check-in: b7295b1ca7 user: stephan tags: trunk)
22:44
Add sqlite3.oo1.DB.selectValues(). Correct a logic error which could cause DB.selectValue(), DB.selectArray(), and DB.selectObject() to fail to finalize a statement if a call to bind() failed. Add more session API tests. (check-in: 6adc8a1014 user: stephan tags: trunk)
20:25
Merge wasm-session-api branch into trunk, adding the session API to the JS/WASM components. (check-in: dfb8b651fa user: stephan tags: trunk)
20:22
Add basic session API JS tests. (Closed-Leaf check-in: 64e032602c user: stephan tags: wasm-session-api)
20:05
Add sqlite3.wasm.irSizeof() and extend certain allocation functions to make use of it. (check-in: 1cbc7b1875 user: stephan tags: wasm-session-api)
17:12
Add tests confirming that JS sqlite3_exec()'s SQL argument participates in the 'string:flexible' type conversion. (check-in: 926d0c61a3 user: stephan tags: trunk)
17:09
Replace the "manual" implementation of sqlite3.capi.sqlite3_exec() with a briefer "automated" one via the [7f9ace1b11a67] feature addition. Minor code-adjacent internal cleanups. (check-in: 4888957baf user: stephan tags: trunk)
16:20
Remove duplicated JS binding of sqlite3changeset_apply_v2(). (check-in: 2e8336b6e1 user: stephan tags: wasm-session-api)
15:28
Add the address of the associated db handle to the sqlite3_trace_v2() output originating from sqlite3.oo1.DB's trace flag. (check-in: 0a36568c5a user: stephan tags: wasm-session-api)
15:14
Update the session-related JS bindings to account for today's internal API changes. (check-in: be63944d41 user: stephan tags: wasm-session-api)
14:13
Merge trunk into wasm-session-api branch. (check-in: 7f8f1acd82 user: stephan tags: wasm-session-api)
14:04
Add missing sqlite3_context_db_handle() JS binding. Reimplement 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. (check-in: 8e3d4f6294 user: stephan tags: trunk)
12:51
Enhance sqlite3.wasm.xWrap.FuncPtrAdapter to be able to handle 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. (check-in: 7f9ace1b11 user: stephan tags: trunk)
10:22
Simplify the signature for JS functions, as opposed to function pointers, passed to sqlite3_exec(), eliminating the superfluous initial two arguments. Update related tests to demonstrate both function-passing approaches. (check-in: e7cc70cdda user: stephan tags: trunk)
2022-12-24
15:28
Replace JS-side use of SQLITE_TRANSIENT with the new SQLITE_WASM_DEALLOC, 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. (check-in: ffe2999a91 user: stephan tags: trunk)
14:16
Extend oo1.Stmt.bind() to accept ArrayBuffer instances to bind as blobs. (check-in: f76bd30137 user: stephan tags: trunk)
13:46
Add a test for the (failure) case of client-level code calling the oo1.Stmt constructor directly. (check-in: 6a37874db0 user: stephan tags: trunk)
11:16
oo1.DB.exec() rowMode="$columnName": a minor optimization and a preemtive fix for a hypothetical corner-case bug. (check-in: 0b2df22bd9 user: stephan tags: trunk)
01:59
If sqlite3.oo1.DB.exec()'s callback returns a literal false, stop step()ing over results as if the end of the result set had been reached. Unrelated minor code-adjacent cleanups. (check-in: 33a58c8ece user: stephan tags: trunk)
2022-12-23
23:46
Reimplement JS's sqlite3_bind_text/blob() with hand-written bindings to permit more flexible inputs. Add automated JS-to-C function conversion to sqlite3_busy_handler(). sqlite3.wasm.xWrap()'s '*' argument conversion no longer treats JS strings as C-strings: those conversions require explicit opt-in via the 'string' converter (or equivalent). (check-in: 96ba44946b user: stephan tags: trunk)
21:23
Merge trunk into wasm-session-api branch. (check-in: 6cdb036d8e user: stephan tags: wasm-session-api)
21:10
Internal JS cleanups. Correct part of [ac136925a645] to account for the eTextRep flag being able to hold flags other than the encoding. (check-in: 1dfc03ab1e user: stephan tags: trunk)
19:33
Merge trunk into wasm-session-api branch. (check-in: f1decc831f user: stephan tags: wasm-session-api)
19:16
Consolidate/unify how the JS bindings of the create_function/collation family of functions react to a non-UTF8 encoding: they now treat a falsy value as SQLITE_UTF8 and fail with SQLITE_FORMAT for an invalid encoding. (check-in: deffe6fb21 user: stephan tags: trunk)
19:11
Add base64() and base85() to shell sources for the non-configured makefiles, too. (check-in: ac136925a6 user: larrybr tags: trunk)
19:04
Add base64() and base85() text/blob conversions to the CLI. (check-in: 4bc98a2d95 user: larrybr tags: trunk)