persistentstorage/sqlite3api/TEST/TclScript/fts1l.test
changeset 0 08ec8eefde2f
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     1 # 2007 April 9
       
     2 #
       
     3 # The author disclaims copyright to this source code.
       
     4 #
       
     5 #*************************************************************************
       
     6 # This file implements regression tests for SQLite library.  fts1
       
     7 # DELETE handling assumed all fields were non-null.  This was not
       
     8 # the intention at all.
       
     9 #
       
    10 # $Id: fts1l.test,v 1.1 2007/04/09 20:45:42 shess Exp $
       
    11 #
       
    12 
       
    13 set testdir [file dirname $argv0]
       
    14 source $testdir/tester.tcl
       
    15 
       
    16 # If SQLITE_ENABLE_FTS1 is defined, omit this file.
       
    17 ifcapable !fts1 {
       
    18   finish_test
       
    19   return
       
    20 }
       
    21 
       
    22 db eval {
       
    23   CREATE VIRTUAL TABLE t1 USING fts1(col_a, col_b);
       
    24 
       
    25   INSERT INTO t1(rowid, col_a, col_b) VALUES(1, 'testing', 'testing');
       
    26   INSERT INTO t1(rowid, col_a, col_b) VALUES(2, 'only a', null);
       
    27   INSERT INTO t1(rowid, col_a, col_b) VALUES(3, null, 'only b');
       
    28   INSERT INTO t1(rowid, col_a, col_b) VALUES(4, null, null);
       
    29 }
       
    30 
       
    31 do_test fts1m-1.0 {
       
    32   execsql {
       
    33     SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
       
    34   }
       
    35 } {2 2 4}
       
    36 
       
    37 do_test fts1m-1.1 {
       
    38   execsql {
       
    39     DELETE FROM t1 WHERE rowid = 1;
       
    40     SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
       
    41   }
       
    42 } {1 1 3}
       
    43 
       
    44 do_test fts1m-1.2 {
       
    45   execsql {
       
    46     DELETE FROM t1 WHERE rowid = 2;
       
    47     SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
       
    48   }
       
    49 } {0 1 2}
       
    50 
       
    51 do_test fts1m-1.3 {
       
    52   execsql {
       
    53     DELETE FROM t1 WHERE rowid = 3;
       
    54     SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
       
    55   }
       
    56 } {0 0 1}
       
    57 
       
    58 do_test fts1m-1.4 {
       
    59   execsql {
       
    60     DELETE FROM t1 WHERE rowid = 4;
       
    61     SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
       
    62   }
       
    63 } {0 0 0}
       
    64 
       
    65 finish_test