Example #1
0
def _build_repeat_iteration_indicator(spec, context):
    return RawIndicator("base document iteration",
                        Column(
                            id="repeat_iteration",
                            datatype="integer",
                            is_nullable=False,
                            is_primary_key=True,
                        ),
                        getter=lambda doc, ctx: ctx.iteration)
Example #2
0
def _build_inserted_at(spec, context):
    return RawIndicator("inserted at",
                        Column(
                            id="inserted_at",
                            datatype="datetime",
                            is_nullable=False,
                            is_primary_key=False,
                        ),
                        getter=lambda doc, ctx: ctx.inserted_timestamp)
Example #3
0
def _build_raw_indicator(spec, context):
    wrapped = RawIndicatorSpec.wrap(spec)
    column = Column(
        id=wrapped.column_id,
        datatype=wrapped.datatype,
        is_nullable=wrapped.is_nullable,
        is_primary_key=wrapped.is_primary_key,
    )
    return RawIndicator(wrapped.display_name, column, getter=wrapped.getter)
Example #4
0
def _build_expression_indicator(spec, context):
    wrapped = ExpressionIndicatorSpec.wrap(spec)
    column = Column(
        id=wrapped.column_id,
        datatype=wrapped.datatype,
        is_nullable=wrapped.is_nullable,
        is_primary_key=wrapped.is_primary_key,
    )
    return RawIndicator(
        wrapped.display_name,
        column,
        getter=wrapped.parsed_expression(context),
    )