aboutsummaryrefslogtreecommitdiff
path: root/ext/session/session2.test
diff options
context:
space:
mode:
Diffstat (limited to 'ext/session/session2.test')
-rw-r--r--ext/session/session2.test38
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/session/session2.test b/ext/session/session2.test
index 6662173d4..7adbfd5b6 100644
--- a/ext/session/session2.test
+++ b/ext/session/session2.test
@@ -44,12 +44,24 @@ do_iterator_test 1.1 t1 {
{DELETE t1 0 X. {t i t one} {}}
{INSERT t1 0 X. {} {t ii t two}}
}
+
do_iterator_test 1.2 t1 {
INSERT INTO t1 VALUES(1.5, 99.9)
} {
{INSERT t1 0 X. {} {f 1.5 f 99.9}}
}
+do_iterator_test 1.3 t1 {
+ UPDATE t1 SET b = 100.1 WHERE a = 1.5;
+ UPDATE t1 SET b = 99.9 WHERE a = 1.5;
+} { }
+
+do_iterator_test 1.4 t1 {
+ UPDATE t1 SET b = 100.1 WHERE a = 1.5;
+} {
+ {UPDATE t1 0 X. {f 1.5 f 99.9} {{} {} f 100.1}}
+}
+
# Execute each of the following blocks of SQL on database [db1]. Collect
# changes using a session object. Apply the resulting changeset to
@@ -520,6 +532,32 @@ do_test 9.3 {
execsql { SELECT * FROM t1 } db2
} {x 2}
+#-------------------------------------------------------------------------
+#
+test_reset
+db function enable [list S enable]
+
+do_common_sql {
+ CREATE TABLE t1(a PRIMARY KEY, b);
+ INSERT INTO t1 VALUES('x', 'X');
+}
+do_iterator_test 10.1 t1 {
+ INSERT INTO t1 VALUES('y', 'Y');
+ SELECT enable(0);
+ INSERT INTO t1 VALUES('z', 'Z');
+ SELECT enable(1);
+} {
+ {INSERT t1 0 X. {} {t y t Y}}
+}
+
+sqlite3session S db main
+do_execsql_test 10.2 {
+ SELECT enable(0);
+ SELECT enable(-1);
+ SELECT enable(1);
+ SELECT enable(-1);
+} {0 0 1 1}
+S delete
finish_test