SQLite

Timeline
Login

50 most recent check-ins

2026-11-02
20:14
Return SQLITE_LOCKED if an ALTER TABLE DROP COLUMN statement is attempted when there are other statements belonging to the same connection reading the database. Report 2026-10-18T20:41:32Z. (leaf check-in: efbbc90f18 ... user: dan tags: trunk)
20:11
Return SQLITE_LOCKED if an ALTER TABLE DROP COLUMN statement is attempted when there are other statements belonging to the same connection reading the database. Report 2026-10-18T20:41:32Z. (closed check-in: cb74c4c2c6 ... user: dan tags: drop-column-lock)
19:10
Minor JS simplification. (check-in: 486ed05e1d ... user: stephan tags: trunk)
17:57
On Haiku OS have testrunner.tcl behave as it does for Linux. Tests fail because the --with-tclsh needed to build it there is not propagated into the sub-configures, but that's a separate problem to solve. (check-in: ad29055783 ... user: stephan tags: trunk)
17:43
Minor changes to the abs() and round() SQL functions to better deal with negative zeros. Bug 2026-11-02T08:17:41Z (check-in: 439cec35a8 ... user: drh tags: trunk)
16:05
Do not allow sqlite3-wasm.c to build against an sqlite3.c older than 3.55.0 because it would silently be missing the new cleanup hooks so would leak like a sieve. (check-in: 290b12a97e ... user: stephan tags: trunk)
15:34
Remove superfluous 'utf-8' argument from TextEncoder() constructor calls. (check-in: 193386b8a2 ... user: stephan tags: trunk)
15:21
JS doc updates. Fix a minor doc-vs-impl descrepancy. (check-in: 76ba9c48e1 ... user: stephan tags: trunk)
14:55
JS API doc updates. (check-in: 576e270963 ... user: stephan tags: trunk)
13:24
Internal tweaks to the oo1 db/stmt disposal and add tests demonstrating that shared-access db/stmt handles behave well when their rugs are pulled out from under them. (check-in: b964875134 ... user: stephan tags: trunk)
12:58
Minor test code additions. (check-in: 7e08e4bb7b ... user: stephan tags: trunk)
12:12
Strip the sqlite3_context support from SQLITE_DISPOSAL_NOTIFIER because those pointers are not stable enough to be of any use for this purpose. They are, by happy accident, in two cases but are not guaranteed to be and are not so in other cases. (check-in: ead354645d ... user: stephan tags: trunk)
11:52
Avoid errors that sometimes occur when running ALTER TABLE or VACUUM when there are tables in the TEMP database with the same names as tables in the database being altered or vacuumed. Report 2026-10-29T11:55:37Z. (check-in: c4b02a964b ... user: dan tags: trunk)
10:29
Add a few sqlite3_js_on_pointer_dispose() tests. Re-indent a large block of test code. (check-in: 4fc4469e44 ... user: stephan tags: trunk)
10:09
Doc typos and cosmetic code cleanups. Remove some dead code. Replace some stray console.error() calls with sqlite3.config.error(). Update some doc links in module-symbols.html. (check-in: e2daa79790 ... user: stephan tags: trunk)
09:44
Teach sqlite3_js_on_pointer_dispose() to accept a WASM function pointer for a callback. (check-in: 8c5908f428 ... user: stephan tags: trunk)
01:20
Fix sqlite3_carray_bind() with SQLITE_TRANSIENT so that it correctly differentiates between a NULL and a zero-length BLOB. Bug 2026-11-01T12:04:38Z (check-in: d6ba38e5fe ... user: drh tags: trunk)
2026-11-01
17:49
Enhance the tables_used() table-valued function so that reports tables and indexes deleted by DROP TABLE and DROP INDEX and clear using the truncate optimization. Bug 2026-11-01T11:57:59Z. (check-in: ceca12f86f ... user: drh tags: trunk)
16:01
Improved handling of empty filenames in the writefile() function that is part of the fileio.c extension. (check-in: 24b4184a57 ... user: drh tags: trunk)
11:38
Ensure that the database schema has been read prior to generating a hex dump of a database file using ".dbtotxt" in the CLI. (check-in: 7bed0b36e4 ... user: drh tags: trunk)
10:46
Fix a slightly incorrect assert() in [afa137dbeb020fae]. (check-in: 4cac619f00 ... user: drh tags: trunk)
10:24
Restructure some test code. (check-in: 27f1ba7eaa ... user: stephan tags: trunk)
10:13
Doc tweaks and test improvements. (check-in: 3c0f79c2e8 ... user: stephan tags: trunk)
09:44
Get sqlite3_js_on_pointer_dispose() working and tested. (check-in: 4088abcb25 ... user: stephan tags: trunk)
00:42
Add the experimental and as-yet untested sqlite3_js_on_pointer_dispose() as a way for JS clients to clean up data mapped to native pointers when the underlying native objects are destroyed by the library. (check-in: ca551ede9c ... user: stephan tags: trunk)
2026-10-31
23:17
Test doc touchups. (check-in: bda1217086 ... user: stephan tags: trunk)
22:44
Add another sqlite3_set_auxdata() conversion test. Document why that option is (and should remain) disabled and leave #if'd out as food for thought later. (check-in: ec117fe0fd ... user: stephan tags: trunk)
21:57
Add SQLITE_DISPOSAL_NOTIFIER call for sqlite3_context. Experimentally use that to provide sane lifetime mappings for sqlite3_set_auxdata() dtor conversions. That seems to work fine, with predictable cost, but is currently disabled because it needs much more testing. (check-in: 4139b9f0c4 ... user: stephan tags: trunk)
20:26
Add a the SQLITE_DISPOSAL_NOTIFIER internal-use hook to alert callers when certain objects are finalized. This allows the WASM builds to better clean up associated JS-side state. e.g. passing an oo1.DB instance to sqlite3_close_v2() is now well-behaved, disconnecting any oo1.DB instances which share that pointer and any DB.Stmt objects still opened by those. (check-in: 055fdd4709 ... user: stephan tags: trunk)
20:14
Flesh out the documentation for the SQLITE_DISPOSAL_NOTIFIER (internal) interface. (closed check-in: cd96471ae0 ... user: stephan tags: disposal-notification)
20:12
Fix an ALTER TABLE problem with renaming a temp table when there is a temp trigger defined on a main db table of the same name. Report 2026-10-27T20:00:22Z. (check-in: f7a9970ec1 ... user: dan tags: trunk)
20:08
Fix the display of current optimizations in the CLI. (check-in: 8d891830dd ... user: drh tags: trunk)
19:47
Consolidate some duplicate code. (check-in: 0a13364732 ... user: stephan tags: disposal-notification)
19:30
Fix a typo in the previous checkin which caused a corner case to not clean up properly. (check-in: d58903a30e ... user: stephan tags: disposal-notification)
19:26
Fix deregistration of shared-handle DB/Stmt instances. Add tests demonstrating that closing the prime handle disassociates other oo1-level objects which share that handle. Simplify the by-typeId dispatching of being-disposed pointers. (check-in: c15dc8027f ... user: stephan tags: disposal-notification)
18:36
Hook oo1.DB and DB.Stmt into SQLITE_DISPOSAL_NOTIFIER, such that passing an instance to sqlite3_close_v2() resp. sqlite3_finalize() will cleanly unplug the oo1 instance from its native. (check-in: 6c8982f153 ... user: stephan tags: disposal-notification)
17:55
Expand the optimization disable mask from 32 to 64 bits. Add a new bit to disable the having-to-where optimization, for testing purposes. (check-in: 89ea662676 ... user: drh tags: trunk)
17:48
When renaming a non-temp table using ALTER TABLE RENAME TO, do not also modify references within temp triggers to a temp table of the same name. Report 2026-10-27T19:51:14Z. (check-in: 6488dbedd1 ... user: dan tags: trunk)
16:47
JS: remove the hand-written sqlite3_close_v2() binding, moving its cleanup work into the new disposal notification. This makes it safe and easy to map arbitrary JS state to dbs and stmts with the certainty that any mappings can be deleted regardless of how the C counterparts are disposed. (check-in: 6e21a7b4cd ... user: stephan tags: disposal-notification)
16:26
Fix ALTER TABLE RENAME COLUMN statements to correctly rename column references that appear in ON clauses that are part of triggers and views. Report 2026-10-27T19:54:24Z. (check-in: 9138604750 ... user: dan tags: trunk)
15:12
Make the "-DevTest" optimization flag available for testing purposes. Don't actually use it for anything permanent. Just have it available for use during debugging builds, in enable/disable features for comparison. (check-in: 439a702e5c ... user: drh tags: trunk)
14:25
Generic cleanups. Add a missing finalizer call in the new test code. (check-in: 727d1886f6 ... user: stephan tags: disposal-notification)
14:08
Remove a couple of unnecessary levels of indirection. Add some comments explaining what's going on JS-side. (check-in: 724b7da264 ... user: stephan tags: disposal-notification)
13:27
A proof-of-concept for a compile-time-provided hook to notify when the library disposes of certain memory. The use case is providing the JS bindings with a way to unmap native-to-JS bindings when a db, statement, etc. are finalized in some way other than the JS-side bindings which do this work. (check-in: 50785fb6cb ... user: stephan tags: disposal-notification)
13:06
Back out part of [a7f314264fc98f50] which turns out to have been ill-advised. (check-in: c80f9edb34 ... user: stephan tags: trunk)
10:45
Preprocessor-strip approximately 4k of JS we don't need client-side. (check-in: 7da6c2681e ... user: stephan tags: trunk)
10:31
JS: add some docs explaining the problem the Module.instantiateWasm() override solves. (check-in: a7f314264f ... user: stephan tags: trunk)
07:43
Merge branch-3.54 into trunk and resolve merge conflicts in the JS pieces. (check-in: 65091cea03 ... user: stephan tags: trunk)
07:35
Handle ALTER TABLE ADD COLUMN statements when the new column definition ends with a comment. Report 2026-10-27T19:49:19Z. (check-in: 7ae2d4d1e4 ... user: dan tags: trunk)
06:38
Have ALTER TABLE ADD CHECK handle the case where input ends with an unterminated C-style comment. e.g. "ALTER TABLE t1 ADD CHECK (x!=0) /* unterminated". Report 2026-10-27T19:57:50Z. (check-in: 64f9e76132 ... user: dan tags: trunk)
More ↓