diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-04-22 15:52:46 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-04-22 15:52:46 +0400 |
commit | 9f84451d87ba1924539b7d2ab69619b71d0155b9 (patch) | |
tree | 9a73f519e8d3d5cad5a118e6b9fec248a3d46de1 /mysql-test | |
parent | c555dc768f80b2836bf14cdb437e1f4920964b83 (diff) | |
download | mariadb-git-9f84451d87ba1924539b7d2ab69619b71d0155b9.tar.gz |
MDEV-15960 Wrong data type on CREATE..SELECT char_or_enum_or_text_spvar
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/main/sp-anchor-row-type-table.result | 2 | ||||
-rw-r--r-- | mysql-test/main/sp-anchor-type.result | 16 | ||||
-rw-r--r-- | mysql-test/main/sp-row.result | 36 | ||||
-rw-r--r-- | mysql-test/main/sp-vars.result | 69 | ||||
-rw-r--r-- | mysql-test/main/sp-vars.test | 67 | ||||
-rw-r--r-- | mysql-test/suite/compat/oracle/r/sp-anchor-row-type-table.result | 2 | ||||
-rw-r--r-- | mysql-test/suite/compat/oracle/r/sp-row.result | 36 | ||||
-rw-r--r-- | mysql-test/suite/compat/oracle/r/sp.result | 16 |
8 files changed, 190 insertions, 54 deletions
diff --git a/mysql-test/main/sp-anchor-row-type-table.result b/mysql-test/main/sp-anchor-row-type-table.result index 28a5180e6c9..6abf1e18315 100644 --- a/mysql-test/main/sp-anchor-row-type-table.result +++ b/mysql-test/main/sp-anchor-row-type-table.result @@ -701,7 +701,7 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` int(11) DEFAULT NULL, `b` text DEFAULT NULL, - `c` varchar(1) DEFAULT NULL + `c` char(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP PROCEDURE p2; DROP PROCEDURE p1; diff --git a/mysql-test/main/sp-anchor-type.result b/mysql-test/main/sp-anchor-type.result index b2de14bca1c..2b61854d514 100644 --- a/mysql-test/main/sp-anchor-type.result +++ b/mysql-test/main/sp-anchor-type.result @@ -462,15 +462,15 @@ t2 CREATE TABLE `t2` ( `dc100` decimal(10,0) DEFAULT NULL, `dc103` decimal(10,3) DEFAULT NULL, `dc209` decimal(20,9) DEFAULT NULL, - `cc` varchar(10) DEFAULT NULL, + `cc` char(10) DEFAULT NULL, `cv` varchar(10) DEFAULT NULL, `cvu` varchar(10) CHARACTER SET utf8 DEFAULT NULL, `t1` tinytext DEFAULT NULL, `t2` text DEFAULT NULL, `t3` mediumtext DEFAULT NULL, `t4` longtext DEFAULT NULL, - `enum1` varchar(1) DEFAULT NULL, - `set1` varchar(5) DEFAULT NULL, + `enum1` char(1) DEFAULT NULL, + `set1` char(5) DEFAULT NULL, `blob1` tinyblob DEFAULT NULL, `blob2` blob DEFAULT NULL, `blob3` mediumblob DEFAULT NULL, @@ -624,15 +624,15 @@ t2 CREATE TABLE `t2` ( `dc100` decimal(10,0) DEFAULT NULL, `dc103` decimal(10,3) DEFAULT NULL, `dc209` decimal(20,9) DEFAULT NULL, - `cc` varchar(10) DEFAULT NULL, + `cc` char(10) DEFAULT NULL, `cv` varchar(10) DEFAULT NULL, `cvu` varchar(10) CHARACTER SET utf8 DEFAULT NULL, `t1` tinytext DEFAULT NULL, `t2` text DEFAULT NULL, `t3` mediumtext DEFAULT NULL, `t4` longtext DEFAULT NULL, - `enum1` varchar(1) DEFAULT NULL, - `set1` varchar(5) DEFAULT NULL, + `enum1` char(1) DEFAULT NULL, + `set1` char(5) DEFAULT NULL, `blob1` tinyblob DEFAULT NULL, `blob2` blob DEFAULT NULL, `blob3` mediumblob DEFAULT NULL, @@ -1042,7 +1042,7 @@ t1 CREATE TABLE `t1` ( `a_flt0` float DEFAULT NULL, `a_dbl0` double DEFAULT NULL, `a_bit3` bit(3) DEFAULT NULL, - `a_enum0` varchar(1) DEFAULT NULL, + `a_enum0` char(1) DEFAULT NULL, `a_varchar10` varchar(10) DEFAULT NULL, `a_text1` text DEFAULT NULL, `a_tinytext1` tinytext DEFAULT NULL, @@ -1060,7 +1060,7 @@ t1 CREATE TABLE `t1` ( `aa_flt0` float DEFAULT NULL, `aa_dbl0` double DEFAULT NULL, `aa_bit3` bit(3) DEFAULT NULL, - `aa_enum0` varchar(1) DEFAULT NULL, + `aa_enum0` char(1) DEFAULT NULL, `aa_varchar10` varchar(10) DEFAULT NULL, `aa_text1` text DEFAULT NULL, `aa_tinytext1` tinytext DEFAULT NULL, diff --git a/mysql-test/main/sp-row.result b/mysql-test/main/sp-row.result index d3be7c2a9b9..295a881f9e4 100644 --- a/mysql-test/main/sp-row.result +++ b/mysql-test/main/sp-row.result @@ -1795,8 +1795,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` varchar(1) DEFAULT NULL, - `rec.var` varchar(1) DEFAULT NULL + `var` char(1) DEFAULT NULL, + `rec.var` char(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -1805,8 +1805,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` varbinary(1) DEFAULT NULL, - `rec.var` varbinary(1) DEFAULT NULL + `var` binary(1) DEFAULT NULL, + `rec.var` binary(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -1815,8 +1815,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` varchar(1) DEFAULT NULL, - `rec.var` varchar(1) DEFAULT NULL + `var` char(1) DEFAULT NULL, + `rec.var` char(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -1825,8 +1825,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` varchar(10) DEFAULT NULL, - `rec.var` varchar(10) DEFAULT NULL + `var` char(10) DEFAULT NULL, + `rec.var` char(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -1835,8 +1835,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` varchar(10) CHARACTER SET utf8 DEFAULT NULL, - `rec.var` varchar(10) CHARACTER SET utf8 DEFAULT NULL + `var` char(10) CHARACTER SET utf8 DEFAULT NULL, + `rec.var` char(10) CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -1845,8 +1845,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` varbinary(10) DEFAULT NULL, - `rec.var` varbinary(10) DEFAULT NULL + `var` binary(10) DEFAULT NULL, + `rec.var` binary(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -2084,8 +2084,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` mediumtext CHARACTER SET utf8 DEFAULT NULL, - `rec.var` mediumtext CHARACTER SET utf8 DEFAULT NULL + `var` text CHARACTER SET utf8 DEFAULT NULL, + `rec.var` text CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -2094,8 +2094,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` text CHARACTER SET utf8 DEFAULT NULL, - `rec.var` text CHARACTER SET utf8 DEFAULT NULL + `var` tinytext CHARACTER SET utf8 DEFAULT NULL, + `rec.var` tinytext CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; @@ -2104,8 +2104,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `var` longtext CHARACTER SET utf8 DEFAULT NULL, - `rec.var` longtext CHARACTER SET utf8 DEFAULT NULL + `var` mediumtext CHARACTER SET utf8 DEFAULT NULL, + `rec.var` mediumtext CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; DROP PROCEDURE p1; diff --git a/mysql-test/main/sp-vars.result b/mysql-test/main/sp-vars.result index ac1566d0c6e..0d4d18c577d 100644 --- a/mysql-test/main/sp-vars.result +++ b/mysql-test/main/sp-vars.result @@ -1241,3 +1241,72 @@ t1 CREATE TABLE "t1" ( "a" year(4) DEFAULT NULL ) DROP PROCEDURE p1; +# +# MDEV-15960 Wrong data type on CREATE..SELECT char_or_enum_or_text_spvar +# +BEGIN NOT ATOMIC +DECLARE var TINYTEXT CHARACTER SET utf8; +CREATE TABLE t1 AS SELECT var; +END; +$$ +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE "t1" ( + "var" tinytext CHARACTER SET utf8 DEFAULT NULL +) +DROP TABLE t1; +BEGIN NOT ATOMIC +DECLARE var TEXT CHARACTER SET utf8; +CREATE TABLE t1 AS SELECT var; +END; +$$ +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE "t1" ( + "var" text CHARACTER SET utf8 DEFAULT NULL +) +DROP TABLE t1; +BEGIN NOT ATOMIC +DECLARE var MEDIUMTEXT CHARACTER SET utf8; +CREATE TABLE t1 AS SELECT var; +END; +$$ +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE "t1" ( + "var" mediumtext CHARACTER SET utf8 DEFAULT NULL +) +DROP TABLE t1; +BEGIN NOT ATOMIC +DECLARE var LONGTEXT CHARACTER SET utf8; +CREATE TABLE t1 AS SELECT var; +END; +$$ +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE "t1" ( + "var" longtext CHARACTER SET utf8 DEFAULT NULL +) +DROP TABLE t1; +BEGIN NOT ATOMIC +DECLARE var CHAR(1); +CREATE TABLE t1 AS SELECT var; +END; +$$ +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE "t1" ( + "var" char(1) DEFAULT NULL +) +DROP TABLE t1; +BEGIN NOT ATOMIC +DECLARE var ENUM('a'); +CREATE TABLE t1 AS SELECT var; +END; +$$ +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE "t1" ( + "var" char(1) DEFAULT NULL +) +DROP TABLE t1; diff --git a/mysql-test/main/sp-vars.test b/mysql-test/main/sp-vars.test index 57d5563e609..ba8cd4f5ca8 100644 --- a/mysql-test/main/sp-vars.test +++ b/mysql-test/main/sp-vars.test @@ -1536,3 +1536,70 @@ $$ DELIMITER ;$$ CALL p1; DROP PROCEDURE p1; + + +--echo # +--echo # MDEV-15960 Wrong data type on CREATE..SELECT char_or_enum_or_text_spvar +--echo # + +DELIMITER $$; +BEGIN NOT ATOMIC + DECLARE var TINYTEXT CHARACTER SET utf8; + CREATE TABLE t1 AS SELECT var; +END; +$$ +DELIMITER ;$$ +SHOW CREATE TABLE t1; +DROP TABLE t1; + +DELIMITER $$; +BEGIN NOT ATOMIC + DECLARE var TEXT CHARACTER SET utf8; + CREATE TABLE t1 AS SELECT var; +END; +$$ +DELIMITER ;$$ +SHOW CREATE TABLE t1; +DROP TABLE t1; + +DELIMITER $$; +BEGIN NOT ATOMIC + DECLARE var MEDIUMTEXT CHARACTER SET utf8; + CREATE TABLE t1 AS SELECT var; +END; +$$ +DELIMITER ;$$ +SHOW CREATE TABLE t1; +DROP TABLE t1; + +DELIMITER $$; +BEGIN NOT ATOMIC + DECLARE var LONGTEXT CHARACTER SET utf8; + CREATE TABLE t1 AS SELECT var; +END; +$$ +DELIMITER ;$$ +SHOW CREATE TABLE t1; +DROP TABLE t1; + + +DELIMITER $$; +BEGIN NOT ATOMIC + DECLARE var CHAR(1); + CREATE TABLE t1 AS SELECT var; +END; +$$ +DELIMITER ;$$ +SHOW CREATE TABLE t1; +DROP TABLE t1; + + +DELIMITER $$; +BEGIN NOT ATOMIC + DECLARE var ENUM('a'); + CREATE TABLE t1 AS SELECT var; +END; +$$ +DELIMITER ;$$ +SHOW CREATE TABLE t1; +DROP TABLE t1; diff --git a/mysql-test/suite/compat/oracle/r/sp-anchor-row-type-table.result b/mysql-test/suite/compat/oracle/r/sp-anchor-row-type-table.result index b878042174b..9edec669908 100644 --- a/mysql-test/suite/compat/oracle/r/sp-anchor-row-type-table.result +++ b/mysql-test/suite/compat/oracle/r/sp-anchor-row-type-table.result @@ -21,7 +21,7 @@ Table Create Table t2 CREATE TABLE "t2" ( "a" int(11) DEFAULT NULL, "b" text DEFAULT NULL, - "c" varchar(1) DEFAULT NULL + "c" char(1) DEFAULT NULL ) DROP PROCEDURE p2; DROP PROCEDURE p1; diff --git a/mysql-test/suite/compat/oracle/r/sp-row.result b/mysql-test/suite/compat/oracle/r/sp-row.result index 9557a24a1da..4ca403431c3 100644 --- a/mysql-test/suite/compat/oracle/r/sp-row.result +++ b/mysql-test/suite/compat/oracle/r/sp-row.result @@ -1872,8 +1872,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" varchar(1) DEFAULT NULL, - "rec.var" varchar(1) DEFAULT NULL + "var" char(1) DEFAULT NULL, + "rec.var" char(1) DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -1882,8 +1882,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" varbinary(1) DEFAULT NULL, - "rec.var" varbinary(1) DEFAULT NULL + "var" binary(1) DEFAULT NULL, + "rec.var" binary(1) DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -1892,8 +1892,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" varchar(1) DEFAULT NULL, - "rec.var" varchar(1) DEFAULT NULL + "var" char(1) DEFAULT NULL, + "rec.var" char(1) DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -1902,8 +1902,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" varchar(10) DEFAULT NULL, - "rec.var" varchar(10) DEFAULT NULL + "var" char(10) DEFAULT NULL, + "rec.var" char(10) DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -1912,8 +1912,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" varchar(10) CHARACTER SET utf8 DEFAULT NULL, - "rec.var" varchar(10) CHARACTER SET utf8 DEFAULT NULL + "var" char(10) CHARACTER SET utf8 DEFAULT NULL, + "rec.var" char(10) CHARACTER SET utf8 DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -1922,8 +1922,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" varbinary(10) DEFAULT NULL, - "rec.var" varbinary(10) DEFAULT NULL + "var" binary(10) DEFAULT NULL, + "rec.var" binary(10) DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -2161,8 +2161,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" mediumtext CHARACTER SET utf8 DEFAULT NULL, - "rec.var" mediumtext CHARACTER SET utf8 DEFAULT NULL + "var" text CHARACTER SET utf8 DEFAULT NULL, + "rec.var" text CHARACTER SET utf8 DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -2171,8 +2171,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" text CHARACTER SET utf8 DEFAULT NULL, - "rec.var" text CHARACTER SET utf8 DEFAULT NULL + "var" tinytext CHARACTER SET utf8 DEFAULT NULL, + "rec.var" tinytext CHARACTER SET utf8 DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; @@ -2181,8 +2181,8 @@ CALL p1(); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE "t1" ( - "var" longtext CHARACTER SET utf8 DEFAULT NULL, - "rec.var" longtext CHARACTER SET utf8 DEFAULT NULL + "var" mediumtext CHARACTER SET utf8 DEFAULT NULL, + "rec.var" mediumtext CHARACTER SET utf8 DEFAULT NULL ) DROP TABLE t1; DROP PROCEDURE p1; diff --git a/mysql-test/suite/compat/oracle/r/sp.result b/mysql-test/suite/compat/oracle/r/sp.result index 7f042825385..8e126b3f724 100644 --- a/mysql-test/suite/compat/oracle/r/sp.result +++ b/mysql-test/suite/compat/oracle/r/sp.result @@ -1704,15 +1704,15 @@ t2 CREATE TABLE "t2" ( "dc100" decimal(10,0) DEFAULT NULL, "dc103" decimal(10,3) DEFAULT NULL, "dc209" decimal(20,9) DEFAULT NULL, - "cc" varchar(10) DEFAULT NULL, + "cc" char(10) DEFAULT NULL, "cv" varchar(10) DEFAULT NULL, "cvu" varchar(10) CHARACTER SET utf8 DEFAULT NULL, "t1" tinytext DEFAULT NULL, "t2" text DEFAULT NULL, "t3" mediumtext DEFAULT NULL, "t4" longtext DEFAULT NULL, - "enum1" varchar(1) DEFAULT NULL, - "set1" varchar(5) DEFAULT NULL, + "enum1" char(1) DEFAULT NULL, + "set1" char(5) DEFAULT NULL, "blob1" tinyblob DEFAULT NULL, "blob2" longblob DEFAULT NULL, "blob3" mediumblob DEFAULT NULL, @@ -1866,15 +1866,15 @@ t2 CREATE TABLE "t2" ( "dc100" decimal(10,0) DEFAULT NULL, "dc103" decimal(10,3) DEFAULT NULL, "dc209" decimal(20,9) DEFAULT NULL, - "cc" varchar(10) DEFAULT NULL, + "cc" char(10) DEFAULT NULL, "cv" varchar(10) DEFAULT NULL, "cvu" varchar(10) CHARACTER SET utf8 DEFAULT NULL, "t1" tinytext DEFAULT NULL, "t2" text DEFAULT NULL, "t3" mediumtext DEFAULT NULL, "t4" longtext DEFAULT NULL, - "enum1" varchar(1) DEFAULT NULL, - "set1" varchar(5) DEFAULT NULL, + "enum1" char(1) DEFAULT NULL, + "set1" char(5) DEFAULT NULL, "blob1" tinyblob DEFAULT NULL, "blob2" longblob DEFAULT NULL, "blob3" mediumblob DEFAULT NULL, @@ -2382,7 +2382,7 @@ t1 CREATE TABLE "t1" ( "a_flt0" float DEFAULT NULL, "a_dbl0" double DEFAULT NULL, "a_bit3" bit(3) DEFAULT NULL, - "a_enum0" varchar(1) DEFAULT NULL, + "a_enum0" char(1) DEFAULT NULL, "a_varchar10" varchar(10) DEFAULT NULL, "a_text1" text DEFAULT NULL, "a_tinytext1" tinytext DEFAULT NULL, @@ -2400,7 +2400,7 @@ t1 CREATE TABLE "t1" ( "aa_flt0" float DEFAULT NULL, "aa_dbl0" double DEFAULT NULL, "aa_bit3" bit(3) DEFAULT NULL, - "aa_enum0" varchar(1) DEFAULT NULL, + "aa_enum0" char(1) DEFAULT NULL, "aa_varchar10" varchar(10) DEFAULT NULL, "aa_text1" text DEFAULT NULL, "aa_tinytext1" tinytext DEFAULT NULL, |