Ticket Hash: | 873cae2b6e25b1991ce5e9b782f9cd0409b96063 | |||
Title: | Schema corruption after aborted CREATE TABLE AS | |||
Status: | Fixed | Type: | Code_Defect | |
Severity: | Critical | Priority: | Immediate | |
Subsystem: | Unknown | Resolution: | Fixed | |
Last Modified: | 2015-06-16 16:39:22 | |||
Version Found In: | 3.8.10.2 | |||
User Comments: | ||||
drh added on 2015-06-16 16:27:47:
When a CREATE TABLE AS statement is part of a larger transaction and it aborts due to an error condition in the SELECT on the right-hand side, this can leave the sqlite3_master table with a blank entry which subsequent database connections will interpret as a corrupt database. The following SQL illustrates the problem: BEGIN; CREATE TABLE t1 AS SELECT zeroblob(2e20); COMMIT; PRAGMA integrity_check; This problem predates SQLite 3.5.1 (circa 2007). |