Skip to content

v0.12.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Nov 11:34
· 5 commits to main since this release
4648f48

Changelog

Added

  • A string step parameter can list the values it takes. A manifest declares
    allocate: {type: string, values: [none, revenue, units], default: none}, and a value
    outside the list, such as allocate: revenu, is refused with a StepError that names
    the allowed values, whether a step wiring sets it or a field mapping or repair recipe
    calling a sql_macro does. Before, a misspelled value compiled and the
    step ran whichever branch its body fell through to. A manifest is refused if its
    default is not one of its values, or if a parameter that is not a string declares
    them. (#403)
  • A step input can be optional, so one step serves projects with and without a
    source.
    A sql_model declares it optional: true with typed columns:,
    and a wiring may leave it out. The body reads it by name, as the bound relation,
    which must carry those columns, or unbound as an empty relation of them. (#402)

Fixed

  • An entity field no mapping produces is a NULL column of its silver model. It was
    left out, so a step whose input requires it compiled and then failed on the engine
    (Binder Error: … does not have a column named …). The column is now typed NULL, as a
    field only some of a merged entity's sources map already was, so marts and the semantic
    layers carry it too. Three kinds stay out: a required field the one mapping omits, a
    vector field, and a field spelled as a canonical that a mapped field links, which a
    metric's filter would otherwise read as written. A step that requires one of them is
    refused at compile. (#404)