1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Do not clear the internal "schema has changed" flag when performing a savepoint rollback. The schema changes may not have taken place within the savepoint being rolled back.

FossilOrigin-Name: c2a84430d3b6bb53b19af9294973575178290f93
This commit is contained in:
dan
2010-08-31 16:25:19 +00:00
parent 9977edc7c6
commit c311feec55
4 changed files with 31 additions and 8 deletions

View File

@ -1019,4 +1019,26 @@ do_multiclient_test tn {
} {1 2 3 4}
}
#-------------------------------------------------------------------------
# This next block of tests verifies that a problem reported on the mailing
# list has been resolved. At one point the second "CREATE TABLE t6" would
# fail as table t6 still existed in the internal cache of the db schema
# (even though it had been removed from the database by the ROLLBACK
# command).
#
do_execsql_test savepoint-17.1 {
BEGIN;
CREATE TABLE t6(a, b);
INSERT INTO t6 VALUES(1, 2);
SAVEPOINT one;
INSERT INTO t6 VALUES(3, 4);
ROLLBACK TO one;
SELECT * FROM t6;
ROLLBACK;
} {1 2}
do_execsql_test savepoint-17.2 {
CREATE TABLE t6(a, b);
} {}
finish_test