Skip to content

fix(dbt): reject composite keys - #312

Open
mattfaltyn wants to merge 1 commit into
apache:mainfrom
mattfaltyn:fix/dbt-reject-composite-keys
Open

fix(dbt): reject composite keys#312
mattfaltyn wants to merge 1 commit into
apache:mainfrom
mattfaltyn:fix/dbt-reject-composite-keys

Conversation

@mattfaltyn

Copy link
Copy Markdown

Summary

  • Reject composite primary and unique keys before Ossie-to-MSI conversion can flatten their grouped semantics.
  • Preserve existing singleton primary and unique key behavior.
  • Document the unsupported input and cover both composite key forms with regression tests.

This replaces plausible but incorrect MetricFlow output with an explicit ValueError until grouped keys have a lossless MSI representation.

Related Issues

Closes #311

Checklist

Specification

  • No specification changes

Converters

  • Converter logic is updated
  • Regression tests cover composite primary and unique keys

Documentation

  • The dbt conversion notes document the rejected input

Tests

  • uv run --python 3.11 --frozen pytest -q — 101 passed, 5 snapshots
  • uv run --frozen pytest -q on Python 3.12 — 101 passed, 5 snapshots
  • uv run --python 3.14 --frozen pytest -q — 101 passed, 5 snapshots
  • CLI reproduction exits nonzero and writes no manifest

Compliance

  • No dependencies or new files added

Signed-off-by: Matt Faltyn <faltyn.matthew@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dbt osi-to-msi silently corrupts composite primary and unique keys

1 participant