Download ext/session/sessionconflict.test from AryaWu/sqlite: direct link, hf CLI and curl.
- Browser
- Download file 1.66 kB
-
https://huggingface.co/AryaWu/sqlite/resolve/main/ext/session/sessionconflict.test
- Command line
-
hf download hf://AryaWu/sqlite/ext/session/sessionconflict.test
-
curl -L -o sessionconflict.test https://huggingface.co/AryaWu/sqlite/resolve/main/ext/session/sessionconflict.test
1.66 kB
| # 2011 March 07 | |
| # | |
| # The author disclaims copyright to this source code. In place of | |
| # a legal notice, here is a blessing: | |
| # | |
| # May you do good and not evil. | |
| # May you find forgiveness for yourself and forgive others. | |
| # May you share freely, never taking more than you give. | |
| # | |
| #*********************************************************************** | |
| # This file implements regression tests for SQLite library. | |
| # | |
| if {![info exists testdir]} { | |
| set testdir [file join [file dirname [info script]] .. .. test] | |
| } | |
| source [file join [file dirname [info script]] session_common.tcl] | |
| source $testdir/tester.tcl | |
| ifcapable !session {finish_test; return} | |
| set testprefix sessionconflict | |
| db close | |
| sqlite3_shutdown | |
| test_sqlite3_log log | |
| proc log {code msg} { puts "LOG $code $msg" } | |
| sqlite3 db test.db | |
| forcedelete test.db2 | |
| sqlite3 db2 test.db2 | |
| do_test 1.0 { | |
| do_common_sql { | |
| CREATE TABLE t1(a PRIMARY KEY, b, c UNIQUE); | |
| INSERT INTO t1 VALUES(1, 1, 1); | |
| INSERT INTO t1 VALUES(2, 2, 2); | |
| INSERT INTO t1 VALUES(3, 3, 3); | |
| } | |
| } {} | |
| do_execsql_test -db db2 1.1 { | |
| INSERT INTO t1 VALUES(6, 6, 6); | |
| } | |
| proc xConflict {args} { | |
| return "ABORT" | |
| } | |
| do_test 1.2 { | |
| set chng [changeset_from_sql { | |
| UPDATE t1 SET b=10, c=10 WHERE a=1; | |
| UPDATE t1 SET b=444 WHERE a=2; | |
| INSERT INTO t1 VALUES(4, 4, 4); | |
| INSERT INTO t1 VALUES(5, 5, 5); | |
| INSERT INTO t1 VALUES(6, 6, 6); | |
| }] | |
| execsql BEGIN db2 | |
| set res [list [catch { sqlite3changeset_apply db2 $chng xConflict } msg] $msg] | |
| execsql ROLLBACK db2 | |
| set res | |
| } {1 SQLITE_ABORT} | |
| do_execsql_test -db db2 1.3 { | |
| SELECT * FROM t1; | |
| } { | |
| 1 1 1 | |
| 2 2 2 | |
| 3 3 3 | |
| 6 6 6 | |
| } | |
| db2 close | |
| finish_test | |