summaryrefslogtreecommitdiff
path: root/mysql-test/main
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2022-09-20 10:29:37 +0400
committerAlexander Barkov <bar@mariadb.com>2022-09-20 11:02:36 +0400
commit5dcc56be4d9979e9be927b68f4e62df7a6c3d5a1 (patch)
tree0326f3d410fa09e04f7b6db0aa7b421ce9447c85 /mysql-test/main
parent65b4a2afb8fc734352359edfbae32cb2b0ef4f7a (diff)
downloadmariadb-git-5dcc56be4d9979e9be927b68f4e62df7a6c3d5a1.tar.gz
MDEV-29561 SHOW CREATE TABLE produces syntactically incorrect structure
Diffstat (limited to 'mysql-test/main')
-rw-r--r--mysql-test/main/binary_to_hex.result2
-rw-r--r--mysql-test/main/ctype_binary.result52
-rw-r--r--mysql-test/main/ctype_binary.test32
-rw-r--r--mysql-test/main/ctype_utf16_uca.result6
-rw-r--r--mysql-test/main/ctype_utf32.result2
5 files changed, 84 insertions, 10 deletions
diff --git a/mysql-test/main/binary_to_hex.result b/mysql-test/main/binary_to_hex.result
index 6ea17e4ec93..0438f89332b 100644
--- a/mysql-test/main/binary_to_hex.result
+++ b/mysql-test/main/binary_to_hex.result
@@ -21,7 +21,7 @@ t1 CREATE TABLE `t1` (
`c7` binary(1) DEFAULT NULL,
`c8` varbinary(10) DEFAULT NULL,
`c9` geometry DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=binary COLLATE=binary
+) ENGINE=MyISAM DEFAULT CHARSET=binary
INSERT INTO t1 VALUES ('tinyblob-text readable', 'blob-text readable',
'mediumblob-text readable', 'longblob-text readable',
'text readable', b'1', 'c', 'variable',
diff --git a/mysql-test/main/ctype_binary.result b/mysql-test/main/ctype_binary.result
index c35d96fd2a2..6bfb15437c6 100644
--- a/mysql-test/main/ctype_binary.result
+++ b/mysql-test/main/ctype_binary.result
@@ -3178,7 +3178,7 @@ CREATE TABLE t1(a ENUM(0x6100,0x6200,0x6300) CHARACTER SET 'Binary');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('a\0','b\0','c\0') CHARACTER SET binary COLLATE binary DEFAULT NULL
+ `a` enum('a\0','b\0','c\0') CHARACTER SET binary DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 VALUES (1),(2),(3);
SELECT HEX(a) FROM t1 ORDER BY a;
@@ -3279,7 +3279,7 @@ CREATE TABLE t1(c ENUM(0x0061) CHARACTER SET 'Binary', d JSON);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('\0a') CHARACTER SET binary COLLATE binary DEFAULT NULL,
+ `c` enum('\0a') CHARACTER SET binary DEFAULT NULL,
`d` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 (c) VALUES (1);
@@ -3294,7 +3294,7 @@ d INT DEFAULT NULL CHECK (d>0)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('\0a') CHARACTER SET binary COLLATE binary DEFAULT NULL,
+ `c` enum('\0a') CHARACTER SET binary DEFAULT NULL,
`d` int(11) DEFAULT NULL CHECK (`d` > 0)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 VALUES (1,1);
@@ -3306,7 +3306,7 @@ CREATE TABLE t1(c ENUM(0x0061) CHARACTER SET 'Binary' CHECK (c>0));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('\0a') CHARACTER SET binary COLLATE binary DEFAULT NULL CHECK (`c` > 0)
+ `c` enum('\0a') CHARACTER SET binary DEFAULT NULL CHECK (`c` > 0)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 VALUES (1);
SELECT HEX(c) FROM t1;
@@ -3316,3 +3316,47 @@ DROP TABLE t1;
#
# End of 10.2 tests
#
+#
+# Start of 10.3 tests
+#
+#
+# MDEV-29561 SHOW CREATE TABLE produces syntactically incorrect structure
+#
+CREATE TABLE t1 (a ENUM('x') CHARACTER SET BINARY);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` enum('x') CHARACTER SET binary DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+DROP TABLE t1;
+CREATE TABLE `t1` (
+ `a` enum('x') CHARACTER SET binary DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT ) CHARSET=binary;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=binary
+DROP TABLE t1;
+CREATE DATABASE db1 CHARACTER SET BINARY;
+SHOW CREATE DATABASE db1;
+Database Create Database
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET binary */
+DROP DATABASE db1;
+CREATE FUNCTION f1() RETURNS ENUM('a') CHARACTER SET binary RETURN NULL;
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS enum('a') CHARSET binary
+RETURN NULL latin1 latin1_swedish_ci latin1_swedish_ci
+DROP FUNCTION f1;
+CREATE FUNCTION f1(a ENUM('a') CHARACTER SET binary) RETURNS INT RETURN NULL;
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f1`(a ENUM('a') CHARACTER SET binary) RETURNS int(11)
+RETURN NULL latin1 latin1_swedish_ci latin1_swedish_ci
+DROP FUNCTION f1;
+#
+# End of 10.3 tests
+#
diff --git a/mysql-test/main/ctype_binary.test b/mysql-test/main/ctype_binary.test
index b871a41309b..27870a9fc54 100644
--- a/mysql-test/main/ctype_binary.test
+++ b/mysql-test/main/ctype_binary.test
@@ -169,12 +169,42 @@ INSERT INTO t1 VALUES (1);
SELECT HEX(c) FROM t1;
DROP TABLE t1;
+--echo #
+--echo # End of 10.2 tests
+--echo #
+
+
+--echo #
+--echo # Start of 10.3 tests
+--echo #
+
+--echo #
+--echo # MDEV-29561 SHOW CREATE TABLE produces syntactically incorrect structure
+--echo #
+CREATE TABLE t1 (a ENUM('x') CHARACTER SET BINARY);
+SHOW CREATE TABLE t1;
+let $def= query_get_value(show create table t1,'Create Table',1);
+DROP TABLE t1;
+eval $def;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT ) CHARSET=binary;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE DATABASE db1 CHARACTER SET BINARY;
+SHOW CREATE DATABASE db1;
+DROP DATABASE db1;
+CREATE FUNCTION f1() RETURNS ENUM('a') CHARACTER SET binary RETURN NULL;
+SHOW CREATE FUNCTION f1;
+DROP FUNCTION f1;
+CREATE FUNCTION f1(a ENUM('a') CHARACTER SET binary) RETURNS INT RETURN NULL;
+SHOW CREATE FUNCTION f1;
+DROP FUNCTION f1;
--echo #
---echo # End of 10.2 tests
+--echo # End of 10.3 tests
--echo #
diff --git a/mysql-test/main/ctype_utf16_uca.result b/mysql-test/main/ctype_utf16_uca.result
index b67c117f7f8..d49da1f8e1b 100644
--- a/mysql-test/main/ctype_utf16_uca.result
+++ b/mysql-test/main/ctype_utf16_uca.result
@@ -7907,7 +7907,7 @@ CREATE TABLE t1(c ENUM('aaaaaaaa') CHARACTER SET 'Binary',d JSON);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('\0a\0a\0a\0a\0a\0a\0a\0a') CHARACTER SET binary COLLATE binary DEFAULT NULL,
+ `c` enum('\0a\0a\0a\0a\0a\0a\0a\0a') CHARACTER SET binary DEFAULT NULL,
`d` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 (c) VALUES (1);
@@ -7919,7 +7919,7 @@ CREATE OR REPLACE TABLE t1(c ENUM('aaaaaaaaa') CHARACTER SET 'Binary',d JSON);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('\0a\0a\0a\0a\0a\0a\0a\0a\0a') CHARACTER SET binary COLLATE binary DEFAULT NULL,
+ `c` enum('\0a\0a\0a\0a\0a\0a\0a\0a\0a') CHARACTER SET binary DEFAULT NULL,
`d` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 (c) VALUES (1);
@@ -7931,7 +7931,7 @@ CREATE OR REPLACE TABLE t1(c ENUM('aaaaaaaaaa') CHARACTER SET 'Binary',d JSON);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('\0a\0a\0a\0a\0a\0a\0a\0a\0a\0a') CHARACTER SET binary COLLATE binary DEFAULT NULL,
+ `c` enum('\0a\0a\0a\0a\0a\0a\0a\0a\0a\0a') CHARACTER SET binary DEFAULT NULL,
`d` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 (c) VALUES (1);
diff --git a/mysql-test/main/ctype_utf32.result b/mysql-test/main/ctype_utf32.result
index ad5cf184663..8989d09a7e2 100644
--- a/mysql-test/main/ctype_utf32.result
+++ b/mysql-test/main/ctype_utf32.result
@@ -2878,7 +2878,7 @@ CREATE TABLE t1(c1 ENUM('a','b','ac') CHARACTER SET 'Binary',c2 JSON,c3 INT);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` enum('\0\0\0a','\0\0\0b','\0\0\0a\0\0\0c') CHARACTER SET binary COLLATE binary DEFAULT NULL,
+ `c1` enum('\0\0\0a','\0\0\0b','\0\0\0a\0\0\0c') CHARACTER SET binary DEFAULT NULL,
`c2` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
`c3` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci