dan | 9940e2a | 2014-04-26 14:07:57 +0000 | [diff] [blame] | 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 |
drh | 453e026 | 2014-04-26 17:52:08 +0000 | [diff] [blame] | 33 | 5 { CREATE TABLE t1(a DEFAULT 2, b); CREATE TABLE t2(a DEFAULT 1, b) } 1 |
dan | 9940e2a | 2014-04-26 14:07:57 +0000 | [diff] [blame] | 34 | 6 { CREATE TABLE t1(a DEFAULT 1, b); CREATE TABLE t2(a DEFAULT 1, b) } 1 |
drh | 453e026 | 2014-04-26 17:52:08 +0000 | [diff] [blame] | 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 | |
dan | 9940e2a | 2014-04-26 14:07:57 +0000 | [diff] [blame] | 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 |