-
Notifications
You must be signed in to change notification settings - Fork 97
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
Revert "Move _path_key_to_spec
to ElementPathKey
."
#1177
Conversation
Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide. |
1 similar comment
Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide. |
c40e6b1
to
7c580e1
Compare
3ae634f
to
4bbc8e0
Compare
👍 For context on the issue with |
4bbc8e0
to
97fc59c
Compare
This reverts commit bcbf1bf. The original layout of linkable_element, with the private helper converting ElementPathKey to the relevant LinkableInstanceSpec, was intentionally placed to avoid circular dependencies with the WhereFilterSpec during predicate pushdown implementation. The code configuration from the reverted commit is nicer in many respects, but unfortunately an attempt to use it ran into circular dependencies as expected, and the TYPE_CHECKING work-around ultimately failed because of the way SerializableDataclass works. Since the SerializableDataclass mechanism is fully in use in the implementation of some dbt cloud extensions we cannot easily evalaute updates to that model here, and it is therefore much simpler to just revert this change and move forward.
97fc59c
to
41dc93b
Compare
Yup, that is what I was seeing! I updated the PR description to include this information. |
This reverts commit bcbf1bf.
The original layout of linkable_element, with the private helper
converting ElementPathKey to the relevant LinkableInstanceSpec,
was intentionally placed to avoid circular dependencies with
the WhereFilterSpec during predicate pushdown implementation.
The code configuration from the reverted commit is nicer in many
respects, but unfortunately an attempt to use it ran into
circular dependencies as expected, and the TYPE_CHECKING work-around
ultimately failed because of the way SerializableDataclass works.
Specifically, SerializableDataclass needs the class to create a concrete
object during its operation, so runtime access to the object is required
it's part of a SerializableDataclass hierarchy.
Since the SerializableDataclass mechanism is fully in use in the
implementation of some dbt cloud extensions we cannot easily
evalaute updates to that model here, and it is therefore much
simpler to just revert this change and move forward.