aboutsummaryrefslogtreecommitdiff
path: root/test/misc4.test
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2007-08-13 15:28:33 +0000
committerdanielk1977 <danielk1977@noemail.net>2007-08-13 15:28:33 +0000
commitea4d9e2dc8094082cc12f6a9e424e155965ebf0f (patch)
tree712edbbfa679848786b3fd912fef498396a7e5d2 /test/misc4.test
parenta7fba4b05571ae7367461409c9078bdec8e0f692 (diff)
downloadsqlite-ea4d9e2dc8094082cc12f6a9e424e155965ebf0f.tar.gz
sqlite-ea4d9e2dc8094082cc12f6a9e424e155965ebf0f.zip
Invalidate prepared SQL statements when rolling back a transaction that includes schema modifications. (CVS 4216)
FossilOrigin-Name: a07143fc0578a5fc7c891e94616ee0b353674d6e
Diffstat (limited to 'test/misc4.test')
-rw-r--r--test/misc4.test14
1 files changed, 13 insertions, 1 deletions
diff --git a/test/misc4.test b/test/misc4.test
index bf3734fa4..743d36507 100644
--- a/test/misc4.test
+++ b/test/misc4.test
@@ -13,7 +13,7 @@
# This file implements tests for miscellanous features that were
# left out of other test files.
#
-# $Id: misc4.test,v 1.21 2006/01/03 00:33:50 drh Exp $
+# $Id: misc4.test,v 1.22 2007/08/13 15:28:35 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -40,6 +40,18 @@ ifcapable tempdb {
ROLLBACK;
}
} {}
+
+ # Because the previous transaction included a DDL statement and
+ # was rolled back, statement $stmt was marked as expired. Executing it
+ # now returns SQLITE_SCHEMA.
+ do_test misc4-1.2.1 {
+ list [sqlite3_step $stmt] [sqlite3_finalize $stmt]
+ } {SQLITE_ERROR SQLITE_SCHEMA}
+ do_test misc4-1.2.2 {
+ set stmt [sqlite3_prepare $DB $sql -1 TAIL]
+ set TAIL
+ } {}
+
do_test misc4-1.3 {
sqlite3_step $stmt
} SQLITE_DONE