mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-19 15:01:03 +00:00
137 lines
4.3 KiB
SQL
137 lines
4.3 KiB
SQL
SELECT ' UInt32 | UInt64 ';
|
|
|
|
DROP TABLE IF EXISTS test.u32;
|
|
DROP TABLE IF EXISTS test.u64;
|
|
DROP TABLE IF EXISTS test.merge_32_64;
|
|
|
|
CREATE TABLE test.u32 (x UInt32, y UInt32 DEFAULT x) ENGINE = Memory;
|
|
CREATE TABLE test.u64 (x UInt64, y UInt64 DEFAULT x) ENGINE = Memory;
|
|
CREATE TABLE test.merge_32_64 (x UInt64) ENGINE = Merge(test, '^u32|u64$');
|
|
|
|
INSERT INTO test.u32 (x) VALUES (1);
|
|
INSERT INTO test.u64 (x) VALUES (1);
|
|
|
|
INSERT INTO test.u32 (x) VALUES (4294967290);
|
|
INSERT INTO test.u64 (x) VALUES (4294967290);
|
|
--now inserts 3. maybe need out of range check?
|
|
--INSERT INTO test.u32 VALUES (4294967299);
|
|
INSERT INTO test.u64 (x) VALUES (4294967299);
|
|
|
|
select ' = 1:';
|
|
SELECT x FROM test.merge_32_64 WHERE x = 1;
|
|
select ' 1:';
|
|
SELECT x FROM test.merge_32_64 WHERE x IN (1);
|
|
select ' 4294967290:';
|
|
SELECT x FROM test.merge_32_64 WHERE x IN (4294967290);
|
|
select ' 4294967299:';
|
|
SELECT x FROM test.merge_32_64 WHERE x IN (4294967299);
|
|
--select ' -1: ';
|
|
--SELECT x FROM test.merge_32_64 WHERE x IN (-1);
|
|
|
|
DROP TABLE test.u32;
|
|
DROP TABLE test.u64;
|
|
DROP TABLE test.merge_32_64;
|
|
|
|
|
|
SELECT ' Int64 | UInt64 ';
|
|
|
|
DROP TABLE IF EXISTS test.s64;
|
|
DROP TABLE IF EXISTS test.u64;
|
|
DROP TABLE IF EXISTS test.merge_s64_u64;
|
|
|
|
CREATE TABLE test.s64 (x Int64) ENGINE = Memory;
|
|
CREATE TABLE test.u64 (x UInt64) ENGINE = Memory;
|
|
CREATE TABLE test.merge_s64_u64 (x UInt64) ENGINE = Merge(test, '^s64|u64$');
|
|
|
|
INSERT INTO test.s64 VALUES (1);
|
|
INSERT INTO test.s64 VALUES (-1);
|
|
INSERT INTO test.u64 VALUES (1);
|
|
|
|
select ' 1:';
|
|
SELECT x FROM test.merge_s64_u64 WHERE x IN (1);
|
|
select ' -1: ';
|
|
SELECT x FROM test.merge_s64_u64 WHERE x IN (-1);
|
|
|
|
DROP TABLE test.s64;
|
|
DROP TABLE test.u64;
|
|
DROP TABLE test.merge_s64_u64;
|
|
|
|
|
|
SELECT ' Int32 | UInt64 ';
|
|
|
|
DROP TABLE IF EXISTS test.one;
|
|
DROP TABLE IF EXISTS test.two;
|
|
DROP TABLE IF EXISTS test.merge_one_two;
|
|
|
|
CREATE TABLE test.one (x Int32) ENGINE = Memory;
|
|
CREATE TABLE test.two (x UInt64) ENGINE = Memory;
|
|
CREATE TABLE test.merge_one_two (x UInt64) ENGINE = Merge(test, '^one$|^two$');
|
|
|
|
INSERT INTO test.one VALUES (1);
|
|
INSERT INTO test.two VALUES (1);
|
|
|
|
INSERT INTO test.one VALUES (2147483650);
|
|
INSERT INTO test.two VALUES (2147483650);
|
|
|
|
SELECT * FROM test.merge_one_two WHERE x IN (1);
|
|
SELECT x FROM test.merge_one_two WHERE x IN (2147483650);
|
|
SELECT x FROM test.merge_one_two WHERE x IN (-1);
|
|
|
|
|
|
SELECT ' String | FixedString(16) ';
|
|
|
|
DROP TABLE IF EXISTS test.one;
|
|
DROP TABLE IF EXISTS test.two;
|
|
DROP TABLE IF EXISTS test.merge_one_two;
|
|
|
|
CREATE TABLE test.one (x String) ENGINE = Memory;
|
|
CREATE TABLE test.two (x FixedString(16)) ENGINE = Memory;
|
|
CREATE TABLE test.merge_one_two (x String) ENGINE = Merge(test, '^one$|^two$');
|
|
|
|
INSERT INTO test.one VALUES ('1');
|
|
INSERT INTO test.two VALUES ('1');
|
|
|
|
SELECT * FROM test.merge_one_two WHERE x IN ('1');
|
|
|
|
|
|
SELECT ' DateTime | UInt64 ';
|
|
|
|
DROP TABLE IF EXISTS test.one;
|
|
DROP TABLE IF EXISTS test.two;
|
|
DROP TABLE IF EXISTS test.merge_one_two;
|
|
|
|
CREATE TABLE test.one (x DateTime) ENGINE = Memory;
|
|
CREATE TABLE test.two (x UInt64) ENGINE = Memory;
|
|
CREATE TABLE test.merge_one_two (x UInt64) ENGINE = Merge(test, '^one$|^two$');
|
|
|
|
INSERT INTO test.one VALUES (1);
|
|
INSERT INTO test.two VALUES (1);
|
|
|
|
SELECT * FROM test.merge_one_two WHERE x IN (1);
|
|
|
|
|
|
SELECT ' Array(UInt32) | Array(UInt64) ';
|
|
|
|
DROP TABLE IF EXISTS test.one;
|
|
DROP TABLE IF EXISTS test.two;
|
|
DROP TABLE IF EXISTS test.merge_one_two;
|
|
|
|
CREATE TABLE test.one (x Array(UInt32), z String DEFAULT '', y Array(UInt32)) ENGINE = Memory;
|
|
CREATE TABLE test.two (x Array(UInt64), z String DEFAULT '', y Array(UInt64)) ENGINE = Memory;
|
|
CREATE TABLE test.merge_one_two (x Array(UInt64), z String, y Array(UInt64)) ENGINE = Merge(test, '^one$|^two$');
|
|
|
|
INSERT INTO test.one (x, y) VALUES ([1], [0]);
|
|
INSERT INTO test.two (x, y) VALUES ([1], [0]);
|
|
INSERT INTO test.one (x, y) VALUES ([4294967290], [4294967290]);
|
|
INSERT INTO test.two (x, y) VALUES ([4294967290], [4294967290]);
|
|
INSERT INTO test.one (x, y) VALUES ([4294967299], [4294967299]);
|
|
INSERT INTO test.two (x, y) VALUES ([4294967299], [4294967299]);
|
|
|
|
SELECT x, y FROM test.merge_one_two WHERE arrayExists(_ -> _ IN (1), x);
|
|
SELECT x, y FROM test.merge_one_two WHERE arrayExists(_ -> _ IN (4294967290), x);
|
|
SELECT x, y FROM test.merge_one_two WHERE arrayExists(_ -> _ IN (4294967299), x);
|
|
|
|
DROP TABLE IF EXISTS test.one;
|
|
DROP TABLE IF EXISTS test.two;
|
|
DROP TABLE IF EXISTS test.merge_one_two;
|