mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 14:02:32 +01:00
490e220ad2
Problem was that Create_field::create_length_to_internal_length() calculated a different pack_length for NEWDECIMAL compared to Field_new_decimal constructor which lead to some unused bytes in the middle of the record, which Aria didn't like.
33 lines
1 KiB
Text
33 lines
1 KiB
Text
CREATE OR REPLACE TABLE t1 (
|
|
f1 DECIMAL(43,0) NOT NULL,
|
|
f2 TIME(4) NULL,
|
|
f3 BINARY(101) NULL,
|
|
f4 TIMESTAMP(4) NULL,
|
|
f5 DATETIME(1) NULL,
|
|
f6 SET('a','b','c') NOT NULL DEFAULT 'a',
|
|
f7 VARBINARY(2332) NOT NULL DEFAULT '',
|
|
f8 DATE NULL,
|
|
f9 BLOB NULL,
|
|
f10 MEDIUMINT(45) NOT NULL DEFAULT 0,
|
|
f11 YEAR NULL,
|
|
f12 BIT(58) NULL,
|
|
v2 TIME(1) AS (f2) VIRTUAL,
|
|
v3 BINARY(115) AS (f3) VIRTUAL,
|
|
v4 TIMESTAMP(3) AS (f4) VIRTUAL,
|
|
v7 VARBINARY(658) AS (f7) PERSISTENT,
|
|
v8 DATE AS (f8) PERSISTENT,
|
|
v9 TINYTEXT AS (f9) PERSISTENT,
|
|
v11 YEAR AS (f11) VIRTUAL
|
|
) ENGINE=Aria;
|
|
INSERT IGNORE INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12) VALUES
|
|
(0.8,'16:01:46',NULL,'2006-03-01 12:44:34','2029-10-10 21:27:53','a','foo','1989-12-24','bar',9,1975,b'1');
|
|
Warnings:
|
|
Note 1265 Data truncated for column 'f1' at row 1
|
|
DROP TABLE t1;
|
|
CREATE OR REPLACE TABLE t1 (a INT(45));
|
|
INSERT IGNORE INTO t1 VALUES (1),(2);
|
|
CREATE OR REPLACE TABLE t2 ENGINE=Aria AS SELECT SUM(a) AS f1, IFNULL( 'qux', ExtractValue( 'foo', 'bar' ) ) AS f2 FROM t1;
|
|
select * from t2;
|
|
f1 f2
|
|
3 qux
|
|
DROP TABLE t1, t2;
|