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 14set testdir [file dirname $argv0] 15source $testdir/tester.tcl 16set testprefix tkt-f67b41381a 17 18ifcapable !altertable { 19 finish_test 20 return 21} 22 23do_execsql_test 1.0 { 24 CREATE TABLE t1(a); 25 INSERT INTO t1 VALUES(1); 26 ALTER TABLE t1 ADD COLUMN b DEFAULT 2; 27 CREATE TABLE t2(a, b); 28 INSERT INTO t2 SELECT * FROM t1; 29 SELECT * FROM t2; 30} {1 2} 31 32db cache size 0 33foreach {tn tbls xfer} { 34 1 { CREATE TABLE t1(a, b); CREATE TABLE t2(a, b) } 1 35 2 { CREATE TABLE t1(a, b DEFAULT 'x'); CREATE TABLE t2(a, b) } 0 36 3 { CREATE TABLE t1(a, b DEFAULT 'x'); CREATE TABLE t2(a, b DEFAULT 'x') } 1 37 4 { CREATE TABLE t1(a, b DEFAULT NULL); CREATE TABLE t2(a, b) } 0 38 5 { CREATE TABLE t1(a DEFAULT 2, b); CREATE TABLE t2(a DEFAULT 1, b) } 1 39 6 { CREATE TABLE t1(a DEFAULT 1, b); CREATE TABLE t2(a DEFAULT 1, b) } 1 40 7 { CREATE TABLE t1(a DEFAULT 1, b DEFAULT 1); 41 CREATE TABLE t2(a DEFAULT 3, b DEFAULT 1) } 1 42 8 { CREATE TABLE t1(a DEFAULT 1, b DEFAULT 1); 43 CREATE TABLE t2(a DEFAULT 3, b DEFAULT 3) } 0 44 45} { 46 47 execsql { DROP TABLE t1; DROP TABLE t2 } 48 execsql $tbls 49 50 set res 1 51 db eval { EXPLAIN INSERT INTO t1 SELECT * FROM t2 } { 52 if {$opcode == "Column"} { set res 0 } 53 } 54 55 do_test 2.$tn [list set res] $xfer 56} 57 58finish_test 59