DROP TABLE IF EXISTS test; CREATE TABLE test ( EventDate Date ) ENGINE = MergeTree ORDER BY tuple() PARTITION BY toMonday(EventDate); INSERT INTO test VALUES(toDate('2023-10-09')); SET param_partition='2023-10-09'; ALTER TABLE test DROP PARTITION {partition:String}; SELECT count() FROM test; INSERT INTO test VALUES(toDate('2023-10-09')); ALTER TABLE test DROP PARTITION tuple(toMonday({partition:Date})); SELECT count() FROM test; INSERT INTO test VALUES(toDate('2023-10-09')); -- for some reason only tuples are allowed as non-string arguments ALTER TABLE test DROP PARTITION toMonday({partition:String}); --{clientError 62} set param_partition_id = '20231009'; ALTER TABLE test DROP PARTITION ID {partition_id:String}; SELECT count() FROM test; INSERT INTO test VALUES(toDate('2023-10-09')); ALTER TABLE test DROP PARTITION {partition:Date}; SELECT count() FROM test; DROP TABLE IF EXISTS test; DROP TABLE IF EXISTS test2; CREATE TABLE test2 ( a UInt32, b Int64 ) ENGINE = MergeTree ORDER BY tuple() PARTITION BY (a * b, b * b); INSERT INTO test2 VALUES(1, 2); SET param_first='2'; SET param_second='4'; ALTER TABLE test2 DROP PARTITION tuple({first:UInt32},{second:Int64}); SELECT count() FROM test2; DROP TABLE IF EXISTS test2; DROP TABLE IF EXISTS test3; CREATE TABLE test3 ( a UInt32, b Int64 ) ENGINE = MergeTree ORDER BY tuple() PARTITION BY a; INSERT INTO test3 VALUES(1, 2); SET param_simple='1'; ALTER TABLE test3 DROP PARTITION {simple:String}; SELECT count() FROM test3; DROP TABLE IF EXISTS test3; DROP TABLE IF EXISTS test4; CREATE TABLE test4 (EventDate Date) ENGINE = MergeTree() ORDER BY tuple() PARTITION BY EventDate; INSERT INTO test4 VALUES(toDate('2023-10-09')); SET param_partition='2023-10-09'; ALTER TABLE test4 ON CLUSTER 'test_shard_localhost' DROP PARTITION {partition:String} FORMAT Null; SELECT count() FROM test4; DROP TABLE IF EXISTS test4; DROP TABLE IF EXISTS test5; CREATE TABLE test5 ( a UInt32, b Int64 ) ENGINE = MergeTree ORDER BY tuple() PARTITION BY (a, b); INSERT INTO test5 VALUES(1, 2); SET param_f='1'; SET param_s='2'; ALTER TABLE test5 DROP PARTITION ({f:UInt32}, 2); SELECT count() FROM test5; DROP TABLE IF EXISTS test5; DROP TABLE IF EXISTS test6; CREATE TABLE test6 ( a UInt32, b Int64 ) ENGINE = MergeTree ORDER BY tuple() PARTITION BY (a, b); INSERT INTO test6 VALUES(1, 2); SET param_tuple=(1, 2); ALTER TABLE test6 DROP PARTITION {tuple:Tuple(UInt32, Int64)}; SELECT count() FROM test6; DROP TABLE IF EXISTS test6;