persistentstorage/sqlite3api/TEST/TclScript/tkt1567.test
changeset 0 08ec8eefde2f
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     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