diff options
Diffstat (limited to 'ext/session/session2.test')
-rw-r--r-- | ext/session/session2.test | 38 |
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 |