SQLite

Timeline
Login

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

50 check-ins occurring around 501609eddf2a46d5.

2022-09-27
09:17
wasm/js: rename /persistent to /opfs to account for potential future persistent storage options. Minor flag-handling cleanups in the speedtest1 pages. Minor API tweaks in oo1. (check-in: 4dc972a365 user: stephan tags: fiddle-opfs)
02:04
Enhance defensive mode so that it disallows CREATE TRIGGER statements if the statements within the trigger attempt to write on a shadow table. Also make the legacy FTS3 code more robust against integer overflow during memory allocation. (check-in: c41f25e6f3 user: drh tags: branch-3.39)
01:53
Make the legacy FTS3 code more robust against integer overflow during memory allocation. (check-in: 5517bc5098 user: drh tags: trunk)
00:56
Enhance defensive mode so that it disallows CREATE TRIGGER statements if the statements within the trigger attempt to write on a shadow table. (check-in: 3283bbd12a user: drh tags: trunk)
2022-09-26
20:51
Modify implementation of recovery to break recovery of the lost_and_found table into multiple steps. (check-in: adedfd040b user: dan tags: recover-extension)
13:55
Fiddle: replace db export routine with a C-side one which works for both Emscripten FS-hosted and OPFS-hosted db files. Minor code-adjacent cleanups. (check-in: 3579a8d6f1 user: stephan tags: fiddle-opfs)
11:38
Get fiddle db export working for OPFS VFS. Add root dir handle to the main OPFS VFS worker to enable creation of certain utility functions without delegating to the async worker. Add sqlite3.capi.sqlite3_wasm_rc_str() to map integer result codes back to their SQLITE_xxx counterparts. Minor doc touchups. (check-in: 9b2244e1c8 user: stephan tags: fiddle-opfs)
11:34
wasm: change StructBinder signature for sqlite3_file::pMethods from 'P' to 'p' to eliminate an unnecessary and inconsistent level of magic. (check-in: 85f2e877e5 user: stephan tags: fiddle-opfs)
2022-09-24
19:54
Add the SQLITE_RECOVER_SLOWINDEXES option, for specifying that indexes should be created and populated along with tables, instead of separately at the end of the recovery operation. (check-in: ad9dba9d1e user: dan tags: recover-extension)
19:17
Add sqlite3_recover_step() to header file sqlite3recover.h. Update the API docs in this file. (check-in: 47f4161530 user: dan tags: recover-extension)
18:05
Update things to use sqlite3_recover_step() internally. (check-in: f4b15aad30 user: dan tags: recover-extension)
11:32
Fiddle: move, rather than copy, data buffers between the threads. Fix the case of an uploaded db failing to install because its filename is the same as the opened db. (check-in: bcec4f964a user: stephan tags: fiddle-opfs)
10:15
Resolve "already configured" warnings from shell's main() when starting it up in fiddle mode. (check-in: 114ef3552a user: stephan tags: fiddle-opfs)
10:12
Reworked out the OPFS async proxy metrics are fetched so that they play more nicely with the tight event-polling loop. (check-in: ef503ced5c user: stephan tags: fiddle-opfs)
07:36
Refactoring towards getting fiddle to support OPFS as a first-class citizen. Certain operations, e.g. import, export, and unlink, are not OPFS-aware. (check-in: 1b923ed643 user: stephan tags: fiddle-opfs)
2022-09-23
21:01
Internal changes to the recover extension towards a step() style interface. (check-in: 73926d5c8c user: dan tags: recover-extension)
11:40
Fix various compiler warnings in new code on this branch. (check-in: ae49e9efde user: dan tags: recover-extension)
11:30
Merge latest trunk changes into this branch. (check-in: e87fa70ab0 user: dan tags: recover-extension)
2022-09-21
20:24
Reformulate some JS to work around a buggy/broken code transformation in one of the Emscripten-driven code optimizers. (check-in: e1249369d5 user: stephan tags: fiddle-opfs)
19:51
Put pieces in place for fiddle to support opfs, but more cleanup is required in the sqlite3.js/fiddle connection. bigIntEnabled now defaults to whether the Emscripten's module has bigint enabled. Add wasm-sensible defaults for several SQLITE_ENABLE/OMIT flags in sqlite3-wasm.c. (check-in: 7c7fb7535e user: stephan tags: fiddle-opfs)
18:21
Reduced and improved comments on the constraintCompatibleWithOuterJoin() function. (check-in: 38aaf26e08 user: drh tags: trunk)
16:21
shell.c.in: when building in fiddle mode, define _POSIX_SOURCE (ifndef) so that emcc's string.h reveals strdup(). (check-in: fb85b269c4 user: stephan tags: fiddle-opfs)
14:02
Correct mistyped --shrink-memory flag in speedtest1-worker. Minor OPFS proxy cleanups. (check-in: 86e2b55ec9 user: stephan tags: fiddle-opfs)
12:27
Doc cleanups and additions. Add a way for the OPFS async runner to propagate exception text to the calling thread. (check-in: 5c5e806528 user: stephan tags: fiddle-opfs)
12:25
Added some structure to the wasm demo link list. (check-in: 777077c4c2 user: stephan tags: fiddle-opfs)
09:54
The RIGHT JOIN logic added to version 3.39.0 added a new restriction on the query flattener which resulted in a performance regression for some queries, as documented by forum post 96b9e5709cf47cda. This change removes that restriction (thus restoring performance) and fixes the problem that RIGHT JOIN was having in a different way. (check-in: 501609eddf user: drh tags: trunk)
08:41
Add a link to fiddle.html in the wasm test app index.html. (check-in: 96c734c07a user: stephan tags: fiddle-opfs)
08:39
Move fiddle build rules into the wasm-centric build files. Add rule to push wasm bits to the wasm test server. (check-in: 113f8204dc user: stephan tags: fiddle-opfs)
00:16
Break out the decision of whether or not a constraint term is usable by an outer join into a subroutine: constraintCompatibleWithOuterJoin(). (Closed-Leaf check-in: c7fbc9b045 user: drh tags: flattener-omit-restriction-29)
2022-09-20
22:19
Do not allow EP_InnerON terms to be used on a outer join. (check-in: f47aa74569 user: drh tags: flattener-omit-restriction-29)
21:07
Add new test cases that (current) get an incorrect answer. (check-in: fe5c377364 user: drh tags: flattener-omit-restriction-29)
19:45
New test cases for query flattening when there are ON clauses and outer joins. (check-in: db55387b19 user: drh tags: flattener-omit-restriction-29)
19:22
Modify the OP_IfNotOpen opcode so that the jump is taken if the cursor is open but was previously set to a NULL row using OP_NullRow. (check-in: 1292d68caa user: drh tags: flattener-omit-restriction-29)
18:18
Remove code that has been previously commented out. (check-in: 852b385a5d user: drh tags: flattener-omit-restriction-29)
17:43
Merge the fuzzcheck fix from trunk into the flattener improvement branch. (check-in: 930a8c1561 user: drh tags: flattener-omit-restriction-29)
17:21
Update the fuzz invariant checker to conform to the latest changes in dbsqlfuzz. (check-in: 8d8c124349 user: drh tags: trunk)
16:57
Is the query flattener restriction 29 (do not allow both EP_InnerON and EP_OuterON constraints on the same FROM clause term) really necessary? This branch explores what happens if we omit that restriction. This is an effort to address the performance regression reported by forum post 96b9e5709cf47cda that is caused by flattener restriction 29. (check-in: 19270577ad user: drh tags: flattener-omit-restriction-29)
16:20
Correct a too-strict is-opfs-available check. (check-in: 1b5f1b4a6c user: stephan tags: fiddle-opfs)
16:10
Merge kv-vfs-magic-names branch into fiddle-opfs branch and make some kvvfs-relevant tweaks. (check-in: e3d36dcdd3 user: stephan tags: fiddle-opfs)
14:52
Export the sqlite3_uri_...() family of functions to wasm. (check-in: 72bebc848f user: stephan tags: fiddle-opfs)
14:39
Merge opfs-proxy-atomics branch into the fiddle-opfs branch. (check-in: 25a36920d4 user: stephan tags: fiddle-opfs)
14:36
When compiled with SQLITE_OS_KV_OPTIONAL, the magic names ":localStorage:" and ":sessionStorage:" are recognized and converted to use the kv-vfs. (Leaf check-in: c5db9262d0 user: drh tags: kv-vfs-magic-names)
14:21
Remove an obsolete file. (Closed-Leaf check-in: 1e43855498 user: stephan tags: opfs-proxy-atomics)
13:25
Speed up de/serialization of func args and return values in the OPFS VFS proxy. (check-in: 5bf235bbe0 user: stephan tags: opfs-proxy-atomics)
10:47
OPFS proxy: remove one sanity-checking-only level of proxy function to shave off a few microseconds. (check-in: b534831f3e user: stephan tags: opfs-proxy-atomics)
10:11
Remove extraneous result-code SAB slots. Doc additions. (check-in: 88de20712b user: stephan tags: opfs-proxy-atomics)
08:27
An alternative messaging strategy for the OPFS VFS proxy which uses only SharedArrayBuffer and Atomics, instead of worker messages, for communication (only the initial one-time handshake during initialization uses worker messages). It runs speedtest1 approx. 15-20% faster but still 20-ish% slower than WASMFS Edit: further tests showed it to be very close to the same speed as the Worker-message variant, inconsistently faster or slower within a small margin of error. The former impl is easier to understand, though. (check-in: a83ee3082d user: stephan tags: opfs-proxy-atomics)
03:31
OPFS VFS: further internal refactoring towards experimenting with a new comms model. (check-in: 5ca412ced2 user: stephan tags: fiddle-opfs)
01:28
OPFS VFS: moved i/o buffer from per-file to the VFS, and related refactoring, in prep for experimentation with a new inter-worker comms model. (check-in: d4d63e4580 user: stephan tags: fiddle-opfs)
2022-09-19
19:25
Clarify comments that describe query flattener restrictions associated with outer joins. No code changes. (check-in: 2647d73bb1 user: drh tags: trunk)