예제 #1
0
    def execute(self):
        materialization = Materialization(self.type_id)

        chunk = materialization.chunk(self.timestamp)

        with closing(self.minerva_context.writer_conn.cursor()) as cursor:
            row_count = chunk.execute(cursor)

        msg_template = "{0} materialized {1} records for timestamp {2}"

        logging.info(
            msg_template.format(
                materialization.id, row_count, self.timestamp.isoformat()
            )
        )

        self.minerva_context.writer_conn.commit()
예제 #2
0
def test_materialize(conn, dataset):
    with closing(conn.cursor()) as cursor:
        materialization = Materialization.define_from_view(dataset.view)(
            cursor)

        materialization_chunk = materialization.chunk(dataset.timestamp)

        result = materialization_chunk.execute(cursor)

        assert not result is None
예제 #3
0
def test_define_type_from_view(conn, dataset):
    with closing(conn.cursor()) as cursor:
        materialization = Materialization.define_from_view(dataset.view)(
            cursor)

        assert not materialization is None

        type_id = materialization.id

        assert type_id > 0
예제 #4
0
    def execute(self):
        load = Materialization.load_by_id(self.type_id)

        with closing(self.conn.cursor()) as cursor:
            materialization = load(cursor)

            chunk = materialization.chunk(self.timestamp)

            processed_max_modified, row_count = chunk.execute(cursor)

        msg_template = "'{0}'(id: {1}) materialized {2} records up to {3} for timestamp {4}"

        logging.info(msg_template.format(materialization,
                materialization.id, row_count, processed_max_modified,
                self.timestamp.isoformat()))

        self.conn.commit()
예제 #5
0
    def execute(self):
        load = Materialization.load_by_id(self.type_id)

        with closing(self.conn.cursor()) as cursor:
            materialization = load(cursor)

            chunk = materialization.chunk(self.timestamp)

            processed_max_modified, row_count = chunk.execute(cursor)

        msg_template = "'{0}'(id: {1}) materialized {2} records up to {3} for timestamp {4}"

        logging.info(
            msg_template.format(materialization, materialization.id, row_count,
                                processed_max_modified,
                                self.timestamp.isoformat()))

        self.conn.commit()
예제 #6
0
def test_materialize_altered_column(conn, dataset):
    conn.commit()

    with closing(conn.cursor()) as cursor:
        materialization = Materialization.define_from_view(dataset.view)(
            cursor)

        materialization_chunk = materialization.chunk(dataset.timestamp)

        max_modified, row_count = materialization_chunk.execute(cursor)

        eq_(row_count, 2)

        dataset.update_type(cursor)

        max_modified, row_count = materialization_chunk.execute(cursor)

        eq_(row_count, 2)

        conn.commit()