Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature(View): add view support and relationship validation in SemanticLayerSchema #1534

Merged
merged 5 commits into from
Jan 20, 2025

Conversation

ellipsis-dev[bot]
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot commented Jan 20, 2025

This change addresses review comments left by @scaliseraoul on PR #1532: feature(View): enabling view in SemanticLayerSchema

⚠️ We couldn't build/test your project to verify our changes. Add a Dockerfile to significantly improve code quality.

Summary:

Enhance SemanticLayerSchema to support views and relationships with new validation logic and tests.

Key points:

  • Behavior:
    • Added support for views in SemanticLayerSchema with view attribute in Source class.
    • Enforced mutual exclusivity between table and view in Source.
    • Added Relation class to define relationships between columns in views.
    • Implemented validation for column and relation formats in views.
  • Validation:
    • Added check_columns_relations() in SemanticLayerSchema to validate column uniqueness and format.
    • Validates that all columns in views follow [table].[column] format.
    • Ensures all tables in views have defined relationships.
  • Documentation:
    • Updated semantic-layer.mdx to include view configuration and constraints.
  • Tests:
    • Added tests for view-specific validations in test_semantic_layer_schema.py.
    • Tests for mutual exclusivity of table and view, column format, and relationship definitions.

You can configure Ellipsis to address comments with a direct commit or a side PR, see docs.


Something look wrong? If this Pull Request doesn't address the comments left on the above pull request, create a new PR review with more details. For more information, check the documentation.

Generated with ❤️ by ellipsis.dev

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jan 20, 2025
@gventuri gventuri changed the title [Ellipsis] feat: add view support and relationship validation in SemanticLayerSchema feature(View): add view support and relationship validation in SemanticLayerSchema Jan 20, 2025
@gventuri gventuri merged commit b9e6762 into release/v3 Jan 20, 2025
13 checks passed
Copy link

codecov bot commented Jan 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 77.97%. Comparing base (63e8c26) to head (e6ce56d).
Report is 137 commits behind head on release/v3.

Additional details and impacted files
@@              Coverage Diff               @@
##           release/v3    #1534      +/-   ##
==============================================
- Coverage       79.09%   77.97%   -1.13%     
==============================================
  Files             149       58      -91     
  Lines            6013     1925    -4088     
==============================================
- Hits             4756     1501    -3255     
+ Misses           1257      424     -833     
Flag Coverage Δ
unittests 77.97% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants