Home | History | Annotate | Download | only in test
      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