From c1f14b4dad3c9457e121950a5604cb180ddd2f42 Mon Sep 17 00:00:00 2001 From: solebox Date: Mon, 3 Jun 2024 15:23:11 +0300 Subject: [PATCH] added validation for final and test --- src/infi/clickhouse_orm/query.py | 6 +++--- tests/test_engines.py | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/infi/clickhouse_orm/query.py b/src/infi/clickhouse_orm/query.py index 1998e2d..004fe4a 100644 --- a/src/infi/clickhouse_orm/query.py +++ b/src/infi/clickhouse_orm/query.py @@ -538,10 +538,10 @@ class QuerySet(object): def final(self): """ Adds a FINAL modifier to table, meaning data will be collapsed to final version. - Can be used with the `CollapsingMergeTree` and `ReplacingMergeTree` engines only. + Can be used with the `CollapsingMergeTree`, `ReplacingMergeTree` and `AggregatingMergeTree` engines only. """ - from .engines import CollapsingMergeTree, ReplacingMergeTree - if not isinstance(self._model_cls.engine, (CollapsingMergeTree, ReplacingMergeTree)): + from .engines import CollapsingMergeTree, ReplacingMergeTree, AggregatingMergeTree + if not isinstance(self._model_cls.engine, (CollapsingMergeTree, ReplacingMergeTree, AggregatingMergeTree)): raise TypeError('final() method can be used only with the CollapsingMergeTree and ReplacingMergeTree engines') qs = copy(self) diff --git a/tests/test_engines.py b/tests/test_engines.py index b2e0e5d..40e1c95 100644 --- a/tests/test_engines.py +++ b/tests/test_engines.py @@ -73,6 +73,11 @@ class EnginesTestCase(_EnginesHelperTestCase): engine = ReplacingMergeTree('date', ('date', 'event_id', 'event_group'), 'event_uversion') self._create_and_insert(TestModel) + def test_aggregating_merge_tree(self): + class TestModel(SampleModel): + engine = AggregatingMergeTree('date', ('date', 'event_group')) + self._create_and_insert(TestModel) + def test_tiny_log(self): class TestModel(SampleModel): engine = TinyLog()