Skip to content

Commit 12e740e

Browse files
authored
Choose CREATE method for tables in replicated databases (#286)
1 parent 556ae12 commit 12e740e

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

ch_backup/clickhouse/control.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,8 @@ def __init__(
553553
if self.ch_version_ge("23.12"):
554554
settings["allow_experimental_refreshable_materialized_view"] = 1
555555
settings["allow_suspicious_ttl_expressions"] = 1
556+
if self.ch_version_ge("24.9"):
557+
settings["database_replicated_allow_explicit_uuid"] = 1
556558
self._ch_client.settings.update(settings)
557559

558560
def chown_detached_table_parts(self, table: Table, context: RestoreContext) -> None:

ch_backup/logic/table.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1013,8 +1013,12 @@ def _restore_table_object(
10131013
table: Table,
10141014
) -> None:
10151015
try:
1016+
use_create_method_for_merge_tree = (
1017+
db.is_replicated_db_engine() and context.ch_ctl.ch_version_ge("24.9")
1018+
)
1019+
10161020
if (
1017-
table.is_merge_tree()
1021+
(table.is_merge_tree() and not use_create_method_for_merge_tree)
10181022
or table.is_materialized_view()
10191023
or table.is_external_engine()
10201024
or table.is_distributed()

0 commit comments

Comments
 (0)