mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MDEV-22503 MDB limits DECIMAL column precision to 16 doing CTAS with floor/ceil over DECIMAL(X,Y) where X > 16
The DECIMAL data type branch in Item_func_int_val::fix_length_and_dec() incorrectly used DOUBLE-style length calculation, which resulted in a smaller data type than the actual result of FLOOR()/CEIL() needs.
This commit is contained in:
parent
23d3d180ca
commit
910c31928e
3 changed files with 768 additions and 0 deletions
|
@ -994,5 +994,723 @@ SELECT -9223372036854775808 MOD -9223372036854775808;
|
||||||
-9223372036854775808 MOD -9223372036854775808
|
-9223372036854775808 MOD -9223372036854775808
|
||||||
0
|
0
|
||||||
#
|
#
|
||||||
|
# MDEV-22503 MDB limits DECIMAL column precision to 16 doing CTAS with floor/ceil over DECIMAL(X,Y) where X > 16
|
||||||
|
#
|
||||||
|
CREATE TABLE t44 (d1 decimal(38,0) DEFAULT NULL);
|
||||||
|
INSERT INTO t44 VALUES (12345678901234567890123456789012345678);
|
||||||
|
SELECT FLOOR(d1) FROM t44;
|
||||||
|
FLOOR(d1)
|
||||||
|
12345678901234567890123456789012345678
|
||||||
|
CREATE TABLE t45 AS SELECT FLOOR(d1) FROM t44;
|
||||||
|
SELECT * FROM t45;
|
||||||
|
FLOOR(d1)
|
||||||
|
12345678901234567890123456789012345678
|
||||||
|
SHOW CREATE TABLE t45;
|
||||||
|
Table Create Table
|
||||||
|
t45 CREATE TABLE `t45` (
|
||||||
|
`FLOOR(d1)` decimal(38,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t44, t45;
|
||||||
|
CREATE PROCEDURE p1(prec INT, scale INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE maxval VARCHAR(128) DEFAULT '';
|
||||||
|
SET @type= CONCAT('DECIMAL(', prec, ',', scale,')');
|
||||||
|
SET @stmt= CONCAT('CREATE TABLE t1 (a ', @type, ',b ', @type, 'unsigned)');
|
||||||
|
PREPARE stmt FROM @stmt;
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
SET maxval= CONCAT(REPEAT('9', prec-scale), '.', REPEAT('9',scale));
|
||||||
|
INSERT INTO t1 VALUES (maxval, maxval);
|
||||||
|
CREATE TABLE t2 AS SELECT a, b, FLOOR(a) AS fa, FLOOR(b) AS fb FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
SELECT * FROM t2;
|
||||||
|
DROP TABLE t1, t2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2(prec INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE scale INT DEFAULT 0;
|
||||||
|
WHILE scale < prec AND scale <= 30 DO
|
||||||
|
CALL p1(prec, scale);
|
||||||
|
SET scale= scale + 1;
|
||||||
|
END WHILE;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2(38);
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,0) DEFAULT NULL,
|
||||||
|
`b` decimal(38,0) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(38,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(38,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999999999999999
|
||||||
|
b 99999999999999999999999999999999999999
|
||||||
|
fa 99999999999999999999999999999999999999
|
||||||
|
fb 99999999999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,1) DEFAULT NULL,
|
||||||
|
`b` decimal(38,1) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(37,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(37,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999999999999999.9
|
||||||
|
b 9999999999999999999999999999999999999.9
|
||||||
|
fa 9999999999999999999999999999999999999
|
||||||
|
fb 9999999999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,2) DEFAULT NULL,
|
||||||
|
`b` decimal(38,2) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(36,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(36,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999999999999999.99
|
||||||
|
b 999999999999999999999999999999999999.99
|
||||||
|
fa 999999999999999999999999999999999999
|
||||||
|
fb 999999999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,3) DEFAULT NULL,
|
||||||
|
`b` decimal(38,3) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(35,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(35,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999999999999.999
|
||||||
|
b 99999999999999999999999999999999999.999
|
||||||
|
fa 99999999999999999999999999999999999
|
||||||
|
fb 99999999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,4) DEFAULT NULL,
|
||||||
|
`b` decimal(38,4) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(34,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(34,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999999999999.9999
|
||||||
|
b 9999999999999999999999999999999999.9999
|
||||||
|
fa 9999999999999999999999999999999999
|
||||||
|
fb 9999999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,5) DEFAULT NULL,
|
||||||
|
`b` decimal(38,5) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(33,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(33,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999999999999.99999
|
||||||
|
b 999999999999999999999999999999999.99999
|
||||||
|
fa 999999999999999999999999999999999
|
||||||
|
fb 999999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,6) DEFAULT NULL,
|
||||||
|
`b` decimal(38,6) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(32,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(32,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999999999.999999
|
||||||
|
b 99999999999999999999999999999999.999999
|
||||||
|
fa 99999999999999999999999999999999
|
||||||
|
fb 99999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,7) DEFAULT NULL,
|
||||||
|
`b` decimal(38,7) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(31,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(31,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999999999.9999999
|
||||||
|
b 9999999999999999999999999999999.9999999
|
||||||
|
fa 9999999999999999999999999999999
|
||||||
|
fb 9999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,8) DEFAULT NULL,
|
||||||
|
`b` decimal(38,8) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(30,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(30,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999999999.99999999
|
||||||
|
b 999999999999999999999999999999.99999999
|
||||||
|
fa 999999999999999999999999999999
|
||||||
|
fb 999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,9) DEFAULT NULL,
|
||||||
|
`b` decimal(38,9) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(29,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(29,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999999.999999999
|
||||||
|
b 99999999999999999999999999999.999999999
|
||||||
|
fa 99999999999999999999999999999
|
||||||
|
fb 99999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,10) DEFAULT NULL,
|
||||||
|
`b` decimal(38,10) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(28,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(28,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999999.9999999999
|
||||||
|
b 9999999999999999999999999999.9999999999
|
||||||
|
fa 9999999999999999999999999999
|
||||||
|
fb 9999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,11) DEFAULT NULL,
|
||||||
|
`b` decimal(38,11) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(27,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(27,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999999.99999999999
|
||||||
|
b 999999999999999999999999999.99999999999
|
||||||
|
fa 999999999999999999999999999
|
||||||
|
fb 999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,12) DEFAULT NULL,
|
||||||
|
`b` decimal(38,12) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(26,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(26,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999.999999999999
|
||||||
|
b 99999999999999999999999999.999999999999
|
||||||
|
fa 99999999999999999999999999
|
||||||
|
fb 99999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,13) DEFAULT NULL,
|
||||||
|
`b` decimal(38,13) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(25,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(25,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999.9999999999999
|
||||||
|
b 9999999999999999999999999.9999999999999
|
||||||
|
fa 9999999999999999999999999
|
||||||
|
fb 9999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,14) DEFAULT NULL,
|
||||||
|
`b` decimal(38,14) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(24,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(24,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999.99999999999999
|
||||||
|
b 999999999999999999999999.99999999999999
|
||||||
|
fa 999999999999999999999999
|
||||||
|
fb 999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,15) DEFAULT NULL,
|
||||||
|
`b` decimal(38,15) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(23,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(23,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999.999999999999999
|
||||||
|
b 99999999999999999999999.999999999999999
|
||||||
|
fa 99999999999999999999999
|
||||||
|
fb 99999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,16) DEFAULT NULL,
|
||||||
|
`b` decimal(38,16) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(22,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(22,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999.9999999999999999
|
||||||
|
b 9999999999999999999999.9999999999999999
|
||||||
|
fa 9999999999999999999999
|
||||||
|
fb 9999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,17) DEFAULT NULL,
|
||||||
|
`b` decimal(38,17) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(21,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(21,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999.99999999999999999
|
||||||
|
b 999999999999999999999.99999999999999999
|
||||||
|
fa 999999999999999999999
|
||||||
|
fb 999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,18) DEFAULT NULL,
|
||||||
|
`b` decimal(38,18) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(20,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(20,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999.999999999999999999
|
||||||
|
b 99999999999999999999.999999999999999999
|
||||||
|
fa 99999999999999999999
|
||||||
|
fb 99999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,19) DEFAULT NULL,
|
||||||
|
`b` decimal(38,19) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(19,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(19,0) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999.9999999999999999999
|
||||||
|
b 9999999999999999999.9999999999999999999
|
||||||
|
fa 9999999999999999999
|
||||||
|
fb 9999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,20) DEFAULT NULL,
|
||||||
|
`b` decimal(38,20) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(18,0) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999.99999999999999999999
|
||||||
|
b 999999999999999999.99999999999999999999
|
||||||
|
fa 999999999999999999
|
||||||
|
fb 999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,21) DEFAULT NULL,
|
||||||
|
`b` decimal(38,21) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999.999999999999999999999
|
||||||
|
b 99999999999999999.999999999999999999999
|
||||||
|
fa 99999999999999999
|
||||||
|
fb 99999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,22) DEFAULT NULL,
|
||||||
|
`b` decimal(38,22) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999.9999999999999999999999
|
||||||
|
b 9999999999999999.9999999999999999999999
|
||||||
|
fa 9999999999999999
|
||||||
|
fb 9999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,23) DEFAULT NULL,
|
||||||
|
`b` decimal(38,23) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999.99999999999999999999999
|
||||||
|
b 999999999999999.99999999999999999999999
|
||||||
|
fa 999999999999999
|
||||||
|
fb 999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,24) DEFAULT NULL,
|
||||||
|
`b` decimal(38,24) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(16) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999.999999999999999999999999
|
||||||
|
b 99999999999999.999999999999999999999999
|
||||||
|
fa 99999999999999
|
||||||
|
fb 99999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,25) DEFAULT NULL,
|
||||||
|
`b` decimal(38,25) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(16) DEFAULT NULL,
|
||||||
|
`fb` bigint(15) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999.9999999999999999999999999
|
||||||
|
b 9999999999999.9999999999999999999999999
|
||||||
|
fa 9999999999999
|
||||||
|
fb 9999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,26) DEFAULT NULL,
|
||||||
|
`b` decimal(38,26) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(15) DEFAULT NULL,
|
||||||
|
`fb` bigint(14) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999.99999999999999999999999999
|
||||||
|
b 999999999999.99999999999999999999999999
|
||||||
|
fa 999999999999
|
||||||
|
fb 999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,27) DEFAULT NULL,
|
||||||
|
`b` decimal(38,27) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(14) DEFAULT NULL,
|
||||||
|
`fb` bigint(13) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999.999999999999999999999999999
|
||||||
|
b 99999999999.999999999999999999999999999
|
||||||
|
fa 99999999999
|
||||||
|
fb 99999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,28) DEFAULT NULL,
|
||||||
|
`b` decimal(38,28) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(13) DEFAULT NULL,
|
||||||
|
`fb` bigint(12) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999.9999999999999999999999999999
|
||||||
|
b 9999999999.9999999999999999999999999999
|
||||||
|
fa 9999999999
|
||||||
|
fb 9999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,29) DEFAULT NULL,
|
||||||
|
`b` decimal(38,29) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(12) DEFAULT NULL,
|
||||||
|
`fb` int(11) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999.99999999999999999999999999999
|
||||||
|
b 999999999.99999999999999999999999999999
|
||||||
|
fa 999999999
|
||||||
|
fb 999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(38,30) DEFAULT NULL,
|
||||||
|
`b` decimal(38,30) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(11) DEFAULT NULL,
|
||||||
|
`fb` int(10) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999.999999999999999999999999999999
|
||||||
|
b 99999999.999999999999999999999999999999
|
||||||
|
fa 99999999
|
||||||
|
fb 99999999
|
||||||
|
CALL p2(30);
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,0) DEFAULT NULL,
|
||||||
|
`b` decimal(30,0) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(30,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(31,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999999999
|
||||||
|
b 999999999999999999999999999999
|
||||||
|
fa 999999999999999999999999999999
|
||||||
|
fb 999999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,1) DEFAULT NULL,
|
||||||
|
`b` decimal(30,1) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(29,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(30,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999999.9
|
||||||
|
b 99999999999999999999999999999.9
|
||||||
|
fa 99999999999999999999999999999
|
||||||
|
fb 99999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,2) DEFAULT NULL,
|
||||||
|
`b` decimal(30,2) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(28,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(29,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999999.99
|
||||||
|
b 9999999999999999999999999999.99
|
||||||
|
fa 9999999999999999999999999999
|
||||||
|
fb 9999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,3) DEFAULT NULL,
|
||||||
|
`b` decimal(30,3) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(27,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(28,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999999.999
|
||||||
|
b 999999999999999999999999999.999
|
||||||
|
fa 999999999999999999999999999
|
||||||
|
fb 999999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,4) DEFAULT NULL,
|
||||||
|
`b` decimal(30,4) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(26,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(27,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999999.9999
|
||||||
|
b 99999999999999999999999999.9999
|
||||||
|
fa 99999999999999999999999999
|
||||||
|
fb 99999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,5) DEFAULT NULL,
|
||||||
|
`b` decimal(30,5) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(25,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(26,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999999.99999
|
||||||
|
b 9999999999999999999999999.99999
|
||||||
|
fa 9999999999999999999999999
|
||||||
|
fb 9999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,6) DEFAULT NULL,
|
||||||
|
`b` decimal(30,6) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(24,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(25,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999999.999999
|
||||||
|
b 999999999999999999999999.999999
|
||||||
|
fa 999999999999999999999999
|
||||||
|
fb 999999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,7) DEFAULT NULL,
|
||||||
|
`b` decimal(30,7) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(23,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(24,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999999.9999999
|
||||||
|
b 99999999999999999999999.9999999
|
||||||
|
fa 99999999999999999999999
|
||||||
|
fb 99999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,8) DEFAULT NULL,
|
||||||
|
`b` decimal(30,8) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(22,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(23,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999999.99999999
|
||||||
|
b 9999999999999999999999.99999999
|
||||||
|
fa 9999999999999999999999
|
||||||
|
fb 9999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,9) DEFAULT NULL,
|
||||||
|
`b` decimal(30,9) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(21,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(22,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999999.999999999
|
||||||
|
b 999999999999999999999.999999999
|
||||||
|
fa 999999999999999999999
|
||||||
|
fb 999999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,10) DEFAULT NULL,
|
||||||
|
`b` decimal(30,10) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(20,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(21,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999999.9999999999
|
||||||
|
b 99999999999999999999.9999999999
|
||||||
|
fa 99999999999999999999
|
||||||
|
fb 99999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,11) DEFAULT NULL,
|
||||||
|
`b` decimal(30,11) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(19,0) DEFAULT NULL,
|
||||||
|
`fb` decimal(20,0) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999999.99999999999
|
||||||
|
b 9999999999999999999.99999999999
|
||||||
|
fa 9999999999999999999
|
||||||
|
fb 9999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,12) DEFAULT NULL,
|
||||||
|
`b` decimal(30,12) unsigned DEFAULT NULL,
|
||||||
|
`fa` decimal(18,0) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999999.999999999999
|
||||||
|
b 999999999999999999.999999999999
|
||||||
|
fa 999999999999999999
|
||||||
|
fb 999999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,13) DEFAULT NULL,
|
||||||
|
`b` decimal(30,13) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999999.9999999999999
|
||||||
|
b 99999999999999999.9999999999999
|
||||||
|
fa 99999999999999999
|
||||||
|
fb 99999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,14) DEFAULT NULL,
|
||||||
|
`b` decimal(30,14) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999999.99999999999999
|
||||||
|
b 9999999999999999.99999999999999
|
||||||
|
fa 9999999999999999
|
||||||
|
fb 9999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,15) DEFAULT NULL,
|
||||||
|
`b` decimal(30,15) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999999.999999999999999
|
||||||
|
b 999999999999999.999999999999999
|
||||||
|
fa 999999999999999
|
||||||
|
fb 999999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,16) DEFAULT NULL,
|
||||||
|
`b` decimal(30,16) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(17) DEFAULT NULL,
|
||||||
|
`fb` bigint(16) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999999.9999999999999999
|
||||||
|
b 99999999999999.9999999999999999
|
||||||
|
fa 99999999999999
|
||||||
|
fb 99999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,17) DEFAULT NULL,
|
||||||
|
`b` decimal(30,17) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(16) DEFAULT NULL,
|
||||||
|
`fb` bigint(15) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999999.99999999999999999
|
||||||
|
b 9999999999999.99999999999999999
|
||||||
|
fa 9999999999999
|
||||||
|
fb 9999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,18) DEFAULT NULL,
|
||||||
|
`b` decimal(30,18) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(15) DEFAULT NULL,
|
||||||
|
`fb` bigint(14) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999999.999999999999999999
|
||||||
|
b 999999999999.999999999999999999
|
||||||
|
fa 999999999999
|
||||||
|
fb 999999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,19) DEFAULT NULL,
|
||||||
|
`b` decimal(30,19) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(14) DEFAULT NULL,
|
||||||
|
`fb` bigint(13) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999999.9999999999999999999
|
||||||
|
b 99999999999.9999999999999999999
|
||||||
|
fa 99999999999
|
||||||
|
fb 99999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,20) DEFAULT NULL,
|
||||||
|
`b` decimal(30,20) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(13) DEFAULT NULL,
|
||||||
|
`fb` bigint(12) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999999.99999999999999999999
|
||||||
|
b 9999999999.99999999999999999999
|
||||||
|
fa 9999999999
|
||||||
|
fb 9999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,21) DEFAULT NULL,
|
||||||
|
`b` decimal(30,21) unsigned DEFAULT NULL,
|
||||||
|
`fa` bigint(12) DEFAULT NULL,
|
||||||
|
`fb` int(11) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999999.999999999999999999999
|
||||||
|
b 999999999.999999999999999999999
|
||||||
|
fa 999999999
|
||||||
|
fb 999999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,22) DEFAULT NULL,
|
||||||
|
`b` decimal(30,22) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(11) DEFAULT NULL,
|
||||||
|
`fb` int(10) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999999.9999999999999999999999
|
||||||
|
b 99999999.9999999999999999999999
|
||||||
|
fa 99999999
|
||||||
|
fb 99999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,23) DEFAULT NULL,
|
||||||
|
`b` decimal(30,23) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(10) DEFAULT NULL,
|
||||||
|
`fb` int(9) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999999.99999999999999999999999
|
||||||
|
b 9999999.99999999999999999999999
|
||||||
|
fa 9999999
|
||||||
|
fb 9999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,24) DEFAULT NULL,
|
||||||
|
`b` decimal(30,24) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(9) DEFAULT NULL,
|
||||||
|
`fb` int(8) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999999.999999999999999999999999
|
||||||
|
b 999999.999999999999999999999999
|
||||||
|
fa 999999
|
||||||
|
fb 999999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,25) DEFAULT NULL,
|
||||||
|
`b` decimal(30,25) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(8) DEFAULT NULL,
|
||||||
|
`fb` int(7) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99999.9999999999999999999999999
|
||||||
|
b 99999.9999999999999999999999999
|
||||||
|
fa 99999
|
||||||
|
fb 99999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,26) DEFAULT NULL,
|
||||||
|
`b` decimal(30,26) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(7) DEFAULT NULL,
|
||||||
|
`fb` int(6) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9999.99999999999999999999999999
|
||||||
|
b 9999.99999999999999999999999999
|
||||||
|
fa 9999
|
||||||
|
fb 9999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,27) DEFAULT NULL,
|
||||||
|
`b` decimal(30,27) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(6) DEFAULT NULL,
|
||||||
|
`fb` int(5) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 999.999999999999999999999999999
|
||||||
|
b 999.999999999999999999999999999
|
||||||
|
fa 999
|
||||||
|
fb 999
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,28) DEFAULT NULL,
|
||||||
|
`b` decimal(30,28) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(5) DEFAULT NULL,
|
||||||
|
`fb` int(4) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 99.9999999999999999999999999999
|
||||||
|
b 99.9999999999999999999999999999
|
||||||
|
fa 99
|
||||||
|
fb 99
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` decimal(30,29) DEFAULT NULL,
|
||||||
|
`b` decimal(30,29) unsigned DEFAULT NULL,
|
||||||
|
`fa` int(4) DEFAULT NULL,
|
||||||
|
`fb` int(3) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9.99999999999999999999999999999
|
||||||
|
b 9.99999999999999999999999999999
|
||||||
|
fa 9
|
||||||
|
fb 9
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
#
|
||||||
# End of 10.1 tests
|
# End of 10.1 tests
|
||||||
#
|
#
|
||||||
|
|
|
@ -720,6 +720,53 @@ SELECT -9223372036854775808 MOD 9223372036854775808;
|
||||||
SELECT -9223372036854775808 MOD -9223372036854775808;
|
SELECT -9223372036854775808 MOD -9223372036854775808;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-22503 MDB limits DECIMAL column precision to 16 doing CTAS with floor/ceil over DECIMAL(X,Y) where X > 16
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t44 (d1 decimal(38,0) DEFAULT NULL);
|
||||||
|
INSERT INTO t44 VALUES (12345678901234567890123456789012345678);
|
||||||
|
SELECT FLOOR(d1) FROM t44;
|
||||||
|
CREATE TABLE t45 AS SELECT FLOOR(d1) FROM t44;
|
||||||
|
SELECT * FROM t45;
|
||||||
|
SHOW CREATE TABLE t45;
|
||||||
|
DROP TABLE t44, t45;
|
||||||
|
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE PROCEDURE p1(prec INT, scale INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE maxval VARCHAR(128) DEFAULT '';
|
||||||
|
SET @type= CONCAT('DECIMAL(', prec, ',', scale,')');
|
||||||
|
SET @stmt= CONCAT('CREATE TABLE t1 (a ', @type, ',b ', @type, 'unsigned)');
|
||||||
|
PREPARE stmt FROM @stmt;
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
SET maxval= CONCAT(REPEAT('9', prec-scale), '.', REPEAT('9',scale));
|
||||||
|
INSERT INTO t1 VALUES (maxval, maxval);
|
||||||
|
CREATE TABLE t2 AS SELECT a, b, FLOOR(a) AS fa, FLOOR(b) AS fb FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
SELECT * FROM t2;
|
||||||
|
DROP TABLE t1, t2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2(prec INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE scale INT DEFAULT 0;
|
||||||
|
WHILE scale < prec AND scale <= 30 DO
|
||||||
|
CALL p1(prec, scale);
|
||||||
|
SET scale= scale + 1;
|
||||||
|
END WHILE;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--vertical_results
|
||||||
|
CALL p2(38);
|
||||||
|
CALL p2(30);
|
||||||
|
--horizontal_results
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.1 tests
|
--echo # End of 10.1 tests
|
||||||
|
|
|
@ -2337,6 +2337,9 @@ void Item_func_int_val::fix_length_and_dec()
|
||||||
if ((args[0]->max_length - args[0]->decimals) >=
|
if ((args[0]->max_length - args[0]->decimals) >=
|
||||||
(DECIMAL_LONGLONG_DIGITS - 2))
|
(DECIMAL_LONGLONG_DIGITS - 2))
|
||||||
{
|
{
|
||||||
|
fix_char_length(
|
||||||
|
my_decimal_precision_to_length_no_truncation(
|
||||||
|
args[0]->decimal_int_part(), 0, false));
|
||||||
set_handler_by_result_type(DECIMAL_RESULT);
|
set_handler_by_result_type(DECIMAL_RESULT);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue