OLD | NEW |
1 # 2003 April 4 | 1 # 2003 April 4 |
2 # | 2 # |
3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
5 # | 5 # |
6 # May you do good and not evil. | 6 # May you do good and not evil. |
7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
9 # | 9 # |
10 #*********************************************************************** | 10 #*********************************************************************** |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 catchsql { | 145 catchsql { |
146 ATTACH 'test.db' as MAIN; | 146 ATTACH 'test.db' as MAIN; |
147 } | 147 } |
148 } {1 {database MAIN is already in use}} | 148 } {1 {database MAIN is already in use}} |
149 do_test attach-1.18 { | 149 do_test attach-1.18 { |
150 catchsql { | 150 catchsql { |
151 ATTACH 'test.db' as db10; | 151 ATTACH 'test.db' as db10; |
152 ATTACH 'test.db' as db11; | 152 ATTACH 'test.db' as db11; |
153 } | 153 } |
154 } {0 {}} | 154 } {0 {}} |
155 do_test attach-1.19 { | 155 if {$SQLITE_MAX_ATTACHED==10} { |
156 catchsql { | 156 do_test attach-1.19 { |
157 ATTACH 'test.db' as db12; | 157 catchsql { |
158 } | 158 ATTACH 'test.db' as db12; |
159 } {1 {too many attached databases - max 10}} | 159 } |
160 do_test attach-1.19.1 { | 160 } {1 {too many attached databases - max 10}} |
161 db errorcode | 161 do_test attach-1.19.1 { |
162 } {1} | 162 db errorcode |
| 163 } {1} |
| 164 } |
163 do_test attach-1.20.1 { | 165 do_test attach-1.20.1 { |
164 execsql { | 166 execsql { |
165 DETACH db5; | 167 DETACH db5; |
166 } | 168 } |
167 } {} | 169 } {} |
168 ifcapable schema_pragmas { | 170 ifcapable schema_pragmas { |
169 do_test attach-1.20.2 { | 171 do_test attach-1.20.2 { |
170 db_list db | 172 db_list db |
171 } {0 main 2 db2 3 db3 4 db4 5 db6 6 db7 7 db8 8 db9 9 db10 10 db11} | 173 } {0 main 2 db2 3 db3 4 db4 5 db6 6 db7 7 db8 8 db9 9 db10 10 db11} |
172 } ;# ifcapable schema_pragmas | 174 } ;# ifcapable schema_pragmas |
173 integrity_check attach-1.20.3 | 175 integrity_check attach-1.20.3 |
174 ifcapable tempdb { | 176 ifcapable tempdb { |
175 execsql {select * from sqlite_temp_master} | 177 execsql {select * from sqlite_temp_master} |
176 } | 178 } |
177 do_test attach-1.21 { | 179 do_test attach-1.21 { |
178 catchsql { | 180 catchsql { |
179 ATTACH 'test.db' as db12; | 181 ATTACH 'test.db' as db12; |
180 } | 182 } |
181 } {0 {}} | 183 } {0 {}} |
182 do_test attach-1.22 { | 184 if {$SQLITE_MAX_ATTACHED==10} { |
183 catchsql { | 185 do_test attach-1.22 { |
184 ATTACH 'test.db' as db13; | 186 catchsql { |
185 } | 187 ATTACH 'test.db' as db13; |
186 } {1 {too many attached databases - max 10}} | 188 } |
187 do_test attach-1.22.1 { | 189 } {1 {too many attached databases - max 10}} |
188 db errorcode | 190 do_test attach-1.22.1 { |
189 } {1} | 191 db errorcode |
| 192 } {1} |
| 193 } |
190 do_test attach-1.23 { | 194 do_test attach-1.23 { |
191 catchsql { | 195 catchsql { |
192 DETACH "db14"; | 196 DETACH "db14"; |
193 } | 197 } |
194 } {1 {no such database: db14}} | 198 } {1 {no such database: db14}} |
195 do_test attach-1.24 { | 199 do_test attach-1.24 { |
196 catchsql { | 200 catchsql { |
197 DETACH db12; | 201 DETACH db12; |
198 } | 202 } |
199 } {0 {}} | 203 } {0 {}} |
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 catchsql { | 784 catchsql { |
781 ATTACH 'test2.db' AS t2; | 785 ATTACH 'test2.db' AS t2; |
782 } | 786 } |
783 } {1 {database is locked}} | 787 } {1 {database is locked}} |
784 do_test attach-8.4 { | 788 do_test attach-8.4 { |
785 db errorcode | 789 db errorcode |
786 } {5} | 790 } {5} |
787 db2 close | 791 db2 close |
788 file delete -force test2.db | 792 file delete -force test2.db |
789 | 793 |
| 794 # Test that it is possible to attach the same database more than |
| 795 # once when not in shared-cache mode. That this is not possible in |
| 796 # shared-cache mode is tested in shared7.test. |
| 797 do_test attach-9.1 { |
| 798 file delete -force test4.db |
| 799 execsql { |
| 800 ATTACH 'test4.db' AS aux1; |
| 801 CREATE TABLE aux1.t1(a, b); |
| 802 INSERT INTO aux1.t1 VALUES(1, 2); |
| 803 ATTACH 'test4.db' AS aux2; |
| 804 SELECT * FROM aux2.t1; |
| 805 } |
| 806 } {1 2} |
| 807 do_test attach-9.2 { |
| 808 catchsql { |
| 809 BEGIN; |
| 810 INSERT INTO aux1.t1 VALUES(3, 4); |
| 811 INSERT INTO aux2.t1 VALUES(5, 6); |
| 812 } |
| 813 } {1 {database is locked}} |
| 814 do_test attach-9.3 { |
| 815 execsql { |
| 816 COMMIT; |
| 817 SELECT * FROM aux2.t1; |
| 818 } |
| 819 } {1 2 3 4} |
| 820 |
| 821 # Ticket [abe728bbc311d81334dae9762f0db87c07a98f79]. |
| 822 # Multi-database commit on an attached TEMP database. |
| 823 # |
| 824 do_test attach-10.1 { |
| 825 execsql { |
| 826 ATTACH '' AS noname; |
| 827 ATTACH ':memory:' AS inmem; |
| 828 BEGIN; |
| 829 CREATE TABLE noname.noname(x); |
| 830 CREATE TABLE inmem.inmem(y); |
| 831 CREATE TABLE main.main(z); |
| 832 COMMIT; |
| 833 SELECT name FROM noname.sqlite_master; |
| 834 SELECT name FROM inmem.sqlite_master; |
| 835 } |
| 836 } {noname inmem} |
| 837 do_test attach-10.2 { |
| 838 lrange [execsql { |
| 839 PRAGMA database_list; |
| 840 }] 9 end |
| 841 } {4 noname {} 5 inmem {}} |
790 | 842 |
791 finish_test | 843 finish_test |
OLD | NEW |