Skip to content

Server v1.6.0

Choose a tag to compare

@longquanzheng longquanzheng released this 11 Oct 19:26
f47619c

Features

PostgreSQL and MySQL Attribute Stores accept three optional settings. Existing configurations behave as before. Databricks, Snowflake and MongoDB reject all three at startup.

  • Row keys (rowKey): split each Flow ID into the table's primary-key columns, such as order-{customer_id}-{order_id}.
    • A placeholder captures up to the next literal text, the last one captures the rest, and {*} matches without a column.
    • Startup checks that the primary key is exactly the named character columns.
    • Several stores may write different columns of one table.
    • A Flow ID that does not match skips its batch with an error log.
  • Column naming (columnNaming: snake_case): write each Attribute, and each field of an AttributeMap instance value, to the snake_case form of its name, such as deployment_url for DeploymentURL.
  • AttributeMap tables (attributeMaps): write each instance of a named AttributeMap as one row of its own table, keyed by the store's primary-key columns plus an instance key column.
    • Writing an instance replaces its row: a JSON object's top-level fields go to the columns of the same name, and the columns of omitted fields return to their defaults. Deleting the instance deletes the row.
    • Any other value goes to a value column.
    • The store row and its instance rows are written in one transaction.

See #617 and #618.

Full changelog: server/v1.5.1...server/v1.6.0