2020-11-17 16:56:36 +00:00
|
|
|
SELECT 'Replacing Merge Tree';
|
|
|
|
DROP TABLE IF EXISTS replacing_merge_tree;
|
|
|
|
CREATE TABLE replacing_merge_tree (key UInt32, date Datetime) ENGINE=ReplacingMergeTree() PARTITION BY date ORDER BY key;
|
2020-11-18 10:40:58 +00:00
|
|
|
INSERT INTO replacing_merge_tree VALUES (1, '2020-01-01'), (2, '2020-01-02'), (1, '2020-01-01'), (2, '2020-01-02');
|
|
|
|
SELECT * FROM replacing_merge_tree ORDER BY key;
|
2020-11-17 16:56:36 +00:00
|
|
|
DROP TABLE replacing_merge_tree;
|
|
|
|
|
|
|
|
SELECT 'Collapsing Merge Tree';
|
|
|
|
DROP TABLE IF EXISTS collapsing_merge_tree;
|
|
|
|
CREATE TABLE collapsing_merge_tree (key UInt32, sign Int8, date Datetime) ENGINE=CollapsingMergeTree(sign) PARTITION BY date ORDER BY key;
|
2020-11-18 10:40:58 +00:00
|
|
|
INSERT INTO collapsing_merge_tree VALUES (1, 1, '2020-01-01'), (2, 1, '2020-01-02'), (1, -1, '2020-01-01'), (2, -1, '2020-01-02'), (1, 1, '2020-01-01');
|
|
|
|
SELECT * FROM collapsing_merge_tree ORDER BY key;
|
2020-11-17 16:56:36 +00:00
|
|
|
DROP TABLE collapsing_merge_tree;
|
|
|
|
|
|
|
|
SELECT 'Versioned Collapsing Merge Tree';
|
|
|
|
DROP TABLE IF EXISTS versioned_collapsing_merge_tree;
|
|
|
|
CREATE TABLE versioned_collapsing_merge_tree (key UInt32, sign Int8, version Int32, date Datetime) ENGINE=VersionedCollapsingMergeTree(sign, version) PARTITION BY date ORDER BY (key, version);
|
|
|
|
INSERT INTO versioned_collapsing_merge_tree VALUES (1, 1, 1, '2020-01-01'), (1, -1, 1, '2020-01-01'), (1, 1, 2, '2020-01-01');
|
2020-11-18 10:40:58 +00:00
|
|
|
SELECT * FROM versioned_collapsing_merge_tree ORDER BY key;
|
2020-11-17 16:56:36 +00:00
|
|
|
DROP TABLE versioned_collapsing_merge_tree;
|
|
|
|
|
|
|
|
SELECT 'Summing Merge Tree';
|
|
|
|
DROP TABLE IF EXISTS summing_merge_tree;
|
|
|
|
CREATE TABLE summing_merge_tree (key UInt32, val UInt32, date Datetime) ENGINE=SummingMergeTree(val) PARTITION BY date ORDER BY key;
|
2020-11-18 10:40:58 +00:00
|
|
|
INSERT INTO summing_merge_tree VALUES (1, 1, '2020-01-01'), (2, 1, '2020-01-02'), (1, 5, '2020-01-01'), (2, 5, '2020-01-02');
|
|
|
|
SELECT * FROM summing_merge_tree ORDER BY key;
|
2020-11-17 16:56:36 +00:00
|
|
|
DROP TABLE summing_merge_tree;
|
|
|
|
|
|
|
|
SELECT 'Aggregating Merge Tree';
|
|
|
|
DROP TABLE IF EXISTS aggregating_merge_tree;
|
|
|
|
CREATE TABLE aggregating_merge_tree (key UInt32, val SimpleAggregateFunction(max, UInt32), date Datetime) ENGINE=AggregatingMergeTree() PARTITION BY date ORDER BY key;
|
2020-11-18 10:40:58 +00:00
|
|
|
INSERT INTO aggregating_merge_tree VALUES (1, 1, '2020-01-01'), (2, 1, '2020-01-02'), (1, 5, '2020-01-01'), (2, 5, '2020-01-02');
|
|
|
|
SELECT * FROM aggregating_merge_tree ORDER BY key;
|
2020-11-17 16:56:36 +00:00
|
|
|
DROP TABLE aggregating_merge_tree;
|
|
|
|
|
2021-02-12 14:02:04 +00:00
|
|
|
SELECT 'Check creating empty parts';
|
|
|
|
DROP TABLE IF EXISTS empty;
|
|
|
|
CREATE TABLE empty (key UInt32, val UInt32, date Datetime) ENGINE=SummingMergeTree(val) PARTITION BY date ORDER BY key;
|
|
|
|
INSERT INTO empty VALUES (1, 1, '2020-01-01'), (1, 1, '2020-01-01'), (1, -2, '2020-01-01');
|
|
|
|
SELECT * FROM empty ORDER BY key;
|
|
|
|
SELECT table, partition, active FROM system.parts where table = 'empty' and active = 1;
|
|
|
|
DROP TABLE empty;
|