gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/tkt-a7b7803e.test (about)

     1  # 2012 December 19
     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. Specifically,
    12  # it tests that ticket [a7b7803e8d1e8699cd8a460a38133b98892d2e17] has
    13  # been fixed.
    14  #
    15  
    16  set testdir [file dirname $argv0]
    17  source $testdir/tester.tcl
    18  source $testdir/lock_common.tcl
    19  source $testdir/malloc_common.tcl
    20  
    21  do_test tkt-a7b7803e.1 {
    22    db eval {
    23      CREATE TABLE t1(a,b);
    24      INSERT INTO t1 VALUES(0,'first'),(99,'fuzzy');
    25      SELECT (t1.a==0) AS x, b
    26        FROM t1
    27       WHERE a=0 OR x;
    28    }
    29  } {1 first}
    30  do_test tkt-a7b7803e.2 {
    31    db eval {
    32      SELECT a, (t1.b='fuzzy') AS x
    33        FROM t1
    34       WHERE x
    35    }
    36  } {99 1}
    37  do_test tkt-a7b7803e.3 {
    38    db eval {
    39      SELECT (a=99) AS x, (t1.b='fuzzy') AS y, *
    40        FROM t1
    41       WHERE x AND y
    42    }
    43  } {1 1 99 fuzzy}
    44  do_test tkt-a7b7803e.4 {
    45    db eval {
    46      SELECT (a=99) AS x, (t1.b='first') AS y, *
    47        FROM t1
    48       WHERE x OR y
    49       ORDER BY a
    50    }
    51  } {0 1 0 first 1 0 99 fuzzy}
    52  do_test tkt-a7b7803e.5 {
    53    db eval {
    54      SELECT (M.a=99) AS x, M.b, (N.b='first') AS y, N.b
    55        FROM t1 M, t1 N
    56       WHERE x OR y
    57       ORDER BY M.a, N.a
    58    }
    59  } {0 first 1 first 1 fuzzy 1 first 1 fuzzy 0 fuzzy}
    60  do_test tkt-a7b7803e.6 {
    61    db eval {
    62      SELECT (M.a=99) AS x, M.b, (N.b='first') AS y, N.b
    63        FROM t1 M, t1 N
    64       WHERE x AND y
    65       ORDER BY M.a, N.a
    66    }
    67  } {1 fuzzy 1 first}
    68  do_test tkt-a7b7803e.7 {
    69    db eval {
    70      SELECT (M.a=99) AS x, M.b, (N.b='first') AS y, N.b
    71        FROM t1 M JOIN t1 N ON x AND y
    72       ORDER BY M.a, N.a
    73    }
    74  } {1 fuzzy 1 first}
    75  do_test tkt-a7b7803e.8 {
    76    db eval {
    77      SELECT (M.a=99) AS x, M.b, (N.b='first') AS y, N.b
    78        FROM t1 M JOIN t1 N ON x
    79       ORDER BY M.a, N.a
    80    }
    81  } {1 fuzzy 1 first 1 fuzzy 0 fuzzy}
    82  
    83  
    84  finish_test