class TestTable(self.base): date = Column(types.Date, primary_key=True) x = Column(types.Int32) y = Column(types.String) sign = Column(types.Int8) __table_args__ = ( engines.CollapsingMergeTree(date, (date, x), sign), )
class Statistics(Base): date = Column(types.Date, primary_key=True) sign = Column(types.Int8, nullable=False) grouping = Column(types.Int32, nullable=False) metric1 = Column(types.Int32, nullable=False) __table_args__ = (engines.CollapsingMergeTree( sign, partition_by=func.toYYYYMM(date), order_by=(date, grouping)), )
class TestTable(self.base): date = Column(types.Date, primary_key=True) x = Column(types.Int32) y = Column(types.String) sign = Column(types.Int8) __table_args__ = (engines.CollapsingMergeTree(sign, date, (date, x), (x, y), func.random(), key='value'), )
def test_collapsing_merge_tree(self): sign = Column('sign', types.Int8) engine = engines.CollapsingMergeTree( sign, partition_by='x', order_by='x', primary_key='x' ) with self._test_table(engine, sign) as (table, engine): self.assertIsInstance(engine, engines.CollapsingMergeTree) self.assertEqual(engine.sign_col.columns, [table.c.sign]) self.assertEqual(engine.partition_by.columns, [table.c.x]) self.assertEqual(engine.order_by.columns, [table.c.x]) self.assertEqual(engine.primary_key.columns, [table.c.x])
class TestTable(self.base): date = Column(types.Date, primary_key=True) x = Column(types.Int32) y = Column(types.String) sign = Column(types.Int8) __table_args__ = (engines.CollapsingMergeTree( sign, partition_by=date, order_by=(date, x), primary_key=(x, y), sample_by=func.random(), key='value'), )