summaryrefslogtreecommitdiff
path: root/mysql-test/main/type_int.test
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-04-23 18:34:06 +0400
committerAlexander Barkov <bar@mariadb.com>2018-04-23 18:34:06 +0400
commit461de7edeaef80693e38969a4d7d3f5ae9bb5e63 (patch)
tree802b222e7082d8cabfb9ec66f0934be67f4d6414 /mysql-test/main/type_int.test
parent8fce4065e542ad64438d45f60421241dd383815f (diff)
downloadmariadb-git-461de7edeaef80693e38969a4d7d3f5ae9bb5e63.tar.gz
MDEV-15946 MEDIUMINT(N<8) creates a wrong data type on conversion to string
Diffstat (limited to 'mysql-test/main/type_int.test')
-rw-r--r--mysql-test/main/type_int.test74
1 files changed, 74 insertions, 0 deletions
diff --git a/mysql-test/main/type_int.test b/mysql-test/main/type_int.test
index f0df08ffa2c..bcab2b20dc4 100644
--- a/mysql-test/main/type_int.test
+++ b/mysql-test/main/type_int.test
@@ -91,5 +91,79 @@ DROP TABLE t1;
--echo #
+--echo # MDEV-15946 MEDIUMINT(N<8) creates a wrong data type on conversion to string
+--echo #
+
+CREATE TABLE t1 (
+ uint8 TINYINT(2) UNSIGNED, sint8 TINYINT(2),
+ uint16 SMALLINT(2) UNSIGNED, sint16 SMALLINT(2),
+ uint24 MEDIUMINT(2) UNSIGNED, sint24 MEDIUMINT(2),
+ uint32 INT(2) UNSIGNED, sint32 INT(2),
+ uint64 BIGINT(2) UNSIGNED, sint64 BIGINT(2)
+);
+
+CREATE TABLE t2 AS SELECT
+ CONCAT(uint8),CONCAT(sint8),
+ CONCAT(uint16),CONCAT(sint16),
+ CONCAT(uint24),CONCAT(sint24),
+ CONCAT(uint32),CONCAT(sint32),
+ CONCAT(uint64),CONCAT(sint64)
+FROM t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+
+CREATE TABLE t2 AS SELECT
+ CONCAT(COALESCE(uint8)),CONCAT(COALESCE(sint8)),
+ CONCAT(COALESCE(uint16)),CONCAT(COALESCE(sint16)),
+ CONCAT(COALESCE(uint24)),CONCAT(COALESCE(sint24)),
+ CONCAT(COALESCE(uint32)),CONCAT(COALESCE(sint32)),
+ CONCAT(COALESCE(uint64)),CONCAT(COALESCE(sint64))
+FROM t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+
+DROP TABLE t1;
+
+CREATE FUNCTION uint8() RETURNS TINYINT(2) UNSIGNED RETURN 1;
+CREATE FUNCTION sint8() RETURNS TINYINT(2) RETURN 1;
+CREATE FUNCTION uint16() RETURNS SMALLINT(2) UNSIGNED RETURN 1;
+CREATE FUNCTION sint16() RETURNS SMALLINT(2) RETURN 1;
+CREATE FUNCTION uint24() RETURNS MEDIUMINT(2) UNSIGNED RETURN 1;
+CREATE FUNCTION sint24() RETURNS MEDIUMINT(2) RETURN 1;
+CREATE FUNCTION uint32() RETURNS INT(2) UNSIGNED RETURN 1;
+CREATE FUNCTION sint32() RETURNS INT(2) RETURN 1;
+CREATE FUNCTION uint64() RETURNS BIGINT(2) UNSIGNED RETURN 1;
+CREATE FUNCTION sint64() RETURNS BIGINT(2) RETURN 1;
+
+CREATE TABLE t1 AS SELECT
+ CONCAT(uint8()), CONCAT(sint8()),
+ CONCAT(uint16()),CONCAT(sint16()),
+ CONCAT(uint24()),CONCAT(sint24()),
+ CONCAT(uint32()),CONCAT(sint32()),
+ CONCAT(uint64()),CONCAT(sint64());
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+CREATE TABLE t1 AS SELECT
+ CONCAT(COALESCE(uint8())),CONCAT(COALESCE(sint8())),
+ CONCAT(COALESCE(uint16())),CONCAT(COALESCE(sint16())),
+ CONCAT(COALESCE(uint24())),CONCAT(COALESCE(sint24())),
+ CONCAT(COALESCE(uint32())),CONCAT(COALESCE(sint32())),
+ CONCAT(COALESCE(uint64())),CONCAT(COALESCE(sint64()));
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+DROP FUNCTION uint8;
+DROP FUNCTION sint8;
+DROP FUNCTION uint16;
+DROP FUNCTION sint16;
+DROP FUNCTION uint24;
+DROP FUNCTION sint24;
+DROP FUNCTION uint32;
+DROP FUNCTION sint32;
+DROP FUNCTION uint64;
+DROP FUNCTION sint64;
+
+--echo #
--echo # End of 10.3 tests
--echo #