gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/selectF.test (about)

     1  # 2014-03-03
     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  #
    12  # This file verifies that an OP_Copy operation is used instead of OP_SCopy
    13  # in a compound select in a case where the source register might be changed
    14  # before the copy is used.
    15  #
    16  
    17  set testdir [file dirname $argv0]
    18  source $testdir/tester.tcl
    19  set testprefix selectF
    20  
    21  do_execsql_test 1 {
    22    BEGIN TRANSACTION;
    23    CREATE TABLE t1(a, b, c);
    24    INSERT INTO "t1" VALUES(1,'one','I');
    25    CREATE TABLE t2(d, e, f);
    26    INSERT INTO "t2" VALUES(5,'ten','XX');
    27    INSERT INTO "t2" VALUES(6,NULL,NULL);
    28  
    29    CREATE INDEX i1 ON t1(b, a);
    30    COMMIT;
    31  }
    32  
    33  #explain_i {
    34  #  SELECT * FROM t2
    35  #  UNION ALL 
    36  #  SELECT * FROM t1 WHERE a<5 
    37  #  ORDER BY 2, 1
    38  #}
    39  
    40  do_execsql_test 2 {
    41    SELECT * FROM t2
    42    UNION ALL 
    43    SELECT * FROM t1 WHERE a<5 
    44    ORDER BY 2, 1
    45  } {6 {} {} 1 one I 5 ten XX}
    46  
    47  
    48    
    49  finish_test