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 52