Download ext/session/session6.test from AryaWu/sqlite: direct link, hf CLI and curl.
- Browser
- Download file 2.08 kB
-
https://huggingface.co/AryaWu/sqlite/resolve/main/ext/session/session6.test
- Command line
-
hf download hf://AryaWu/sqlite/ext/session/session6.test
-
curl -L -o session6.test https://huggingface.co/AryaWu/sqlite/resolve/main/ext/session/session6.test
2.08 kB
| # 2011 July 11 | |
| # | |
| # 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 sessions extension. | |
| # Specifically, it tests that sessions work when the database is modified | |
| # using incremental blob handles. | |
| # | |
| 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} | |
| ifcapable !incrblob {finish_test; return} | |
| set testprefix session6 | |
| proc do_then_apply_tcl {tcl {dbname main}} { | |
| proc xConflict args { return "OMIT" } | |
| set rc [catch { | |
| sqlite3session S db $dbname | |
| db eval "SELECT name FROM $dbname.sqlite_master WHERE type = 'table'" { | |
| S attach $name | |
| } | |
| eval $tcl | |
| sqlite3changeset_apply db2 [S changeset] xConflict | |
| } msg] | |
| catch { S delete } | |
| if {$rc} {error $msg} | |
| } | |
| test_sqlite3_log x | |
| proc x {args} {puts $args} | |
| forcedelete test.db2 | |
| sqlite3 db2 test.db2 | |
| do_common_sql { | |
| CREATE TABLE t1(a PRIMARY KEY, b); | |
| CREATE TABLE t2(c PRIMARY KEY, d); | |
| } | |
| # Test a blob update. | |
| # | |
| do_test 1.1 { | |
| do_then_apply_tcl { | |
| db eval { INSERT INTO t1 VALUES(1, 'helloworld') } | |
| db eval { INSERT INTO t2 VALUES(2, 'onetwothree') } | |
| } | |
| compare_db db db2 | |
| } {} | |
| do_test 1.2 { | |
| do_then_apply_tcl { | |
| set fd [db incrblob t1 b 1] | |
| puts -nonewline $fd 1234567890 | |
| close $fd | |
| } | |
| compare_db db db2 | |
| } {} | |
| # Test an attached database. | |
| # | |
| do_test 2.1 { | |
| forcedelete test.db3 | |
| file copy test.db2 test.db3 | |
| execsql { ATTACH 'test.db3' AS aux; } | |
| do_then_apply_tcl { | |
| set fd [db incrblob aux t2 d 1] | |
| puts -nonewline $fd fourfivesix | |
| close $fd | |
| } aux | |
| sqlite3 db3 test.db3 | |
| compare_db db2 db3 | |
| } {} | |
| db3 close | |
| db2 close | |
| finish_test | |