File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / test / async5.test
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:04:16 2012 UTC (12 years, 10 months ago) by misho
Branches: sqlite3, MAIN
CVS tags: v3_7_10, HEAD
sqlite3

    1: # 2009 July 19
    2: #
    3: #    May you do good and not evil.
    4: #    May you find forgiveness for yourself and forgive others.
    5: #    May you share freely, never taking more than you give.
    6: #
    7: #***********************************************************************
    8: # This file tests that asynchronous IO is compatible with multi-file
    9: # transactions.
   10: #
   11: # $Id: async5.test,v 1.1.1.1 2012/02/21 17:04:16 misho Exp $
   12: 
   13: set testdir [file dirname $argv0]
   14: source $testdir/tester.tcl
   15: 
   16: if {[info commands sqlite3async_initialize] eq ""} {
   17:   # The async logic is not built into this system
   18:   finish_test
   19:   return
   20: }
   21: 
   22: db close
   23: forcedelete test2.db
   24: sqlite3async_initialize "" 1
   25: sqlite3async_control halt never
   26: sqlite3 db test.db
   27: 
   28: do_test async5-1.1 {
   29:   execsql {
   30:     ATTACH 'test2.db' AS next;
   31:     CREATE TABLE main.t1(a, b);
   32:     CREATE TABLE next.t2(a, b);
   33:     BEGIN;
   34:       INSERT INTO t1 VALUES(1, 2);
   35:       INSERT INTO t2 VALUES(3, 4);
   36:     COMMIT;
   37:   }
   38: } {}
   39: do_test async5-1.2 {
   40:   execsql { SELECT * FROM t1 }
   41: } {1 2}
   42: do_test async5-1.3 {
   43:   execsql { SELECT * FROM t2 }
   44: } {3 4}
   45: do_test async5-1.4 {
   46:   execsql {
   47:     BEGIN;
   48:       INSERT INTO t1 VALUES('a', 'b');
   49:       INSERT INTO t2 VALUES('c', 'd');
   50:     COMMIT;
   51:   }
   52: } {}
   53: do_test async5-1.5 {
   54:   execsql { SELECT * FROM t1 }
   55: } {1 2 a b}
   56: do_test async5-1.6 {
   57:   execsql { SELECT * FROM t2 }
   58: } {3 4 c d}
   59: 
   60: db close
   61: 
   62: sqlite3async_control halt idle
   63: sqlite3async_start
   64: sqlite3async_wait
   65: sqlite3async_control halt never
   66: sqlite3async_shutdown
   67: set sqlite3async_trace 0
   68: finish_test
   69: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>