mirror of
https://github.com/Infinidat/infi.clickhouse_orm.git
synced 2025-08-01 10:49:53 +03:00
Merge fedd6c6020
into 09aeddf677
This commit is contained in:
commit
cd792762d8
|
@ -540,8 +540,20 @@ class QuerySet(object):
|
|||
Adds a FINAL modifier to table, meaning data will be collapsed to final version.
|
||||
Can be used with the `CollapsingMergeTree` and `ReplacingMergeTree` engines only.
|
||||
"""
|
||||
from .engines import CollapsingMergeTree, ReplacingMergeTree
|
||||
if not isinstance(self._model_cls.engine, (CollapsingMergeTree, ReplacingMergeTree)):
|
||||
from .engines import CollapsingMergeTree, ReplacingMergeTree, Distributed
|
||||
|
||||
_engine = self._model_cls.engine
|
||||
|
||||
if isinstance(_engine, (Distributed)):
|
||||
# find the "real" engine for the Distributed table
|
||||
children = self._model_cls.mro()
|
||||
for child in children:
|
||||
# we asume the first that is not Distributed is the child.
|
||||
if isinstance(child.engine, (Distributed)): continue
|
||||
_engine = child.engine
|
||||
break
|
||||
|
||||
if not isinstance(_engine, (CollapsingMergeTree, ReplacingMergeTree)):
|
||||
raise TypeError('final() method can be used only with the CollapsingMergeTree and ReplacingMergeTree engines')
|
||||
|
||||
qs = copy(self)
|
||||
|
|
Loading…
Reference in New Issue
Block a user