Home | History | Annotate | Download | only in test
      1 # 2009 April 30
      2 #
      3 # The author disclaims copyright to this source code.  In place of
      4 # a legal notice, here is a blessing:
      5 #
      6 #    May you do good and not evil.
      7 #    May you find forgiveness for yourself and forgive others.
      8 #    May you share freely, never taking more than you give.
      9 #
     10 #***********************************************************************
     11 #
     12 # Make sure that attaching the same database multiple times in
     13 # shared cache mode fails.
     14 #
     15 # $Id: shared7.test,v 1.1 2009/04/30 13:30:33 drh Exp $
     16 
     17 set testdir [file dirname $argv0]
     18 source $testdir/tester.tcl
     19 ifcapable !shared_cache { finish_test ; return }
     20 
     21 do_test shared7-1.1 {
     22   set ::enable_shared_cache [sqlite3_enable_shared_cache 1]
     23   sqlite3_enable_shared_cache
     24 } {1}
     25 
     26 do_test shared7-1.2 {
     27   db close
     28   sqlite3 db test.db
     29   db eval {
     30     CREATE TABLE t1(x);
     31   }
     32   catchsql {
     33     ATTACH 'test.db' AS err1;
     34   }
     35 } {1 {database is already attached}}
     36 
     37 do_test shared7-1.3 {
     38   file delete -force test2.db test2.db-journal
     39   db eval {
     40     ATTACH 'test2.db' AS test2;
     41     CREATE TABLE test2.t2(y);
     42   }
     43   catchsql {
     44     ATTACH 'test2.db' AS err2;
     45   }
     46 } {1 {database is already attached}}
     47 do_test shared7-1.4 {
     48   catchsql {
     49     ATTACH 'test.db' AS err1;
     50   }
     51 } {1 {database is already attached}}
     52 
     53 
     54 sqlite3_enable_shared_cache $::enable_shared_cache
     55 finish_test
     56