1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-05-27 01:57:30 +03:00

145 lines
2.5 KiB
Plaintext

SET default_storage_engine=ColumnStore;
DROP DATABASE IF EXISTS mcs_union;
CREATE DATABASE mcs_union;
USE mcs_union;
#
# MCOL-4700 Wrong result of a UNION for INT and INT UNSIGNED
#
CREATE TABLE t1 (a INT, b INT UNSIGNED);
INSERT INTO t1 VALUES (-1,1);
SELECT * FROM (SELECT a FROM t1 UNION SELECT b FROM t1) tu ORDER BY a;
a
-1
1
SELECT * FROM (SELECT b FROM t1 UNION SELECT a FROM t1) tu ORDER BY b;
b
-1
1
DROP TABLE t1;
CREATE TABLE t1 (a TINYINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFFFF80 AS SIGNED)+2),(-1),(0),(1),(0x7F);
CREATE TABLE t2 (a TINYINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFF-2);
(SELECT a FROM t1 UNION ALL SELECT a FROM t2) ORDER BY a;
a
-126
-1
0
0
1
1
127
253
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
a
-126
-1
0
0
1
1
127
253
DROP TABLE t1,t2;
CREATE TABLE t1 (a SMALLINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFF8000 AS SIGNED)+2),(-1),(0),(1),(0x7FFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFF-2);
(SELECT a FROM t1 UNION ALL SELECT * FROM t2) ORDER BY a;
a
-32766
-1
0
0
1
1
32767
65533
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
a
-32766
-1
0
0
1
1
32767
65533
DROP TABLE t1,t2;
CREATE TABLE t1 (a MEDIUMINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFF800000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFF-2);
(SELECT a FROM t1 UNION ALL SELECT a FROM t2) ORDER BY a;
a
-8388606
-1
0
0
1
1
8388607
16777213
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
a
-8388606
-1
0
0
1
1
8388607
16777213
DROP TABLE t1,t2;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF80000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFF-2);
(SELECT a FROM t1 UNION ALL SELECT a FROM t2) ORDER BY a;
a
-2147483646
-1
0
0
1
1
2147483647
4294967293
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
a
-2147483646
-1
0
0
1
1
2147483647
4294967293
DROP TABLE t1,t2;
CREATE TABLE t1 (a BIGINT);
INSERT INTO t1 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
CREATE TABLE t2 (a BIGINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFFFFFFFFFF-2);
(SELECT a FROM t1 UNION ALL SELECT a FROM t2) ORDER BY a;
a
-9223372036854775806
-1
0
0
1
1
9223372036854775807
18446744073709551613
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
a
-9223372036854775806
-1
0
0
1
1
9223372036854775807
18446744073709551613
DROP TABLE t1,t2;
DROP DATABASE mcs_union;