Skip to content

v1.7.0: Consolidated reference tables and local mode validation#27

Merged
vondravl merged 1 commit intomainfrom
feature/v1.7.0
Feb 6, 2026
Merged

v1.7.0: Consolidated reference tables and local mode validation#27
vondravl merged 1 commit intomainfrom
feature/v1.7.0

Conversation

@vondravl
Copy link
Owner

@vondravl vondravl commented Feb 5, 2026

Summary

This release consolidates visualization and metric reference tables into unified schemas and adds is_valid computation for local mode exports.

Breaking Changes

  • visualizations_references replaces visualizations_metrics and visualizations_attributes

    • Two-dimensional classification: object_type (metric/fact/attribute/label) + source (measure/attribute/filter)
    • Enables queries like "Is this attribute used as a filter or dimension?"
    • CSV renamed to gooddata_visualizations_references.csv
  • metrics_references replaces metrics_relationships and metrics_ldm_references

    • Single table with reference_type column (metric/attribute/label/fact)
    • Views v_metrics_relationships and v_metrics_relationships_root now filter by reference_type = 'metric'

New Features

  • is_valid computation for local mode

    • Metrics/visualizations now default to NULL when areRelationsValid is absent
    • Post-export updates compute validity based on reference analysis
    • Checks all reference types (metrics, attributes, facts, labels)
  • Date instance support in LDM export

    • Processes ldm.dateInstances in addition to ldm.datasets
    • Date granularities stored as attributes in ldm_columns
    • Enables validation of {label/date.granularity} references
  • {label/...} extraction from MAQL

    • Extracted with reference_type='label'
    • Validated against ldm_columns (type='attribute') since MAQL {label/id} uses attribute ID

Validation Logic

Entity Reference Type Validated Against
Metric {metric/X} metrics table
Metric {attr/X} ldm_columns (type='attribute')
Metric {label/X} ldm_columns (type='attribute')
Metric {fact/X} ldm_columns (type='fact')
Visualization metric metrics table
Visualization fact ldm_columns (type='fact')
Visualization attribute ldm_columns (type='attribute')
Visualization label ldm_labels table

Test plan

  • All 172 existing tests pass
  • New test_metrics_references.py with 24 tests covering:
    • Reference extraction for all types (metric, attribute, label, fact)
    • Self-reference exclusion
    • MAQL comment filtering
    • is_valid computation for local mode
    • Integration tests with full export pipeline

🤖 Generated with Claude Code

@vondravl vondravl force-pushed the feature/v1.7.0 branch 9 times, most recently from 7eb9ad0 to 92f9d6e Compare February 6, 2026 13:22
BREAKING CHANGES:
- visualizations_references replaces visualizations_metrics and visualizations_attributes
- metrics_references replaces metrics_relationships and metrics_ldm_references

New features:
- is_valid defaults to NULL in local mode, computed in post-export
- Date instance support in LDM export
- {label/...} extraction from MAQL
- metrics_is_valid and visualizations_is_valid post-export updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vondravl vondravl marked this pull request as ready for review February 6, 2026 15:12
@vondravl vondravl merged commit 61a709a into main Feb 6, 2026
1 check passed
@vondravl vondravl deleted the feature/v1.7.0 branch February 6, 2026 16:02
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.

1 participant