Small performance optimization in sqlite3VdbeRecordCompareWithSkip() for
[sqlite.git] / test / tkt-b351d95f9.test
blob5bd5ee486528842bc51dddc1716f05acb382cf08
1 # 2010 September 28
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file implements regression tests for SQLite library. Specifically,
12 # it tests that ticket [b351d95f9cd5ef17e9d9dbae18f5ca8611190001] has been
13 # resolved.
16 set testdir [file dirname $argv0]
17 source $testdir/tester.tcl
18 source $testdir/lock_common.tcl
19 source $testdir/malloc_common.tcl
21 do_test tkt-b351d95.1 {
22   execsql {
23     CREATE table t1(a,b);
24     INSERT INTO t1 VALUES('name1','This is a test');
25     INSERT INTO t1 VALUES('name2','xyz');
26     CREATE TABLE t2(x,y);
27     INSERT INTO t2 SELECT a, CASE b WHEN 'xyz' THEN null ELSE b END FROM t1;
28     SELECT x, y FROM t2 ORDER BY x;
29   }
30 } {name1 {This is a test} name2 {}}
32 do_test tkt-b351d95.2 {
33   execsql {
34     DELETE FROM t2;
35     INSERT INTO t2 SELECT a, coalesce(b,a) FROM t1;
36     SELECT x, y FROM t2 ORDER BY x;
37   }
38 } {name1 {This is a test} name2 xyz}
39 do_test tkt-b351d95.3 {
40   execsql {
41     DELETE FROM t2;
42     INSERT INTO t2 SELECT a, coalesce(b,a) FROM t1;
43     SELECT x, y BETWEEN 'xy' AND 'xz' FROM t2 ORDER BY x;
44   }
45 } {name1 0 name2 1}
47 finish_test