github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/tkt-f67b41381a.test (about) 1 # 2014 April 26 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 # Test that ticket f67b41381a has been resolved. 12 # 13 14 set testdir [file dirname $argv0] 15 source $testdir/tester.tcl 16 set testprefix tkt-f67b41381a 17 18 do_execsql_test 1.0 { 19 CREATE TABLE t1(a); 20 INSERT INTO t1 VALUES(1); 21 ALTER TABLE t1 ADD COLUMN b DEFAULT 2; 22 CREATE TABLE t2(a, b); 23 INSERT INTO t2 SELECT * FROM t1; 24 SELECT * FROM t2; 25 } {1 2} 26 27 db cache size 0 28 foreach {tn tbls xfer} { 29 1 { CREATE TABLE t1(a, b); CREATE TABLE t2(a, b) } 1 30 2 { CREATE TABLE t1(a, b DEFAULT 'x'); CREATE TABLE t2(a, b) } 0 31 3 { CREATE TABLE t1(a, b DEFAULT 'x'); CREATE TABLE t2(a, b DEFAULT 'x') } 1 32 4 { CREATE TABLE t1(a, b DEFAULT NULL); CREATE TABLE t2(a, b) } 0 33 5 { CREATE TABLE t1(a DEFAULT 2, b); CREATE TABLE t2(a DEFAULT 1, b) } 1 34 6 { CREATE TABLE t1(a DEFAULT 1, b); CREATE TABLE t2(a DEFAULT 1, b) } 1 35 7 { CREATE TABLE t1(a DEFAULT 1, b DEFAULT 1); 36 CREATE TABLE t2(a DEFAULT 3, b DEFAULT 1) } 1 37 8 { CREATE TABLE t1(a DEFAULT 1, b DEFAULT 1); 38 CREATE TABLE t2(a DEFAULT 3, b DEFAULT 3) } 0 39 40 } { 41 42 execsql { DROP TABLE t1; DROP TABLE t2 } 43 execsql $tbls 44 45 set res 1 46 db eval { EXPLAIN INSERT INTO t1 SELECT * FROM t2 } { 47 if {$opcode == "Column"} { set res 0 } 48 } 49 50 do_test 2.$tn [list set res] $xfer 51 } 52 53 finish_test