| OLD | NEW | 
 | (Empty) | 
|   1 # 2005 September 19 |  | 
|   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 # This file implements regression tests for SQLite library.  The |  | 
|  12 # focus of this script is testing the ATTACH statement and |  | 
|  13 # specifically out-of-memory conditions within that command. |  | 
|  14 # |  | 
|  15 # $Id: attachmalloc.test,v 1.10 2008/10/22 10:45:38 danielk1977 Exp $ |  | 
|  16 # |  | 
|  17  |  | 
|  18 set testdir [file dirname $argv0] |  | 
|  19 source $testdir/tester.tcl |  | 
|  20  |  | 
|  21 ifcapable !memdebug||!attach { |  | 
|  22   finish_test |  | 
|  23   return |  | 
|  24 } |  | 
|  25  |  | 
|  26 source $testdir/malloc_common.tcl |  | 
|  27  |  | 
|  28 do_malloc_test attachmalloc-1 -tclprep { |  | 
|  29   db close |  | 
|  30   for {set i 2} {$i<=4} {incr i} { |  | 
|  31     file delete -force test$i.db |  | 
|  32     file delete -force test$i.db-journal |  | 
|  33   } |  | 
|  34 } -tclbody { |  | 
|  35   if {[catch {sqlite3 db test.db}]} { |  | 
|  36     error "out of memory" |  | 
|  37   } |  | 
|  38   sqlite3_db_config_lookaside db 0 0 0 |  | 
|  39   sqlite3_extended_result_codes db 1 |  | 
|  40 } -sqlbody { |  | 
|  41   ATTACH 'test2.db' AS two; |  | 
|  42   CREATE TABLE two.t1(x); |  | 
|  43   ATTACH 'test3.db' AS three; |  | 
|  44   CREATE TABLE three.t1(x); |  | 
|  45   ATTACH 'test4.db' AS four; |  | 
|  46   CREATE TABLE four.t1(x); |  | 
|  47 } |  | 
|  48  |  | 
|  49 do_malloc_test attachmalloc-2 -tclprep { |  | 
|  50   file delete -force test2.db |  | 
|  51   file delete -force test2.db-journal |  | 
|  52   sqlite3 db2 test2.db |  | 
|  53   db2 eval { |  | 
|  54     CREATE TABLE t1(a, b, c); |  | 
|  55     CREATE INDEX i1 ON t1(a, b); |  | 
|  56   } |  | 
|  57   db2 close |  | 
|  58 } -sqlbody { |  | 
|  59   CREATE TABLE t1(d, e, f); |  | 
|  60   ATTACH 'test2.db' AS db1; |  | 
|  61 } |  | 
|  62  |  | 
|  63 finish_test |  | 
| OLD | NEW |