mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 13:13:36 +00:00
64 lines
1.8 KiB
Python
64 lines
1.8 KiB
Python
|
import pytest
|
||
|
|
||
|
from helpers.cluster import ClickHouseCluster
|
||
|
from helpers.test_tools import TSV
|
||
|
|
||
|
cluster = ClickHouseCluster(__file__)
|
||
|
node = cluster.add_instance("node")
|
||
|
|
||
|
|
||
|
@pytest.fixture(scope="module")
|
||
|
def started_cluster():
|
||
|
try:
|
||
|
cluster.start()
|
||
|
yield cluster
|
||
|
finally:
|
||
|
cluster.shutdown()
|
||
|
|
||
|
|
||
|
def test_freeze_table(started_cluster):
|
||
|
node.query('''
|
||
|
CREATE TABLE table_for_freeze
|
||
|
(
|
||
|
key UInt64,
|
||
|
value String
|
||
|
)
|
||
|
ENGINE = MergeTree()
|
||
|
ORDER BY key
|
||
|
PARTITION BY key % 10;
|
||
|
''')
|
||
|
node.query('''
|
||
|
INSERT INTO table_for_freeze SELECT number, toString(number) from numbers(10);
|
||
|
''')
|
||
|
|
||
|
freeze_result = TSV.toMat(node.query('''
|
||
|
ALTER TABLE table_for_freeze
|
||
|
FREEZE WITH NAME 'test_01417'
|
||
|
FORMAT TSVWithNames
|
||
|
SETTINGS alter_partition_verbose_result = 1;
|
||
|
'''))
|
||
|
assert 11 == len(freeze_result)
|
||
|
path_col_ix = freeze_result[0].index('part_backup_path')
|
||
|
for row in freeze_result[1:]: # skip header
|
||
|
part_backup_path = row[path_col_ix]
|
||
|
node.exec_in_container(
|
||
|
["bash", "-c", "test -d {}".format(part_backup_path)]
|
||
|
)
|
||
|
|
||
|
freeze_result = TSV.toMat(node.query('''
|
||
|
ALTER TABLE table_for_freeze
|
||
|
FREEZE PARTITION '3'
|
||
|
WITH NAME
|
||
|
'test_01417_single_part'
|
||
|
FORMAT TSVWithNames
|
||
|
SETTINGS alter_partition_verbose_result = 1;
|
||
|
'''))
|
||
|
assert 2 == len(freeze_result)
|
||
|
path_col_ix = freeze_result[0].index('part_backup_path')
|
||
|
for row in freeze_result[1:]: # skip header
|
||
|
part_backup_path = row[path_col_ix]
|
||
|
assert 'test_01417_single_part' in part_backup_path
|
||
|
node.exec_in_container(
|
||
|
["bash", "-c", "test -d {}".format(part_backup_path)]
|
||
|
)
|