Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Corrections to test names to eliminate duplicates and follow naming conventions. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
50679889c75cd3205253b1682abfbddc |
User & Date: | mistachkin 2012-10-07 05:34:39.472 |
Context
2012-10-08
| ||
14:36 | Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (check-in: 1c2c0a2880 user: mistachkin tags: trunk) | |
2012-10-07
| ||
14:14 | Merge updates from trunk. (check-in: bbb0d189b7 user: mistachkin tags: configReadOnly) | |
05:34 | Corrections to test names to eliminate duplicates and follow naming conventions. (check-in: 50679889c7 user: mistachkin tags: trunk) | |
2012-10-06
| ||
03:48 | Changes for WinRT compatibility. Also, allow version resource compilation and embedding to be disabled at compile-time. (check-in: 4b0facc13b user: mistachkin tags: trunk) | |
Changes
Changes to test/shared9.test.
︙ | ︙ | |||
166 167 168 169 170 171 172 | db1 eval COMMIT db1 eval { BEGIN; INSERT INTO t1 VALUES(3, 4); } } {} | | | | | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | db1 eval COMMIT db1 eval { BEGIN; INSERT INTO t1 VALUES(3, 4); } } {} do_test 3.2 { set ::tf [launch_testfixture] testfixture $::tf { sqlite3 db test.db db eval { BEGIN; SELECT * FROM t1; } } } {1 2} do_test 3.3 { db2 eval { SELECT * FROM t2 } } {1 2} do_test 3.4 { list [catch { db1 eval COMMIT } msg] $msg } {1 {database is locked}} # At one point the following would fail, showing that the busy-handler # belonging to [db2] was invoked instead. do_test 3.5 { set ::busyhandler_invoked_for } {db1} do_test 3.6 { close $::tf db1 eval COMMIT } {} db1 close db2 close |
︙ | ︙ |
Changes to test/trigger1.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 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 tests creating and dropping triggers, and interaction thereof # with the database COMMIT/ROLLBACK logic. # # 1. CREATE and DROP TRIGGER tests | | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # 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 tests creating and dropping triggers, and interaction thereof # with the database COMMIT/ROLLBACK logic. # # 1. CREATE and DROP TRIGGER tests # trigger1-1.1: Error if table does not exist # trigger1-1.2: Error if trigger already exists # trigger1-1.3: Created triggers are deleted if the transaction is rolled back # trigger1-1.4: DROP TRIGGER removes trigger # trigger1-1.5: Dropped triggers are restored if the transaction is rolled back # trigger1-1.6: Error if dropped trigger doesn't exist # trigger1-1.7: Dropping the table automatically drops all triggers # trigger1-1.8: A trigger created on a TEMP table is not inserted into sqlite_master # trigger1-1.9: Ensure that we cannot create a trigger on sqlite_master # trigger1-1.10: # trigger1-1.11: # trigger1-1.12: Ensure that INSTEAD OF triggers cannot be created on tables # trigger1-1.13: Ensure that AFTER triggers cannot be created on views # trigger1-1.14: Ensure that BEFORE triggers cannot be created on views # set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable !trigger||!compound { finish_test return |
︙ | ︙ | |||
261 262 263 264 265 266 267 | } catchsql { CREATE TRIGGER r1 AFTER INSERT ON t1 BEGIN INSERT INTO t2 VALUES(NEW.a,NEW.b); END; } } {0 {}} | | | | | | | | | | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | } catchsql { CREATE TRIGGER r1 AFTER INSERT ON t1 BEGIN INSERT INTO t2 VALUES(NEW.a,NEW.b); END; } } {0 {}} do_test trigger1-3.2 { catchsql { INSERT INTO t1 VALUES(1,2); SELECT * FROM t2; } } {1 {no such table: main.t2}} do_test trigger1-3.3 { db close set rc [catch {sqlite3 db test.db} err] if {$rc} {lappend rc $err} set rc } {0} do_test trigger1-3.4 { catchsql { INSERT INTO t1 VALUES(1,2); SELECT * FROM t2; } } {1 {no such table: main.t2}} do_test trigger1-3.5 { catchsql { CREATE TEMP TABLE t2(x,y); INSERT INTO t1 VALUES(1,2); SELECT * FROM t2; } } {1 {no such table: main.t2}} do_test trigger1-3.6.1 { catchsql { DROP TRIGGER r1; CREATE TEMP TRIGGER r1 AFTER INSERT ON t1 BEGIN INSERT INTO t2 VALUES(NEW.a,NEW.b), (NEW.b*100, NEW.a*100); END; INSERT INTO t1 VALUES(1,2); SELECT * FROM t2; } } {0 {1 2 200 100}} do_test trigger1-3.6.2 { catchsql { DROP TRIGGER r1; DELETE FROM t1; DELETE FROM t2; CREATE TEMP TRIGGER r1 AFTER INSERT ON t1 BEGIN INSERT INTO t2 VALUES(NEW.a,NEW.b); END; INSERT INTO t1 VALUES(1,2); SELECT * FROM t2; } } {0 {1 2}} do_test trigger1-3.7 { execsql { DROP TABLE t2; CREATE TABLE t2(x,y); SELECT * FROM t2; } } {} # There are two versions of trigger1-3.8 and trigger1-3.9. One that uses # compound SELECT statements, and another that does not. ifcapable compound { do_test trigger1-3.8 { execsql { INSERT INTO t1 VALUES(3,4); SELECT * FROM t1 UNION ALL SELECT * FROM t2; } |
︙ | ︙ | |||
442 443 444 445 446 447 448 | } {3 4 7 8} do_test trigger1-6.8 { db close sqlite3 db test.db execsql {SELECT * FROM t2} } {3 4 7 8} | | | 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 | } {3 4 7 8} do_test trigger1-6.8 { db close sqlite3 db test.db execsql {SELECT * FROM t2} } {3 4 7 8} integrity_check trigger1-7.1 # Check to make sure the name of a trigger can be quoted so that keywords # can be used as trigger names. Ticket #468 # do_test trigger1-8.1 { execsql { CREATE TRIGGER 'trigger' AFTER INSERT ON t2 BEGIN SELECT 1; END; |
︙ | ︙ | |||
487 488 489 490 491 492 493 | SELECT name FROM sqlite_master WHERE type='trigger'; } } {} ifcapable conflict { # Make sure REPLACE works inside of triggers. # | | | 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 | SELECT name FROM sqlite_master WHERE type='trigger'; } } {} ifcapable conflict { # Make sure REPLACE works inside of triggers. # # There are two versions of trigger1-9.1 and trigger1-9.2. One that uses # compound SELECT statements, and another that does not. ifcapable compound { do_test trigger1-9.1 { execsql { CREATE TABLE t3(a,b); CREATE TABLE t4(x UNIQUE, b); CREATE TRIGGER r34 AFTER INSERT ON t3 BEGIN |
︙ | ︙ | |||
608 609 610 611 612 613 614 | } } {} do_test trigger1-10.8 { execsql { SELECT * FROM insert_log; } } {main 11 12 13 temp 14 15 16 aux 17 18 19} | | | 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 | } } {} do_test trigger1-10.8 { execsql { SELECT * FROM insert_log; } } {main 11 12 13 temp 14 15 16 aux 17 18 19} do_test trigger1-10.9 { # Drop and re-create the insert_log table in a different database. Note # that we can change the column names because the trigger programs don't # use them explicitly. execsql { DROP TABLE insert_log; CREATE TABLE aux.insert_log(db, d, e, f); } |
︙ | ︙ |