SQLite Bug Forum

Timeline
Login

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

50 most recent forum posts

2026-10-11
10:51:58 • Reply: 3.54.0: heap overrun past VDBE opcode array on 32-bit builds (sqlite3VdbeMakeReady) (artifact: 0b9b899038 user: ncruces)
2026-10-10
19:13:58 • Reply: 3.54.0: heap overrun past VDBE opcode array on 32-bit builds (sqlite3VdbeMakeReady) (artifact: e0cdd301f7 user: drh)
18:41:08 • Reply: CLI `--safe` still permits file reads through `fsdir()` (artifact: 7c1fb5e4fa user: drh)
18:05:46 • Post: 3.54.0: heap overrun past VDBE opcode array on 32-bit builds (sqlite3VdbeMakeReady) (artifact: 1ca7745beb user: anonymous)
13:15:05 • Post: CLI `--safe` still permits file reads through `fsdir()` (artifact: 969ac83f5d user: srtdog64)
2026-10-09
09:54:53 • Reply: ADD COLUMN ... TEXT DEFAULT 1e2: rows that existed before the ALTER read '1e2', new rows read '100.0' (artifact: 9013e15b16 user: drh)
09:53:23 • Reply: `SELECT *` over a USING join left of a RIGHT or FULL JOIN is "ambiguous column name" when a later table has that column (artifact: a49917b37a user: drh)
2026-10-08
19:35:03 • Reply: A UNION ALL subquery in FROM with a RIGHT JOIN after its first SELECT loses WHERE terms when flattened (artifact: d098617140 user: dan)
19:07:59 • Reply: A single-element IN list uses an explicit COLLATE on its element, contrary to the documentation and to a two-element list (artifact: c91d35bed9 user: drh)
17:58:17 • Reply: With a window function, a correlated LEFT JOIN whose ON clause has a bare outer column as an AND term filters the left rows (artifact: 7f4ae01b58 user: dan)
15:50:07 • Post: `SELECT *` over a USING join left of a RIGHT or FULL JOIN is "ambiguous column name" when a later table has that column (artifact: 8be1215e2c user: akeles)
15:38:26 • Post: With a window function, a correlated LEFT JOIN whose ON clause has a bare outer column as an AND term filters the left rows (artifact: 069f778165 user: akeles)
15:27:33 • Post: A UNION ALL subquery in FROM with a RIGHT JOIN after its first SELECT loses WHERE terms when flattened (artifact: b6e0cf3df3 user: akeles)
12:36:41 • Post: A single-element IN list uses an explicit COLLATE on its element, contrary to the documentation and to a two-element list (artifact: 88b5d3e25b user: signnn)
03:35:46 • Reply: LEFT JOIN with `x = NULL AND y IN (…)` on a two-column index returns a matched row as well as the NULL-extended one (artifact: 78bc86a164 user: drh)
03:34:24 • Reply: In a UTF-16 database, a blob over 4000 bytes read from a table's overflow pages is converted as UTF-8 (artifact: ec69079513 user: drh)
2026-10-07
23:22:09 • Post: LEFT JOIN with `x = NULL AND y IN (…)` on a two-column index returns a matched row as well as the NULL-extended one (artifact: 41325cafc0 user: akeles)
18:47:02 • Reply: ROLLBACK TO of a savepoint that dropped a table commits a stale root page in an incremental-vacuum database (artifact: 74b1ea85e9 user: akeles)
18:38:45 • Reply: ROLLBACK TO of a savepoint that dropped a table commits a stale root page in an incremental-vacuum database (artifact: 69a95ab1fa user: dan)
17:19:20 • Post: ROLLBACK TO of a savepoint that dropped a table commits a stale root page in an incremental-vacuum database (artifact: 3bc3c8adfa user: akeles)
15:44:40 • Post: In a UTF-16 database, a blob over 4000 bytes read from a table's overflow pages is converted as UTF-8 (artifact: 48c64d8bab user: akeles)
10:42:49 • Reply: Wrong query result in RIGHT JOIN (artifact: fe6f8c1b96 user: drh)
09:50:54 • Reply: Wrong query result in RIGHT JOIN (artifact: e7d9a36187 user: drh)
06:54:33 • Reply: Wrong query result in RIGHT JOIN (artifact: 3dcb6a63b0 user: _blgl_)
02:56:24 • Post: Wrong query result in RIGHT JOIN (artifact: 3ec78d8edc user: joeljacobson)
2026-10-06
00:12:58 • Reply: DELETE on a WITHOUT ROWID table leaves an unaccounted byte on an interior page; integrity_check flags it, later DELETE fails (artifact: e458afa13c user: akeles)
2026-10-05
22:28:27 • Reply: DELETE on a WITHOUT ROWID table leaves an unaccounted byte on an interior page; integrity_check flags it, later DELETE fails (artifact: e71a861b93 user: drh)
20:28:35 • Reply: opfs-sahpool forgets a journal whose delete failed, so the hot-journal fix later rolls it back over newer commits (artifact: 8091d1da71 user: stephan)
19:18:18 • Post: DELETE on a WITHOUT ROWID table leaves an unaccounted byte on an interior page; integrity_check flags it, later DELETE fails (artifact: 9d039d4ca7 user: akeles)
19:12:14 • Reply: ALTER COLUMN SET NOT NULL on a column that is already NOT NULL drops its ON CONFLICT clause and constraint name (artifact: 5f00535433 user: dan)
18:13:00 • Post: ALTER COLUMN SET NOT NULL on a column that is already NOT NULL drops its ON CONFLICT clause and constraint name (artifact: a92d79e39d user: skysoul1024)
17:51:35 • Post: opfs-sahpool forgets a journal whose delete failed, so the hot-journal fix later rolls it back over newer commits (artifact: 432f260aa7 user: steida)
17:06:04 • Reply: heap-buffer-overflow in sqlite3SchemaToIndex() using an eponymous virtual table after sqlite3_deserialize() (artifact: 63d864aee9 user: mceachen)
16:22:00 • Post: ADD COLUMN ... TEXT DEFAULT 1e2: rows that existed before the ALTER read '1e2', new rows read '100.0' (artifact: f3d2bc30ed user: skysoul1024)
14:15:23 • Reply: heap-buffer-overflow in sqlite3SchemaToIndex() using an eponymous virtual table after sqlite3_deserialize() (artifact: 2cdee05d3b user: dan)
13:27:38 • Reply: "datatype mismatch" on the rowid in INSERT/UPDATE OR REPLACE does not undo the statement's earlier rows inside a transaction (artifact: 5ad9dd0c4b user: drh)
12:19:01 • Reply: Multi-row VALUES is exempt from SQLITE_LIMIT_COMPOUND_SELECT; the UNION ALL fallback crashes during error cleanup (artifact: 48619a713b user: drh)
11:30:00 • Reply: sqlite3_preupdate_new() reports SQLITE_INTEGER for a whole-number REAL column value on INSERT (artifact: 432db217d6 user: dan)
10:55:20 • Reply: ALTER TABLE ADD CONSTRAINT ... CHECK fails with "constraint failed" when the expression is NULL for an existing row (artifact: cc9fe86219 user: dan)
10:42:39 • Reply: Nothing bounds CTE expansion: linear SQL costs exponential time and memory (artifact: e9314b399a user: drh)
09:32:56 • Reply: A chain of CTEs escapes the nesting-depth limit and overflows the stack (artifact: f6124a1a89 user: drh)
07:36:38 • Post: ALTER TABLE ADD CONSTRAINT ... CHECK fails with "constraint failed" when the expression is NULL for an existing row (artifact: 7ce9278033 user: skysoul1024)
07:15:40 • Post: "datatype mismatch" on the rowid in INSERT/UPDATE OR REPLACE does not undo the statement's earlier rows inside a transaction (artifact: e0f20735d1 user: skysoul1024)
2026-10-04
21:55:00 • Reply: A COLLATE chain escapes SQLITE_LIMIT_EXPR_DEPTH and overflows the stack (artifact: c2298cf90f user: drh)
19:41:39 • Reply: char() and unistr() emit ill-formed UTF-8 (CESU-8 surrogates) for code points U+D800..U+DFFF (artifact: 20a2b29fa9 user: drh)
16:23:47 • Reply: Regression since 3.52.0: .dump and .mode insert/json write infinity as Inf, so the dump cannot be restored (artifact: a2570c0ad5 user: drh)
16:18:21 • Post: sqlite3_preupdate_new() reports SQLITE_INTEGER for a whole-number REAL column value on INSERT (artifact: 24078d41b0 user: LucaCappelletti94)
15:42:04 • Reply: geopoly_regular(): N is truncated to 32 bits before the cap, so N=2^31 gives NULL and N=2^32+3 gives a triangle (artifact: 85d634bd1e user: drh)
15:37:02 • Reply: geopoly: vertex count truncated to 24 bits, producing unreadable blobs with no error (artifact: 8ec338e2e9 user: drh)
10:39:44 • Reply: PRAGMA busy_timeout=N with N >= 2^31 sets the timeout to 0, so a "wait longer" request becomes "never wait" (artifact: a3023bd324 user: drh)