Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
229 check-ins for the month beginning 2022-09-01
Following month ↑
2022-09-30
| ||
23:49 | Remove a couple of weird quirks of the Worker1 and Promiser APIs. The Worker1 (now undocumented) unlink capability needs to be reevaluated to work equivalently for all storage backends. (check-in: 9f2b331a32 user: stephan tags: fiddle-opfs) | |
23:02 | Tweaks to the Worker1 and Promiser APIs prompted by documenting them. (check-in: c68b9aa160 user: stephan tags: fiddle-opfs) | |
22:40 | Remove one of the NEVER() macros added by [5166acf3f0040459] because it is reachable after all. (check-in: bd8ae5febb user: drh tags: trunk) | |
20:59 | New test cases in fuzzdata8.db (check-in: aa367a3c97 user: drh tags: trunk) | |
20:53 | Fix a bug in the demoDelete fix from [d76a301e22e05722]. (check-in: 7e761a0253 user: drh tags: trunk) | |
20:48 | Add NEVER() to two error-detection tests that were made unreachable by the previous check-in. (check-in: 5166acf3f0 user: drh tags: trunk) | |
20:35 | Add JS wrapper for sqlite3_exec() which knows how to handle a JS callback. Add some console.error() reporting of module-load failures, as they otherwise often get silently swallowed up by the loader's mechanisms. Add 'flexible-string' JS-to-WASM argument converter which performs more X-to-string conversions than the 'string' arg converter does. (check-in: 96818aa83f user: stephan tags: fiddle-opfs) | |
20:15 | Better handle a case of database corruption where a b-tree page is one of its own ancestor pages. (check-in: a24e468048 user: dan tags: trunk) | |
16:49 | Add sqlite3.version object. Add more state to the Worker #1 config-get response, including sqlite3.version. (check-in: 711f458d18 user: stephan tags: fiddle-opfs) | |
15:46 | Add oo1.JsStorageDb.clearStorage/storageSize() methods, copies of capi.sqlite3_web_kvvfs_clear/size(). (check-in: 1e09efe7fa user: stephan tags: fiddle-opfs) | |
15:24 | batch-runner.js: force WebSQL batches to not abort for a failed statement (necessary for apples-to-apples-ish benchmark comparisons). (check-in: 60f0c5cb04 user: stephan tags: fiddle-opfs) | |
14:35 | Improvements to the "demoDelete" method in the demovfs, suggested by forum post cad18961c2. (check-in: d76a301e22 user: drh tags: trunk) | |
14:14 | Merge recent trunk enhancements into the reuse-schema branch. (check-in: b119a5e896 user: drh tags: reuse-schema) | |
14:04 | Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 68a61513f9 user: drh tags: begin-concurrent-pnu-wal2) | |
13:54 | Merge recent trunk enhancements into the wal2 branch. (check-in: c22c7c8798 user: drh tags: wal2) | |
13:42 | Merge the latest trunk changes into the begin-concurrent-report branch (check-in: 4d6141f32d user: drh tags: begin-concurrent-report) | |
13:29 | Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: ba2539f6de user: drh tags: begin-concurrent) | |
12:27 | Merge version 3.39.4 changes into the reuse-schema-3.39 branch. (Leaf check-in: 8102592836 user: drh tags: reuse-schema-3.39) | |
12:10 | Expose sqlite3_msize() to wasm. (check-in: aa6ad34f3b user: stephan tags: fiddle-opfs) | |
11:01 | Add oo1.JsStorageDb() as a convenience wrapper for oo1.DB(...,'kvvfs'). Minor doc cleanups. (check-in: 8a7998709f user: stephan tags: fiddle-opfs) | |
10:55 | wasm: expose sqlite3_de/serialize(), sqlite3_malloc/free() and friends, noting that the former explicitly lies on use of the latter for memory management so is not generically safe for use in wasm. (check-in: fbc0edb5d3 user: stephan tags: fiddle-opfs) | |
2022-09-29
| ||
22:08 | Add JS infrastructure to ostensibly allow us to customize the wasm imports, which will hypothetically allow us to eliminate the dependency on EM_JS(), but the corresponding Emscripten glue-level feature currently breaks fatally with WASMFS builds so it's disabled. (check-in: 88d9253b0d user: stephan tags: fiddle-opfs) | |
17:35 | Ensure that the wasm builds always, even when passing -Ox flags from the CLI, use -g3 to avoid problems caused by symbol minification with optimization levels -O2 and higher. (check-in: 27d24d5d27 user: stephan tags: fiddle-opfs) | |
16:54 | Finish eliminating explicit Emscripten module dependencies in test code and fiddle. The only remnant in public code is the Emscripten-generated module load/init interface. (check-in: 7be78dd4ef user: stephan tags: fiddle-opfs) | |
15:55 | Version 3.39.4 (check-in: a29f994989 user: drh tags: release, branch-3.39, version-3.39.4) | |
13:17 | Rework the Emscripten-emitted module loader/init function such that it passes on the sqlite3 module, instead of the Emscripten module, to the first then() of sqlite3InitModule()'s returned Promise. This eliminates any need to mention the Emscripten module object in client-side code unless they want to configure it in advance for loading-status reports. (check-in: 0dbaa0e2b5 user: stephan tags: fiddle-opfs) | |
2022-09-28
| ||
19:19 | Fix misuse of the sqlite3_set_auxdata() interface in the ICU extension. (check-in: 6607dd0103 user: drh tags: branch-3.39) | |
19:14 | Fix misuse of the sqlite3_set_auxdata() interface in the ICU extension. (check-in: f25cf63471 user: drh tags: trunk) | |
18:10 | Wasm: expose sqlite3_exec() and use it to simplify the db-reset logic in batch-runner.js a bit. (check-in: 2e2821f782 user: stephan tags: fiddle-opfs) | |
17:52 | More work on batch-runner.html/js to facilitate speed comparisons between various VFSes and WebSQL. (check-in: 3bd1bc2406 user: stephan tags: fiddle-opfs) | |
17:10 | Prototype implementation of "PRAGMA reset_database". This pragma differs from SQLITE_DBCONFIG_RESET_DATABASE in that the pragma only works if the database is reasonably well-formed, whereas the dbconfig works regardless. (Leaf check-in: cf0999d4f8 user: drh tags: reset-database) | |
13:38 | Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7 (check-in: a4342fc020 user: drh tags: branch-3.39) | |
13:01 | Correct duplicate copies of sqlite3-api.js being embedded in the wasmfs-based builds. (check-in: bbfcfba260 user: stephan tags: fiddle-opfs) | |
07:53 | Work around broken -Os wasm builds by adding the -g3 flag. Unrelated documentation tweaks. (check-in: f5d6bf8616 user: stephan tags: fiddle-opfs) | |
2022-09-27
| ||
17:03 | Minor doc correction. (check-in: 093f6e4b36 user: stephan tags: fiddle-opfs) | |
17:00 | Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93adf user: dan tags: branch-3.14) | |
16:35 | Provide the SQLITE_MAX_ALLOCATION_SIZE compile-time option for limiting the maximum memory allocation size. (check-in: 584de6a996 user: drh tags: trunk) | |
14:31 | Comment the -Os wasm builds as being broken (mysteriously missing JS bits). (check-in: f61475ef82 user: stephan tags: fiddle-opfs) | |
13:40 | WASM API renaming. Reworked JS API bootstrap's async post-init into a generic mechanism, no longer OPFS-specific. (check-in: c42a8cb090 user: stephan tags: fiddle-opfs) | |
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). | |
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) | |
18:22 | Further metrics and buffer-copy optimizations in the OPFS proxy, but with little effect. (check-in: d1f1fe6f1c user: stephan tags: fiddle-opfs) | |
17:41 | Fix a minor comment typo. No changes to code or documentation. (check-in: 8032db4ade user: drh tags: trunk) | |
17:09 | Cut the speedtest1 runtime of the OPFS VFS proxy by approximately 3/4ths via xRead/xWrite buffer-copying optimizations. Still slower than the WASMFS impl by approx. 1/5th. (check-in: fb7f287310 user: stephan tags: fiddle-opfs) | |
14:56 | Remove an obsolete file. Update wasmfs build for today's changes. Fix the case that OPFS.xTruncate() is passed a BigInt instead of a Number. (check-in: 9760539250 user: stephan tags: fiddle-opfs) | |
13:44 | Add sqlite3_web_vfs_list() to JS API. Corrected OPFS VFS's registering itself as the default VFS. speedtest1-worker now uses the xDelete() of both the default VFS and OPFS, to avoid that it starts up with a persistent OPFS test db (the native app calls unlink(), but that unlink call operates on a different virtual filesystem than the OPFS VFS). (check-in: 2ec7e09139 user: stephan tags: fiddle-opfs) | |
13:16 | Merge kv-vfs branch into fiddle-opfs. Adjust various JS APIs and apps to deal with the new method of handling kvvfs. Adjust speedtest1 JS build to include sqlite3-api.js so that it can use kvvfs and opfs VFSes. Permit passing of the vfs as a URL parameter to certain demo/test apps. Milestone: speedtest-worker.html?vfs=opfs runs with the standalone OPFS impl. (check-in: ec09f32f7a user: stephan tags: fiddle-opfs) | |
11:47 | speedtest1: add --vfs NAME flag and eliminate code duplication in argc size verification for all flags which take a value. (check-in: 281d098671 user: stephan tags: fiddle-opfs) | |
10:13 | Minor doc improvements in demo-123.js. (check-in: 9370ce9478 user: stephan tags: fiddle-opfs) | |
09:58 | Generic cleanups in the OPFS VFS proxies. (check-in: 7d5f6adc3b user: stephan tags: fiddle-opfs) | |
09:25 | Correct OPFS VFS xRead() to copy the result buffer if the result code is SQLITE_IOERR_SHORT_READ. (check-in: 56668f9902 user: stephan tags: fiddle-opfs) | |
05:19 | Replace OPFS VFS xSleep() impl with a more efficient one (no Worker round-trip needed). (check-in: b9773f1648 user: stephan tags: fiddle-opfs) | |
03:57 | Rename demo-oo1.* to demo-123.* and add demo-123-worker.html, which runs the same demo via a Worker. Doc typo fixes. (check-in: 2e4a005bd3 user: stephan tags: fiddle-opfs) | |
00:40 | Disable build of wasmfs-using components on aarch64 (ARM), as wasmfs won't build there. (check-in: 9a9eeebc2c user: stephan tags: fiddle-opfs) | |
2022-09-18
| ||
17:59 | Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7 (check-in: 90403759e1 user: drh tags: trunk) | |
17:32 | Numerous cleanups in the JS bits. Removed some now-defunct wasm test files. Expose sqlite3.opfs object containing various OPFS-specific utilities. (check-in: 26e625d05d user: stephan tags: fiddle-opfs) | |
03:05 | Move the OPFS VFS bits back into api/sqlite3-api-opfs.js. Refactor the OPFS VFS init process to use a Promise-returning function which the client must call, as that eliminates any uncertainty about when the VFS (necessarily activated asynchronously) actually becomes available to the client. Rename x-sync-async.* to test-opfs-vfs.* Milestone: first successful test of OPFS without WASMFS. (check-in: b2abf60dbf user: stephan tags: fiddle-opfs) | |
02:35 | Move the OPFS VFS bits back into api/sqlite3-api-opfs.js. Refactor the OPFS VFS init process to use a Promise-returning function which the client must call, as that eliminates any uncertainty about when the VFS (necessarily activated asynchronously) actually becomes available to the client. (check-in: 1c660970d0 user: stephan tags: fiddle-opfs) | |
00:16 | Plug OPFS methods in to their sqlite3_vfs/io_methods counterparts. Add URL args to control debug output and running of sanity-checks in the OPFS init code. (check-in: a0e93ed20b user: stephan tags: fiddle-opfs) | |
2022-09-17
| ||
23:47 | Correct OPFS xRead() and xWrite() impls and add a very basic sanity test for them. (check-in: cd06cc6700 user: stephan tags: fiddle-opfs) | |
23:29 | Implement OPFS xAccess(), albeit with more limited semantics than the VFS API calls for. Add a way for OPFS xDelete() to optionally recursively remove empty dirs left over after deleting a file. (check-in: c342b5d745 user: stephan tags: fiddle-opfs) | |
21:13 | Generic cleanups in the OPFS sync/async proxy. (check-in: f36bddbe54 user: stephan tags: fiddle-opfs) | |
20:50 | Add the remaining vfs/io_methods wrappers to the OPFS sync/async proxy, but most are not yet tested. (check-in: 44db913214 user: stephan tags: fiddle-opfs) | |
18:31 | Fix an uninitialized variable in the decoder kv-vfs. (check-in: 354726aa6c user: drh tags: kv-vfs) | |
18:29 | Include the kv-vfs as an optional VFS on unix builds if the SQLITE_OS_KV_OPTIONAL compile-time option is present. (check-in: 852812d1e2 user: drh tags: kv-vfs) | |
17:26 | Merge the latest trunk enhancements into the kv-vfs branch. (check-in: 37c7ca25a6 user: drh tags: kv-vfs) | |
15:08 | Add initial bits of an experimental async-impl-via-synchronous-interface proxy intended to marshal OPFS via sqlite3_vfs API. (check-in: 38da059b47 user: stephan tags: fiddle-opfs) | |
2022-09-16
| ||
20:16 | Merge kv-vfs branch into fiddle-opfs branch. Adjust speedtest1 --size flags to account for new size limit. (check-in: afb79050e6 user: stephan tags: fiddle-opfs) | |
15:19 | Corrections to the xRead method for databases in the os_kv.c VFS so that it correctly reads the header, and thus avoids unnecessary cache flushes. This changes also includes an optimization to the header read logic. (check-in: ef54961ce6 user: drh tags: kv-vfs) | |
12:49 | When calculating kvvfs sessionStorage/localStorage size, multiply it by 2 to account for JS using 16-bit characters. (check-in: 52d1b185b9 user: stephan tags: fiddle-opfs) | |
11:45 | Merge kv-vfs branch into fiddle-opfs branch for [21915af560b1|synchronous=off fix]. Remove some duplicate debug output in OPFS test code. (check-in: 13899bb98c user: stephan tags: fiddle-opfs) | |
11:37 | Fix os_kv.c so that it uses SQLITE_FCNTL_SYNC and hence works even with PRAGMA synchronous=OFF. (check-in: 21915af560 user: drh tags: kv-vfs) | |
02:30 | Add batch-runner-kvvfs.html, a kvvfs-specific build of batch-runner.html. Reduce the speedtest1 --size X value for the batch list generation to 5 so that the kvvfs batch runner can handle it. (check-in: d8df25920a user: stephan tags: fiddle-opfs) | |
02:28 | Remove --nosync flag from speedtest1-kvvfs.html, as that seems to be the trigger for the 'no such table: z1' error. That app now warns if that flag is passed to it via URL args. (check-in: ad0677e8ab user: stephan tags: fiddle-opfs) | |
01:08 | Pull the src/os_kv.c part of [13839759f8f4] into the kv-vfs branch. (check-in: e334449912 user: stephan tags: kv-vfs) | |
01:05 | Add return value checks to kvstorageWrite(), necessary for recognizing storage-full errors in the JS binding. speedtest1-kvvfs.html runs successfully on localStorage with --size 1 to 6 and starts failing with storage shortage at --size 7. (check-in: 13839759f8 user: stephan tags: fiddle-opfs) | |
2022-09-15
| ||
06:42 | More work on the synchronous OPFS experimentation. Numerous wasm/js build tweaks. Add speeedtest-wasmfs.html, the wasmfs/opfs counterpart of speedtest1.html. (check-in: 00ee49a3a2 user: stephan tags: fiddle-opfs) | |
03:54 | Fix windows builds of recover extension. (check-in: abcbb6abfe user: dan tags: recover-extension) | |
03:16 | Remove some stale comments. Get scratchpad-opfs-worker2.js running again in prep for reuse in experimenting with the OPFS all-synchronous API. (check-in: 4cbbd37018 user: stephan tags: fiddle-opfs) | |
03:09 | Split wasmfs-enabled build of sqlite3.js/wasm into sqlite3-wasmfs.js/wasm, as enabling wasmfs breaks all tests/demos which run from a Worker thread. (check-in: 08476f3c21 user: stephan tags: fiddle-opfs) | |
02:27 | Clean up some JS documentation. (check-in: 925fdbfc6c user: stephan tags: fiddle-opfs) | |
2022-09-14
| ||
20:45 | Include recovery extension in configure/make builds of testfixture. (check-in: d2f4652144 user: dan tags: recover-extension) | |
18:57 | Extra tests and fixes. (check-in: deed533693 user: dan tags: recover-extension) | |
16:37 | Fix recovery of utf-16 databases. (check-in: 5b05be0861 user: dan tags: recover-extension) | |
2022-09-13
| ||
20:40 | Add OOM tests for the recovery extension. (check-in: 9b6b4c7162 user: dan tags: recover-extension) | |
19:47 | Fix a broken error handling case in the recovery extension. (check-in: 60089547e1 user: dan tags: recover-extension) | |
19:27 | Add/apply various kvvfs-specific utility APIs to the JS layer to assist in testing and analysis. Correct a backwards default arg check for sqlite3ApiBootstrap(). Add exports for sqlite3_db_handle(), sqlite3_file_control(), and the SQLITE_FCNTL_xxx enum. (check-in: 0d78961870 user: stephan tags: fiddle-opfs) | |
18:08 | Add tests. Deal issues surrounding aborting recovery from within the SQL callback, and avoiding the pending-byte page. (check-in: 4e97dd31f5 user: dan tags: recover-extension) | |
2022-09-12
| ||
22:27 | Get testing1.js working with a kvvfs build. (check-in: 333a45725d user: stephan tags: fiddle-opfs) | |
20:21 | Remove an extraneous key-copy op in the EM_JS impl of kvstorageDelete(). (check-in: 1c5aeee455 user: stephan tags: kv-vfs) | |
20:18 | Merge kv-vfs branch into fiddle-opfs and add speedtest1-kvvfs.html test app (which currently fails early on). (check-in: 8b1608a9a3 user: stephan tags: fiddle-opfs) | |
20:02 | Fix some problems with handling corrupt database in the recovery extension. (check-in: ed318be824 user: dan tags: recover-extension) | |
19:33 | Fix the <sys/time.h> include in os_kv.c. (check-in: 878cc93e77 user: drh tags: kv-vfs) | |
19:29 | Add a gettimeofday()-based implementation of xCurrentTimeInt64() to os_kv.c. (check-in: e393ed650e user: drh tags: kv-vfs) | |
19:23 | More tests for the recover module. (check-in: 37fb093b95 user: dan tags: recover-extension) | |
18:10 | Fix a debugging/testing edit in the previous check-in. (check-in: 6fc8d34c0a user: drh tags: kv-vfs) | |
17:59 | Add sqlite3.oo1.DB.clearKvvfsStorage(). Add controls to kvvfs1.js demo to reset and query the db without requiring the dev console. (check-in: d845c6c22b user: stephan tags: fiddle-opfs) | |
17:44 | Faster text decoder for kv_os.c. (check-in: 3354a2edb7 user: drh tags: kv-vfs) | |
16:09 | Merge kv-vfs branch into fiddle-opfs branch to add kvvfs-based wasm build and demo. (check-in: a7d8b26acd user: stephan tags: fiddle-opfs) | |
16:07 | New run-time options to the speed-check.sh script. (check-in: ff46bc9d2a user: drh tags: trunk) | |
15:59 | Fix uninitialized variable in rollback-journal processing in os_kv.c (check-in: e49682c5ea user: drh tags: kv-vfs) | |
13:05 | Resolve missing kvvfs JS test: sqlite3_initialize() must be called by the client in this build. Add basic sanity test of kvvfs using sessionStorage(). (check-in: 250a935aeb user: stephan tags: kv-vfs) | |
12:41 | Fix the amalgamation so that it builds with the standard unix backend again. (check-in: 0adf158f4e user: drh tags: kv-vfs) | |
12:39 | Initial build of kvvfs in wasm. It loads but cannot find the VFS for as-yet-unknown reasons (sqlite3 shell works fine), and most APIs throw "null function or function signature mismatch" from deep within wasm, presumably as a side effect of the "missing" VFS. (check-in: 1a2f24a0bd user: stephan tags: kv-vfs) | |
2022-09-11
| ||
16:59 | Minor cleanups and documentation in the wasm pieces. (check-in: 4e6ce32987 user: stephan tags: fiddle-opfs) | |
05:44 | Correct the result code from kvstorageRead() for the OOM case to be a negative value. (check-in: cdbf09fa1b user: stephan tags: fiddle-opfs) | |
05:38 | Minor cleanups and docs for the EM_JS() impls of the kvvfs read/write/delete ops. (check-in: 53b7572e44 user: stephan tags: fiddle-opfs) | |
04:49 | Add EM_JS() impl for kvstorageRead(). (check-in: 06610314fc user: stephan tags: fiddle-opfs) | |
02:43 | Initial prototype impls of write/delete-key ops for the pending kvvfs which use sessionStorage or localStorage for db page storage. read-key op is pending. (check-in: a4bd96f534 user: stephan tags: fiddle-opfs) | |
2022-09-10
| ||
20:01 | Rework recover extension code for readability. (check-in: 1a2540960e user: dan tags: recover-extension) | |
18:38 | Improved comments in os_kv.c. Better names for the key/value name spaces. (check-in: 8e1652a385 user: drh tags: kv-vfs) | |
18:20 | Move the vfskv.c extension to src/os_kv.c and make it part of the amalgamation, activated if and only if SQLITE_OS_KV is true. (check-in: f6632e69c2 user: drh tags: kv-vfs) | |
13:50 | Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never overloads a page number and uses only the PENDING_BYTE page for temporary storage. (check-in: aa6a5b7297 user: dan tags: branch-3.39) | |
2022-09-09
| ||
20:44 | Further fixes to comments in sqlite3recover.h. Also rework some data structures in sqlite3recover.c. (check-in: 599d1f8ec2 user: dan tags: recover-extension) | |
17:50 | Fix harmless compiler warning seen with MSVC. (check-in: 73c4c68d3b user: mistachkin tags: trunk) | |
16:25 | Handle recovery of virtual tables by recovering each shadow table individually, then writing the CREATE VIRTUAL TABLE statement directly into the sqlite_schema table. (check-in: 5f2d5ccd56 user: dan tags: recover-extension) | |
16:16 | Database must be named either "local" or "session". Each has a distinct namespace. (check-in: c8e4127929 user: drh tags: kv-vfs) | |
14:22 | Separate sqlite3_io_methods objects for database files and journals. (check-in: 74fbf6c2a9 user: drh tags: kv-vfs) | |
11:41 | Simple reading and writing now works. (check-in: 00845ac9ef user: drh tags: kv-vfs) | |
05:39 | Remove a reference to a completed TODO. (check-in: 757ad69607 user: stephan tags: fiddle-opfs) | |
04:50 | speedtest1 wasm: add a link in the worker variant which launches the main-thread variant with the selected CLI flags. Append collected stdout/stderr to the main-thread page after execution is finished to avoid having to open the dev tools (which inexplicably slows down wasm execution). (check-in: 02709ee2be user: stephan tags: fiddle-opfs) | |
2022-09-08
| ||
21:43 | Update comments in sqlite3recover.h. (check-in: 14164047c4 user: dan tags: recover-extension) | |
21:33 | Make use of the --big-transactions flag in the speedtest1 JS apps. (check-in: f2846dcbca user: stephan tags: fiddle-opfs) | |
21:09 | Add speedtest1 --big-transactions flag to cause its large tests which rely on implicit transactions to be wrapped in BEGIN/COMMIT, per /chat discussion. Added to support of the WASMFS build, which slows down significantly when thousands of implicit transactions are used. (check-in: 51395c005d user: stephan tags: fiddle-opfs) | |
20:04 | Minor build cleanups and tweaks in the speedtest1 wasm apps. (check-in: 5240fb4d79 user: stephan tags: fiddle-opfs) | |
19:53 | Experimentally add --nomutex flag to speedtest1 to have it open db with the SQLITE_OPEN_NOMUTEX flag. (check-in: 45ef576b2e user: stephan tags: fiddle-opfs) | |
19:22 | Update the shell to use the recover extension for the .recover command. (check-in: ae832e7708 user: dan tags: recover-extension) | |
17:42 | Fix problems with recovering the sqlite_sequence table. (check-in: 356d2209ea user: dan tags: recover-extension) | |
17:12 | Compiles and loads as an extension. Starts to run but quickly hits issues. (check-in: 2e38726f46 user: drh tags: kv-vfs) | |
16:27 | Compiles without error, but untested. (check-in: a329939c32 user: drh tags: kv-vfs) | |
15:48 | Code snapshot. Completely untested. Probably does not compile. (check-in: 51e267696d user: drh tags: kv-vfs) | |
15:30 | Add speedtest1-worker.html, an interactive Worker-thread variant of speedtest1.html. Add ext/wasm/index.html to act as a gateway to the various test pages. (check-in: f16c68ee6d user: stephan tags: fiddle-opfs) | |
11:04 | Add new test file recoverclobber.test. (check-in: cb4e950c47 user: dan tags: recover-extension) | |
2022-09-07
| ||
20:14 | Enhance an assert() to impose for tighter constraints on the operation of pcache. (check-in: 461511cc99 user: drh tags: branch-3.39) | |
20:11 | Enhance an assert() to impose for tighter constraints on the operation of pcache. (check-in: 42105eb43a user: drh tags: trunk) | |
19:58 | Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT. (check-in: 1662eb07d8 user: drh tags: branch-3.39) | |
19:50 | Ensure that the Rekey() operation does not overwrite an existing page number. (check-in: cd1e40064c user: drh tags: branch-3.39) | |
19:35 | Increase the version number to 3.39.4 (check-in: e98bed127d user: drh tags: branch-3.39) | |
19:28 | An improved technique for ensuring that the Rekey() operation does not overwrite an existing page number. This approach does not change the semantics of the underlying pluggable pcache and it is easier to prove correct. This replaces the changes at [aadd38f99a3e5abc] and [81cff9f1955874aa]. (check-in: 7dbddde79e user: drh tags: trunk) | |
17:29 | Non-working code towards a VFS for text key/value storage. (check-in: f9c89ee8d5 user: drh tags: kv-vfs) | |
16:41 | Ensure that the recover extension properly escapes CR and NL characters in text mode. Also that it holds transactions open on both input and output databases for the duration of a recovery operation. (check-in: 6cca8913e7 user: dan tags: recover-extension) | |
2022-09-06
| ||
23:04 | Add a note about Emscripten's -sSINGLE_FILE flag, why it would be nice, and why we can't use it. (check-in: 5ea0623630 user: stephan tags: fiddle-opfs) | |
20:17 | Get speedtest1.js working with WASMFS/OPFS. (check-in: 40e60f570d user: stephan tags: fiddle-opfs) | |
19:38 | Tests and a fix for the SQLITE_RECOVER_ROWIDS option. (check-in: 1d5000f571 user: dan tags: recover-extension) | |
16:47 | Initial build of speedtest1.wasm and speedtest1.html with which to run it. (check-in: 4441535e3e user: stephan tags: fiddle-opfs) | |
16:35 | Minor internal doc clarifications. (check-in: 09796cc2bf user: stephan tags: fiddle-opfs) | |
09:59 | Merge trunk into fiddle-opfs branch. (check-in: 7f76eaec79 user: stephan tags: fiddle-opfs) | |
2022-09-05
| ||
22:54 | Add the tool/omittest-msvc.tcl script that will try to build using MSVC using various compile-time options, to ensure that the compile-time options all build without errors. (check-in: 6b00ecb59f user: drh tags: trunk) | |
22:53 | Get the tool/omittest-msvc.tcl script working. (Closed-Leaf check-in: 82b89f8a07 user: drh tags: msvc-omit-test) | |
21:22 | Fix a problem with script mode and lost-and-found tables. (check-in: 09ec588d2f user: dan tags: recover-extension) | |
21:00 | Add a mode to output SQL statements instead of populating a database to the recover extension. (check-in: 73058416e7 user: dan tags: recover-extension) | |
20:42 | Add a prototype for a script, similar to tool/omittest.tcl, that is designed to test builds using MSVC to ensure they work with various OMIT options. (check-in: b1e37a0bd3 user: drh tags: msvc-omit-test) | |
18:17 | Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT. (check-in: f74a5ea8c9 user: drh tags: trunk) | |
15:56 | Add the SQLITE_RECOVER_ROWIDS option. To specify that rowid values that are not also explicit INTEGER PRIMARY KEY values should be preserved. (check-in: 69cc9aba56 user: dan tags: recover-extension) | |
13:36 | Merge patches for version 3.39.3 into the reuse-schema-3.39 branch. (check-in: efd54164b0 user: drh tags: reuse-schema-3.39) | |
13:24 | Minor cleanups in OO API #1. Add Sudoku SQL to batch-runner.js's list. (check-in: 4488cb5798 user: stephan tags: fiddle-opfs) | |
12:39 | Version 3.39.3 patches applied to the begin-concurrent branch. (Leaf check-in: 31304de83e user: drh tags: begin-concurrent-3.39) | |
11:02 | Version 3.39.3 (check-in: 4635f4a69c user: drh tags: release, branch-3.39, version-3.39.3) | |
2022-09-03
| ||
21:08 | Add an option to assume the freelist is corrupt when recovering data. (check-in: 253e498f52 user: dan tags: recover-extension) | |
20:31 | Take the freelist into account when recovering data that is not linked in to any tree associated with a schema entry. (check-in: dbd1f1efb3 user: dan tags: recover-extension) | |
20:07 | Further work on making the recover extension compatible with the .recover command. (check-in: f2ac315844 user: dan tags: recover-extension) | |
11:41 | wasm: minor text and build cleanups. (check-in: 36ceef94e1 user: stephan tags: fiddle-opfs) | |
2022-09-02
| ||
21:21 | Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file. (check-in: fe547035ce user: dan tags: branch-3.39) | |
21:19 | Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file. (check-in: da7af29096 user: dan tags: trunk) | |
19:18 | Remove a NEVER() that is sometimes true. (check-in: 85a8a11740 user: drh tags: branch-3.39) | |
17:26 | Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c]. (check-in: f448480e1b user: drh tags: branch-3.39) | |
17:25 | Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c]. (check-in: 54251f81eb user: drh tags: trunk) | |
16:45 | When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29 (check-in: 073621afa2 user: drh tags: branch-3.39) | |
15:53 | When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29 (Leaf check-in: b17a250368 user: drh tags: branch-3.39-pcache) | |
15:19 | If sqlite3PcacheMove() moves a page on top of another, swap the two pages, moving the other back to the page number of the original. (check-in: 04eb9f97b9 user: drh tags: branch-3.39-pcache) | |
15:09 | If sqlite3PcacheMove() really performs a swap, then be sure to renumber the second page. (check-in: 81cff9f195 user: drh tags: trunk) | |
14:29 | Enhance the pcache1 implementation so that during an xRekey operation if another page already exists at the destination, that other page gets moved to the source key. (check-in: aadd38f99a user: drh tags: trunk) | |
12:12 | Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables. See forum thread 719a11e1314d1c70. (check-in: 34c6ec3989 user: drh tags: branch-3.39) | |
11:45 | Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables. See forum thread 719a11e1314d1c70. (check-in: 8e6ad3a3e9 user: drh tags: trunk) | |
11:12 | Improved mutex protection of the sqlite3_temp_directory and sqlite3_data_directory global variables. (Closed-Leaf check-in: ebbe9634d6 user: drh tags: tempdir-mutex) | |
00:36 | Experimental changes to put sqlite3_temp_directory behind a mutex. (check-in: 5ee3515fbb user: drh tags: tempdir-mutex) | |
2022-09-01
| ||
21:00 | Further work on making recovery extension compatible with the shell tool ".recover" code. (check-in: 8df7c7d0dc user: dan tags: recover-extension) | |
14:33 | Defer deleting a transient SELECT statement associated with a flattening of one arm of a compound SELECT until after the parse has completed. (check-in: 8403c0d5d6 user: drh tags: branch-3.39) | |
13:51 | Defer deleting a transient SELECT statement associated with a flattening of one arm of a compound SELECT until after the parse has completed. This is a follow-up and enhancement to check-in [6e6b3729e0549de0] in response to an assertion fault reported by Chromium. (check-in: 1c4157c71c user: drh tags: trunk) | |
10:41 | In the query planner, add a heuristic that will reduce the cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. (check-in: e3754cc188 user: drh tags: branch-3.28) | |
10:29 | In the query planner, add a heuristic that will reduce the estimated cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. (check-in: 609fbb94b8 user: drh tags: trunk) | |