class TestTable(self.base): date = Column(types.Date, primary_key=True) x = Column(types.Int32) y = Column(types.Int32) __table_args__ = (engines.SummingMergeTree((y, ), date, (date, x)), )
class TestTable(self.base): date = Column(types.Date, primary_key=True) x = Column(types.Int32) y = Column(types.Int32) __table_args__ = (engines.SummingMergeTree(columns=(y, ), partition_by=date, order_by=(date, x)), )
def test_summing_merge_tree_no_columns(self): engine = engines.SummingMergeTree(partition_by='x', order_by='x', primary_key='x') with self._test_table(engine) as (table, engine): self.assertIsInstance(engine, engines.SummingMergeTree) self.assertIsNone(engine.summing_cols) 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])
def test_summing_merge_tree(self): y = Column('y', types.Int8) engine = engines.SummingMergeTree( columns=y, partition_by='x', order_by='x', primary_key='x' ) with self._test_table(engine, y) as (table, engine): self.assertIsInstance(engine, engines.SummingMergeTree) self.assertEqual(engine.summing_cols.columns, [table.c.y]) 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])
def test_summing_merge_tree_multiple_columns(self): y = Column('y', types.Int8) z = Column('z', types.Int8) engine = engines.SummingMergeTree(columns=(y, z), partition_by='x', order_by='x', primary_key='x') with self._test_table(engine, y, z) as (table, engine): self.assertIsInstance(engine, engines.SummingMergeTree) self.assertEqual(list(engine.summing_cols.columns), [table.c.y, table.c.z]) 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 GroupedStatistics(Base): date = Column(types.Date, primary_key=True) metric1 = Column(types.Int32, nullable=False) __table_args__ = (engines.SummingMergeTree( partition_by=func.toYYYYMM(date), order_by=(date, )), )