-- source ../include/have_columnstore.inc --echo # MCOL-641 Union Test Cases --echo # Once MCOL-5417 is supported, the errored out queries below should be fixed. --disable_warnings DROP DATABASE IF EXISTS mcol641_union_db; --enable_warnings CREATE DATABASE mcol641_union_db; USE mcol641_union_db; SET SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; CREATE TABLE cs1 (d1 DECIMAL(38), d2 DECIMAL(38,10), d3 DECIMAL(38,38)) ENGINE=columnstore; CREATE TABLE cs2 (d1 DECIMAL(38) UNSIGNED, d2 DECIMAL(38,10) UNSIGNED, d3 DECIMAL(38,38) UNSIGNED) ENGINE=columnstore; INSERT INTO cs1 VALUES (125, 1.25, 0.125); INSERT INTO cs1 VALUES (-125, -1.25, -0.125); INSERT INTO cs1 values (99999999999999999999999999999999999998, 9999999999999999999999999999.9999999998, 0.99999999999999999999999999999999999998); INSERT INTO cs1 values (99999999999999999999999999999999999999, 9999999999999999999999999999.9999999999, 0.99999999999999999999999999999999999999); INSERT INTO cs1 values (-99999999999999999999999999999999999998, -9999999999999999999999999999.9999999998, -0.99999999999999999999999999999999999998); INSERT INTO cs1 values (-99999999999999999999999999999999999999, -9999999999999999999999999999.9999999999, -0.99999999999999999999999999999999999999); --error ER_CHECK_NOT_IMPLEMENTED SELECT d1, d1, d2 FROM cs1 UNION SELECT d2, d3, d3 FROM cs1; --error ER_CHECK_NOT_IMPLEMENTED SELECT d2, d3, d3 FROM cs1 UNION SELECT d1, d1, d2 FROM cs1; --sorted_result SELECT d1, d2, d3 FROM cs1 UNION SELECT d1, d2, d3 FROM cs1; INSERT INTO cs2 VALUES (125, 1.25, 0.125); INSERT INTO cs2 values (99999999999999999999999999999999999998, 9999999999999999999999999999.9999999998, 0.99999999999999999999999999999999999998); INSERT INTO cs2 values (99999999999999999999999999999999999999, 9999999999999999999999999999.9999999999, 0.99999999999999999999999999999999999999); --error ER_CHECK_NOT_IMPLEMENTED SELECT d1, d1, d2 FROM cs2 UNION SELECT d2, d3, d3 FROM cs2; --error ER_CHECK_NOT_IMPLEMENTED SELECT d2, d3, d3 FROM cs2 UNION SELECT d1, d1, d2 FROM cs2; --sorted_result SELECT d1, d2, d3 FROM cs2 UNION SELECT d1, d2, d3 FROM cs2; DROP TABLE cs1, cs2; CREATE TABLE cs1 (d1 DECIMAL(20, 0), d2 DECIMAL(20, 18), d3 DECIMAL(18, 18)) ENGINE=columnstore; CREATE TABLE cs2 (d1 DECIMAL(20, 0) UNSIGNED, d2 DECIMAL(20, 18) UNSIGNED, d3 DECIMAL(18, 18) UNSIGNED) ENGINE=columnstore; INSERT INTO cs1 VALUES (12345678901234567890, 12.345678901234567891, 0.123456789012345678); INSERT INTO cs1 VALUES (-12345678901234567890, -12.345678901234567891, -0.123456789012345678); INSERT INTO cs1 VALUES (99999999999999999999, 99.999999999999999999, 0.999999999999999999); INSERT INTO cs1 VALUES (-99999999999999999999, -99.999999999999999999, -0.999999999999999999); INSERT INTO cs2 VALUES (12345678901234567890, 12.345678901234567891, 0.123456789012345678); INSERT INTO cs2 VALUES (99999999999999999999, 99.999999999999999999, 0.999999999999999999); --sorted_result SELECT d1, d1, d2 FROM cs1 UNION SELECT d2, d3, d3 FROM cs1; --sorted_result SELECT d1, d1, d2 FROM cs2 UNION SELECT d2, d3, d3 FROM cs2; # Clean UP DROP DATABASE mcol641_union_db;