Commit 72699882 authored by unknown's avatar unknown

fixed bug #1688 "CREATE TABLE ... SELECT with default()"

parent 7f6d7aa1
...@@ -411,6 +411,22 @@ a b c d e f g h dd ...@@ -411,6 +411,22 @@ a b c d e f g h dd
1 -7 7 2000-01-01 b 2000-01-01 00:00:00 05:04:03 yet another binary data 02:00:00 1 -7 7 2000-01-01 b 2000-01-01 00:00:00 05:04:03 yet another binary data 02:00:00
2 -2 2 1825-12-14 a 2003-01-01 03:02:01 04:03:02 binary data 02:00:00 2 -2 2 1825-12-14 a 2003-01-01 03:02:01 04:03:02 binary data 02:00:00
drop table t1, t2; drop table t1, t2;
create table t1(str varchar(10) default 'def',strnull varchar(10),intg int default '10',rel double default '3.14');
insert into t1 values ('','',0,0.0);
describe t1;
Field Type Null Key Default Extra
str varchar(10) YES def
strnull varchar(10) YES NULL
intg int(11) YES 10
rel double YES 3.14
create table t2 select default(str) as str, default(strnull) as strnull, default(intg) as intg, default(rel) as rel from t1;
describe t2;
Field Type Null Key Default Extra
str varchar(10) YES NULL
strnull varchar(10) YES NULL
intg int(11) YES NULL
rel double YES NULL
drop table t1, t2;
drop database if exists test_$1; drop database if exists test_$1;
create database test_$1; create database test_$1;
use test_$1; use test_$1;
......
...@@ -318,6 +318,13 @@ select * from t2; ...@@ -318,6 +318,13 @@ select * from t2;
drop table t1, t2; drop table t1, t2;
create table t1(str varchar(10) default 'def',strnull varchar(10),intg int default '10',rel double default '3.14');
insert into t1 values ('','',0,0.0);
describe t1;
create table t2 select default(str) as str, default(strnull) as strnull, default(intg) as intg, default(rel) as rel from t1;
describe t2;
drop table t1, t2;
# #
# Bug #1209 # Bug #1209
# #
......
...@@ -4473,6 +4473,7 @@ Field *create_tmp_field(THD *thd, TABLE *table,Item *item, Item::Type type, ...@@ -4473,6 +4473,7 @@ Field *create_tmp_field(THD *thd, TABLE *table,Item *item, Item::Type type,
return 0; // Error return 0; // Error
} }
case Item::FIELD_ITEM: case Item::FIELD_ITEM:
case Item::DEFAULT_VALUE_ITEM:
{ {
Field *org_field=((Item_field*) item)->field,*new_field; Field *org_field=((Item_field*) item)->field,*new_field;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment