1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00
Files
2021-06-11 19:31:51 +04:00

63 lines
2.1 KiB
Plaintext

--source ../include/have_columnstore.inc
SET default_storage_engine=ColumnStore;
--disable_warnings
DROP DATABASE IF EXISTS mcs_union;
--enable_warnings
CREATE DATABASE mcs_union;
USE mcs_union;
--echo #
--echo # MCOL-4700 Wrong result of a UNION for INT and INT UNSIGNED
--echo #
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;
SELECT * FROM (SELECT b FROM t1 UNION SELECT a FROM t1) tu ORDER BY b;
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;
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
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;
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
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;
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
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;
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
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;
(SELECT a FROM t2 UNION ALL SELECT a FROM t1) ORDER BY a;
DROP TABLE t1,t2;
DROP DATABASE mcs_union;