Exemplo n.º 1
0
        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),
            )
Exemplo n.º 2
0
        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)), )
Exemplo n.º 3
0
        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'), )