1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-20303 SPACE(-1) returns a wrong data type

This commit is contained in:
Alexander Barkov
2019-08-09 14:18:13 +04:00
parent 2dac123515
commit 43882e764d
3 changed files with 158 additions and 57 deletions

View File

@ -5073,16 +5073,84 @@ DROP TABLE t1;
CREATE OR REPLACE TABLE t1 (i BIGINT);
INSERT INTO t1 VALUES (42);
CREATE OR REPLACE TABLE t2 AS SELECT
REPEAT(i,NULL) AS cn,
REPEAT(i,0) AS c0,
REPEAT(i,-1) AS c1
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c1` char(0) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
#
# MDEV-20303 SPACE(-1) returns a wrong data type
#
CREATE TABLE t1 (i BIGINT);
INSERT INTO t1 VALUES (42);
CREATE TABLE t2 AS SELECT
SPACE(NULL) AS cn,
SPACE(0) AS c0,
SPACE(-1) AS c1
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c1` char(0) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
CREATE TABLE t1 (i BIGINT);
INSERT INTO t1 VALUES (42);
CREATE TABLE t2 AS SELECT
LPAD(i,NULL,'a') AS cn,
LPAD(i,0,'a') AS c0,
LPAD(i,-1,'a') AS c1
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c1` char(0) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
CREATE TABLE t1 (i BIGINT);
INSERT INTO t1 VALUES (42);
CREATE TABLE t2 AS SELECT
RPAD(i,NULL,'a') AS cn,
RPAD(i,0,'a') AS c0,
RPAD(i,-1,'a') AS c1
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c1` char(0) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
CREATE TABLE t1 (i BIGINT);
INSERT INTO t1 VALUES (42);
CREATE TABLE t2 AS SELECT
LEFT(i,NULL) AS cn,
LEFT(i,0) AS c0,
LEFT(i,18446744073709551615) AS c1
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
`c1` varchar(20) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT c1 FROM t2;
c1
42
DROP TABLE t1, t2;
#
# End of 10.3 tests
#