diff options
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/tkt1567.test')
-rw-r--r-- | libraries/sqlite/unix/sqlite-3.5.1/test/tkt1567.test | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/tkt1567.test b/libraries/sqlite/unix/sqlite-3.5.1/test/tkt1567.test new file mode 100644 index 0000000..6c4548a --- /dev/null +++ b/libraries/sqlite/unix/sqlite-3.5.1/test/tkt1567.test | |||
@@ -0,0 +1,51 @@ | |||
1 | # 2005 December 19 2005 | ||
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. | ||
12 | # | ||
13 | # This file implements tests to verify that ticket #1567 is | ||
14 | # fixed. | ||
15 | # | ||
16 | |||
17 | set testdir [file dirname $argv0] | ||
18 | source $testdir/tester.tcl | ||
19 | |||
20 | do_test tkt1567-1.1 { | ||
21 | execsql { | ||
22 | CREATE TABLE t1(a TEXT PRIMARY KEY); | ||
23 | } | ||
24 | set bigstr abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ | ||
25 | for {set i 0} {$i<100} {incr i} { | ||
26 | set x [format %5d [expr $i*2]] | ||
27 | set sql "INSERT INTO t1 VALUES('$x-$bigstr')" | ||
28 | execsql $sql | ||
29 | } | ||
30 | } {} | ||
31 | integrity_check tkt1567-1.2 | ||
32 | |||
33 | do_test tkt1567-1.3 { | ||
34 | execsql { | ||
35 | BEGIN; | ||
36 | UPDATE t1 SET a = a||'x' WHERE rowid%2==0; | ||
37 | } | ||
38 | } {} | ||
39 | do_test tkt1567-1.4 { | ||
40 | catchsql { | ||
41 | UPDATE t1 SET a = CASE WHEN rowid<90 THEN substr(a,1,10) ELSE '9999' END; | ||
42 | } | ||
43 | } {1 {column a is not unique}} | ||
44 | do_test tkt1567-1.5 { | ||
45 | execsql { | ||
46 | COMMIT; | ||
47 | } | ||
48 | } {} | ||
49 | integrity_check tkt1567-1.6 | ||
50 | |||
51 | finish_test | ||