1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-01-06 08:01:16 +03:00

Fix a faulty assert in the schema parsing logic.

FossilOrigin-Name: b1ed949584a2526c04952b98c3aa283427f45e10
This commit is contained in:
drh
2015-04-19 20:39:17 +00:00
parent d0c7305313
commit 33c59ecafb
4 changed files with 26 additions and 11 deletions

View File

@@ -646,9 +646,9 @@ do_execsql_test misc1-22.1 {
# 2015-04-19: NULL pointer dereference on a corrupt schema
#
db close
sqlite3 db :memory:
do_execsql_test misc1-23.1 {
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
CREATE TABLE t1(x);
PRAGMA writable_schema=ON;
UPDATE sqlite_master SET sql='CREATE table t(d CHECK(T(#0)';
@@ -658,4 +658,19 @@ do_execsql_test misc1-23.1 {
DROP TABLE IF EXISTS t3;
} {}
# 2015-04-19: Faulty assert() statement
#
db close
database_may_be_corrupt
sqlite3 db :memory:
do_catchsql_test misc1-23.2 {
CREATE TABLE t1(x UNIQUE);
PRAGMA writable_schema=ON;
UPDATE sqlite_master SET sql='CREATE TABLE IF not EXISTS t(c)';
BEGIN;
CREATE TABLE t2(x);
ROLLBACK;
DROP TABLE F;
} {1 {no such table: F}}
finish_test