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

[CT-2525] Begin "basic" parsing of SemanticModel to the Manifest as nodes #7503

Closed
Tracked by #7498
QMalcolm opened this issue May 3, 2023 · 1 comment · Fixed by #7769
Closed
Tracked by #7498

[CT-2525] Begin "basic" parsing of SemanticModel to the Manifest as nodes #7503

QMalcolm opened this issue May 3, 2023 · 1 comment · Fixed by #7769
Assignees

Comments

@QMalcolm
Copy link
Contributor

QMalcolm commented May 3, 2023

In #7499 we defined dbt-core's representation of a Semantic node. In #7456 we defined the the expected YAML representation of a SemanticModel. This issue is to begin parsing SemanticModels defined in YAML to SemanticModel nodes on the Manifest. We do have a prototype of one way this could be done, #7187, if inspiration is needed.

SemanticModel node parsing is slight more complicated than Metric Parsing (#7501) in that additional nodes can be created. Specifically if a Measure on the SemanticModel is defined with create_metric: true then a Metric Node should be created for the measure. This issue IS NOT expected to handle that edge case. We have a separate issue, #7504, for tackling that specific issue.

Blocked by:

@QMalcolm QMalcolm added this to the v1.6 milestone May 3, 2023
@github-actions github-actions bot changed the title Begin "basic" parsing of SemanticModel to the Manifest as nodes [CT-2525] Begin "basic" parsing of SemanticModel to the Manifest as nodes May 3, 2023
@jtcohen6
Copy link
Contributor

jtcohen6 commented May 8, 2023

During ref resolution (end of parsing), we will need to include an object representing the resolved relation for the model that the SemanticModel is referencing, via model: ref('something').

We should include an object that contains:

  • relation path components (database, schema, identifier)
  • stringified relation_name, which will already apply quoting + include policies that vary by adapter (e.g. "schema"."identifier")

If a SemanticModel references a disabled model, raise an error :)

@emmyoop emmyoop added the Refinement Maintainer input needed label May 15, 2023
@jtcohen6 jtcohen6 removed this from the v1.6 milestone May 26, 2023
@jtcohen6 jtcohen6 removed the Refinement Maintainer input needed label May 30, 2023
@QMalcolm QMalcolm assigned peterallenwebb and unassigned QMalcolm Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants