Skip to content

fix(gooddata): preserve grain for aliased primary-key fields - #347

Open
mattfaltyn wants to merge 1 commit into
apache:mainfrom
mattfaltyn:fix/gooddata-aliased-primary-key-grain
Open

fix(gooddata): preserve grain for aliased primary-key fields#347
mattfaltyn wants to merge 1 commit into
apache:mainfrom
mattfaltyn:fix/gooddata-aliased-primary-key-grain

Conversation

@mattfaltyn

Copy link
Copy Markdown

Summary

  • Preserve GoodData dataset grain when an Ossie attribute uses a logical field name that differs from its physical primary-key column.
  • Match primary_key entries against the converted attribute's source_column, which is already derived from the ANSI SQL expression.
  • Cover both explicit dimensions and MAQL-detected attributes with regression cases.

This keeps the existing behavior for fields whose logical and physical names match while preventing silent loss of key/grain semantics for aliased fields.

Related Issues

Closes #346

Validation

Python 3.12: uv run --python 3.12 --frozen pytest -q  -> 76 passed
Python 3.13: uv run pytest -q                         -> 76 passed
Python 3.14: uv run --python 3.14 --frozen pytest -q  -> 76 passed
uv run ruff check src tests                           -> passed
git diff --check                                      -> passed

Checklist

Specification

  • No specification changes

Converters

  • Converter logic is updated
  • Regression coverage is included under the GoodData test directory

Documentation

  • Existing documentation was reviewed; no update is needed because this restores the documented primary-key-to-grain mapping without changing the interface

Tests

  • All GoodData tests pass across the CI Python matrix
  • New behavior is covered by tests

Compliance

  • No new source files or dependencies

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.

GoodData export drops grain for aliased primary-key fields

1 participant