diff options
author | gluh@mysql.com/eagle.(none) <> | 2007-09-20 13:54:46 +0500 |
---|---|---|
committer | gluh@mysql.com/eagle.(none) <> | 2007-09-20 13:54:46 +0500 |
commit | 6b81174cdec5ef444fadd1726f71412a3a0d9fb1 (patch) | |
tree | 2d2b37a24b870584b73222819553ad3805d7cff3 /mysql-test | |
parent | 56c927e69622f24ddd04b9fcd76c4f02a3bb7674 (diff) | |
download | mariadb-git-6b81174cdec5ef444fadd1726f71412a3a0d9fb1.tar.gz |
Bug#27747 database metadata doesn't return sufficient column default info
added get_field_default_value() function which obtains default value from the field
(used in store_create_info() & get_schema_column_record() functions)
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/alter_table.result | 2 | ||||
-rw-r--r-- | mysql-test/r/create.result | 2 | ||||
-rw-r--r-- | mysql-test/r/ctype_collate.result | 2 | ||||
-rw-r--r-- | mysql-test/r/ctype_recoding.result | 6 | ||||
-rw-r--r-- | mysql-test/r/default.result | 2 | ||||
-rw-r--r-- | mysql-test/r/gis.result | 18 | ||||
-rw-r--r-- | mysql-test/r/grant.result | 2 | ||||
-rw-r--r-- | mysql-test/r/information_schema.result | 33 | ||||
-rw-r--r-- | mysql-test/r/key.result | 22 | ||||
-rw-r--r-- | mysql-test/r/mysql.result | 4 | ||||
-rw-r--r-- | mysql-test/r/ps_1general.result | 6 | ||||
-rw-r--r-- | mysql-test/r/show_check.result | 4 | ||||
-rw-r--r-- | mysql-test/r/sp.result | 4 | ||||
-rw-r--r-- | mysql-test/r/type_enum.result | 2 | ||||
-rw-r--r-- | mysql-test/r/type_ranges.result | 22 | ||||
-rw-r--r-- | mysql-test/t/information_schema.test | 17 |
16 files changed, 98 insertions, 50 deletions
diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result index f24a1788404..95c652055ec 100644 --- a/mysql-test/r/alter_table.result +++ b/mysql-test/r/alter_table.result @@ -54,7 +54,7 @@ SHOW FULL COLUMNS FROM t1; Field Type Collation Null Key Default Extra Privileges Comment GROUP_ID int(10) unsigned NULL NO PRI 0 # LANG_ID smallint(5) unsigned NULL NO PRI 0 # -NAME char(80) latin1_swedish_ci NO MUL # +NAME char(80) latin1_swedish_ci NO MUL NULL # DROP TABLE t1; create table t1 (n int); insert into t1 values(9),(3),(12),(10); diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index 3cba394189a..ab5d23d6cea 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -430,7 +430,7 @@ d date YES NULL e varchar(1) NO f datetime YES NULL g time YES NULL -h longblob NO +h longblob NO NULL dd time YES NULL select * from t2; a b c d e f g h dd diff --git a/mysql-test/r/ctype_collate.result b/mysql-test/r/ctype_collate.result index 5c9bb93103e..7e9513f06e9 100644 --- a/mysql-test/r/ctype_collate.result +++ b/mysql-test/r/ctype_collate.result @@ -488,7 +488,7 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SHOW FIELDS FROM t1; Field Type Null Key Default Extra -latin1_f char(32) NO +latin1_f char(32) NO NULL ALTER TABLE t1 CHANGE latin1_f latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin; SHOW CREATE TABLE t1; diff --git a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result index 3826792306f..3f8ab75957b 100644 --- a/mysql-test/r/ctype_recoding.result +++ b/mysql-test/r/ctype_recoding.result @@ -54,7 +54,7 @@ Table Create Table ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='ËÏÍÍÅÎÔÁÒÉÊ ÔÁÂÌÉÃÙ' SHOW FIELDS FROM ÔÁÂÌÉÃÁ; Field Type Null Key Default Extra -ÐÏÌÅ char(32) NO +ÐÏÌÅ char(32) NO NULL SET CHARACTER SET cp1251; SHOW TABLES; Tables_in_test @@ -66,7 +66,7 @@ Table Create Table ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='êîììåíòàðèé òàáëèöû' SHOW FIELDS FROM òàáëèöà; Field Type Null Key Default Extra -ïîëå char(32) NO +ïîëå char(32) NO NULL SET CHARACTER SET utf8; SHOW TABLES; Tables_in_test @@ -78,7 +78,7 @@ Table Create Table ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='комментарий таблицы' SHOW FIELDS FROM таблица; Field Type Null Key Default Extra -поле char(32) NO +поле char(32) NO NULL SET CHARACTER SET koi8r; DROP TABLE ÔÁÂÌÉÃÁ; SET CHARACTER SET default; diff --git a/mysql-test/r/default.result b/mysql-test/r/default.result index 0b2b6769505..e2eda69c2e7 100644 --- a/mysql-test/r/default.result +++ b/mysql-test/r/default.result @@ -115,7 +115,7 @@ Warning 1364 Field 'd' doesn't have a default value desc bug20691; Field Type Null Key Default Extra i int(11) YES NULL -d datetime NO +d datetime NO NULL dn datetime NO 0000-00-00 00:00:00 insert into bug20691 values (3, DEFAULT, DEFAULT), (3, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (3, DEFAULT, DEFAULT); Warnings: diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result index edf017f24d4..f6189ec1236 100644 --- a/mysql-test/r/gis.result +++ b/mysql-test/r/gis.result @@ -9,35 +9,35 @@ CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMET CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY); SHOW FIELDS FROM gis_point; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g point YES NULL SHOW FIELDS FROM gis_line; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g linestring YES NULL SHOW FIELDS FROM gis_polygon; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g polygon YES NULL SHOW FIELDS FROM gis_multi_point; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g multipoint YES NULL SHOW FIELDS FROM gis_multi_line; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g multilinestring YES NULL SHOW FIELDS FROM gis_multi_polygon; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g multipolygon YES NULL SHOW FIELDS FROM gis_geometrycollection; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g geometrycollection YES NULL SHOW FIELDS FROM gis_geometry; Field Type Null Key Default Extra -fid int(11) NO PRI +fid int(11) NO PRI NULL g geometry YES NULL INSERT INTO gis_point VALUES (101, PointFromText('POINT(10 10)')), @@ -430,7 +430,7 @@ mln multilinestring YES NULL mpg multipolygon YES NULL gc geometrycollection YES NULL gm geometry YES NULL -fid int(11) NO +fid int(11) NO NULL DROP TABLE t1; SELECT AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)')))); AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)')))) diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result index a4c51cca277..66ab892ffae 100644 --- a/mysql-test/r/grant.result +++ b/mysql-test/r/grant.result @@ -526,7 +526,7 @@ Db char(64) NO PRI User char(16) NO PRI Table_name char(64) NO PRI Grantor char(77) NO MUL -Timestamp timestamp NO CURRENT_TIMESTAMP +Timestamp timestamp NO 0000-00-00 00:00:00 Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') NO Column_priv set('Select','Insert','Update','References') NO use test; diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 612e744a0f4..cf82cdd31bd 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -989,7 +989,7 @@ b NULL use test; show columns from t1; Field Type Null Key Default Extra -a int(11) NO +a int(11) NO NULL b int(11) YES NULL drop table t1; CREATE TABLE t1 (a int); @@ -1354,4 +1354,35 @@ where event_object_table='t1'; trigger_name drop user mysqltest_1@localhost; drop database mysqltest; +create table t1 ( +f1 varchar(50), +f2 varchar(50) not null, +f3 varchar(50) default '', +f4 varchar(50) default NULL, +f5 bigint not null, +f6 bigint not null default 10, +f7 datetime not null, +f8 datetime default '2006-01-01' +); +select column_default from information_schema.columns where table_name= 't1'; +column_default +NULL +NULL + +NULL +NULL +10 +NULL +2006-01-01 00:00:00 +show columns from t1; +Field Type Null Key Default Extra +f1 varchar(50) YES NULL +f2 varchar(50) NO NULL +f3 varchar(50) YES +f4 varchar(50) YES NULL +f5 bigint(20) NO NULL +f6 bigint(20) NO 10 +f7 datetime NO NULL +f8 datetime YES 2006-01-01 00:00:00 +drop table t1; End of 5.0 tests. diff --git a/mysql-test/r/key.result b/mysql-test/r/key.result index 5a707770ab8..2fc751c63bf 100644 --- a/mysql-test/r/key.result +++ b/mysql-test/r/key.result @@ -336,8 +336,8 @@ UNIQUE i1idx (i1), UNIQUE i2idx (i2)); desc t1; Field Type Null Key Default Extra -i1 int(11) NO PRI -i2 int(11) NO UNI +i1 int(11) NO PRI NULL +i2 int(11) NO UNI NULL show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -392,27 +392,27 @@ drop table t1; create table t1 (a int not null primary key, b varchar(20) not null unique); desc t1; Field Type Null Key Default Extra -a int(11) NO PRI -b varchar(20) NO UNI +a int(11) NO PRI NULL +b varchar(20) NO UNI NULL drop table t1; create table t1 (a int not null primary key, b int not null unique); desc t1; Field Type Null Key Default Extra -a int(11) NO PRI -b int(11) NO UNI +a int(11) NO PRI NULL +b int(11) NO UNI NULL drop table t1; create table t1 (a int not null primary key, b varchar(20) not null, unique (b(10))); desc t1; Field Type Null Key Default Extra -a int(11) NO PRI -b varchar(20) NO UNI +a int(11) NO PRI NULL +b varchar(20) NO UNI NULL drop table t1; create table t1 (a int not null primary key, b varchar(20) not null, c varchar(20) not null, unique(b(10),c(10))); desc t1; Field Type Null Key Default Extra -a int(11) NO PRI -b varchar(20) NO MUL -c varchar(20) NO +a int(11) NO PRI NULL +b varchar(20) NO MUL NULL +c varchar(20) NO NULL drop table t1; CREATE TABLE t1 ( a INTEGER auto_increment PRIMARY KEY, diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result index 74b5c42e59b..c6e589a5fb7 100644 --- a/mysql-test/r/mysql.result +++ b/mysql-test/r/mysql.result @@ -91,7 +91,7 @@ i j k NULL 1 NULL Field Type Null Key Default Extra i int(11) YES NULL -j int(11) NO +j int(11) NO NULL k int(11) YES NULL +------+---+------+ | i | j | k | @@ -102,7 +102,7 @@ k int(11) YES NULL | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | -| j | int(11) | NO | | | | +| j | int(11) | NO | | NULL | | | k | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ i s1 diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result index 71f4bcbdf38..488c01b020c 100644 --- a/mysql-test/r/ps_1general.result +++ b/mysql-test/r/ps_1general.result @@ -269,7 +269,7 @@ prepare stmt4 from ' show columns from t2 where field in (select ?) '; SET @arg00="a"; execute stmt4 using @arg00; Field Type Null Key Default Extra -a int(11) NO PRI +a int(11) NO PRI NULL SET @arg00="b"; execute stmt4 using @arg00; Field Type Null Key Default Extra @@ -280,7 +280,7 @@ Field Type Null Key Default Extra prepare stmt4 from ' show columns from t2 from test like ''a%'' '; execute stmt4; Field Type Null Key Default Extra -a int(11) NO PRI +a int(11) NO PRI NULL create index t2_idx on t2(b); prepare stmt4 from ' show index from t2 from test '; execute stmt4; @@ -409,7 +409,7 @@ drop database mysqltest ; prepare stmt3 from ' describe t2 '; execute stmt3; Field Type Null Key Default Extra -a int(11) NO PRI +a int(11) NO PRI NULL b char(10) YES MUL NULL drop table t2 ; execute stmt3; diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index b3eea989cd7..0ad32d2f5ed 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -228,7 +228,7 @@ show full columns from t1; Field Type Collation Null Key Default Extra Privileges Comment test_set set('val1','val2','val3') latin1_swedish_ci NO select,insert,update,references name char(20) latin1_swedish_ci YES O'Brien select,insert,update,references O'Brien as default -c int(11) NULL NO select,insert,update,references int column +c int(11) NULL NO NULL select,insert,update,references int column c-b int(11) NULL YES NULL select,insert,update,references name with a minus space 2 int(11) NULL YES NULL select,insert,update,references name with a space drop table t1; @@ -901,7 +901,7 @@ def COLUMNS COLUMN_KEY Key 253 9 3 N 1 0 33 def COLUMNS COLUMN_DEFAULT Default 252 589815 0 Y 16 0 33 def COLUMNS EXTRA Extra 253 60 0 N 1 0 33 Field Type Null Key Default Extra -c int(11) NO PRI +c int(11) NO PRI NULL ---------------------------------------------------------------- SHOW TRIGGERS LIKE 't1'; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index 1e3c4de0fcf..a9434f2ef0f 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -2468,7 +2468,7 @@ Database (foo) Level Code Message Field Type Null Key Default Extra id char(16) NO -data int(11) NO +data int(11) NO NULL Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Database Table In_use Name_locked Privilege Context Comment @@ -2520,7 +2520,7 @@ Database (foo) Level Code Message Field Type Null Key Default Extra id char(16) NO -data int(11) NO +data int(11) NO NULL Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Database Table In_use Name_locked Privilege Context Comment diff --git a/mysql-test/r/type_enum.result b/mysql-test/r/type_enum.result index 994001d94e5..9de296844a0 100644 --- a/mysql-test/r/type_enum.result +++ b/mysql-test/r/type_enum.result @@ -1675,7 +1675,7 @@ t1 CREATE TABLE `t1` ( show columns from t1; Field Type Null Key Default Extra a int(11) YES 1 -b enum('value','öäü_value','ÊÃÕ') NO +b enum('value','öäü_value','ÊÃÕ') NO NULL drop table t1; CREATE TABLE t1 (c enum('a', 'A') BINARY); INSERT INTO t1 VALUES ('a'),('A'); diff --git a/mysql-test/r/type_ranges.result b/mysql-test/r/type_ranges.result index 5c2d3b84d89..3b368ff135f 100644 --- a/mysql-test/r/type_ranges.result +++ b/mysql-test/r/type_ranges.result @@ -63,9 +63,9 @@ time_field time NULL YES NULL # date_time datetime NULL YES NULL # blob_col blob NULL YES NULL # tinyblob_col tinyblob NULL YES NULL # -mediumblob_col mediumblob NULL NO # -longblob_col longblob NULL NO # -options enum('one','two','tree') latin1_swedish_ci NO MUL # +mediumblob_col mediumblob NULL NO NULL # +longblob_col longblob NULL NO NULL # +options enum('one','two','tree') latin1_swedish_ci NO MUL NULL # flags set('one','two','tree') latin1_swedish_ci NO # show keys from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment @@ -214,7 +214,7 @@ Field Type Collation Null Key Default Extra Privileges Comment auto int(5) unsigned NULL NO MUL NULL auto_increment # string char(10) latin1_swedish_ci YES newdefault # tiny tinyint(4) NULL NO MUL 0 # -short smallint(6) NULL NO MUL # +short smallint(6) NULL NO MUL NULL # medium mediumint(8) NULL NO MUL 0 # long_int int(11) NULL NO 0 # longlong bigint(13) NULL NO MUL 0 # @@ -231,8 +231,8 @@ time_field time NULL YES NULL # date_time datetime NULL YES NULL # new_blob_col varchar(20) latin1_swedish_ci YES NULL # tinyblob_col tinyblob NULL YES NULL # -mediumblob_col mediumblob NULL NO # -options enum('one','two','tree') latin1_swedish_ci NO MUL # +mediumblob_col mediumblob NULL NO NULL # +options enum('one','two','tree') latin1_swedish_ci NO MUL NULL # flags set('one','two','tree') latin1_swedish_ci NO # new_field char(10) latin1_swedish_ci NO new # show full columns from t2; @@ -240,7 +240,7 @@ Field Type Collation Null Key Default Extra Privileges Comment auto int(5) unsigned NULL NO 0 # string char(10) latin1_swedish_ci YES newdefault # tiny tinyint(4) NULL NO 0 # -short smallint(6) NULL NO # +short smallint(6) NULL NO NULL # medium mediumint(8) NULL NO 0 # long_int int(11) NULL NO 0 # longlong bigint(13) NULL NO 0 # @@ -257,8 +257,8 @@ time_field time NULL YES NULL # date_time datetime NULL YES NULL # new_blob_col varchar(20) latin1_swedish_ci YES NULL # tinyblob_col tinyblob NULL YES NULL # -mediumblob_col mediumblob NULL NO # -options enum('one','two','tree') latin1_swedish_ci NO # +mediumblob_col mediumblob NULL NO NULL # +options enum('one','two','tree') latin1_swedish_ci NO NULL # flags set('one','two','tree') latin1_swedish_ci NO # new_field char(10) latin1_swedish_ci NO new # select t1.auto,t2.auto from t1,t2 where t1.auto=t2.auto and ((t1.string<>t2.string and (t1.string is not null or t2.string is not null)) or (t1.tiny<>t2.tiny and (t1.tiny is not null or t2.tiny is not null)) or (t1.short<>t2.short and (t1.short is not null or t2.short is not null)) or (t1.medium<>t2.medium and (t1.medium is not null or t2.medium is not null)) or (t1.long_int<>t2.long_int and (t1.long_int is not null or t2.long_int is not null)) or (t1.longlong<>t2.longlong and (t1.longlong is not null or t2.longlong is not null)) or (t1.real_float<>t2.real_float and (t1.real_float is not null or t2.real_float is not null)) or (t1.real_double<>t2.real_double and (t1.real_double is not null or t2.real_double is not null)) or (t1.utiny<>t2.utiny and (t1.utiny is not null or t2.utiny is not null)) or (t1.ushort<>t2.ushort and (t1.ushort is not null or t2.ushort is not null)) or (t1.umedium<>t2.umedium and (t1.umedium is not null or t2.umedium is not null)) or (t1.ulong<>t2.ulong and (t1.ulong is not null or t2.ulong is not null)) or (t1.ulonglong<>t2.ulonglong and (t1.ulonglong is not null or t2.ulonglong is not null)) or (t1.time_stamp<>t2.time_stamp and (t1.time_stamp is not null or t2.time_stamp is not null)) or (t1.date_field<>t2.date_field and (t1.date_field is not null or t2.date_field is not null)) or (t1.time_field<>t2.time_field and (t1.time_field is not null or t2.time_field is not null)) or (t1.date_time<>t2.date_time and (t1.date_time is not null or t2.date_time is not null)) or (t1.new_blob_col<>t2.new_blob_col and (t1.new_blob_col is not null or t2.new_blob_col is not null)) or (t1.tinyblob_col<>t2.tinyblob_col and (t1.tinyblob_col is not null or t2.tinyblob_col is not null)) or (t1.mediumblob_col<>t2.mediumblob_col and (t1.mediumblob_col is not null or t2.mediumblob_col is not null)) or (t1.options<>t2.options and (t1.options is not null or t2.options is not null)) or (t1.flags<>t2.flags and (t1.flags is not null or t2.flags is not null)) or (t1.new_field<>t2.new_field and (t1.new_field is not null or t2.new_field is not null))); @@ -276,8 +276,8 @@ t1 int(1) NULL NO 0 # t2 varchar(1) latin1_swedish_ci NO # t3 varchar(256) latin1_swedish_ci NO # t4 varbinary(256) NULL NO # -t5 longtext latin1_swedish_ci NO # -t6 longblob NULL NO # +t5 longtext latin1_swedish_ci NO NULL # +t6 longblob NULL NO NULL # t7 char(0) latin1_swedish_ci NO # t8 binary(0) NULL NO # select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2; diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index 7637a027e8f..e9a06c7186e 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -1071,4 +1071,21 @@ connection default; drop user mysqltest_1@localhost; drop database mysqltest; +# +# Bug#27747 database metadata doesn't return sufficient column default info +# +create table t1 ( + f1 varchar(50), + f2 varchar(50) not null, + f3 varchar(50) default '', + f4 varchar(50) default NULL, + f5 bigint not null, + f6 bigint not null default 10, + f7 datetime not null, + f8 datetime default '2006-01-01' +); +select column_default from information_schema.columns where table_name= 't1'; +show columns from t1; +drop table t1; + --echo End of 5.0 tests. |