-
Notifications
You must be signed in to change notification settings - Fork 88
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
Add element type property to LinkableElement interface #1226
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. |
Need to make another update and it makes sense to put it in here. |
@property | ||
@abstractmethod | ||
def element_type(self) -> LinkableElementType: | ||
"""Blah.""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LOL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤦 I'll fix that.
42aadf8
to
c9fd6dd
Compare
9040f9f
to
ee88ff9
Compare
c9fd6dd
to
e817118
Compare
The LinkableElement interface is used in cases where we have a set of LinkableElements undifferentiated by underlying type. In predicate pushdown, this happens with where specs that reference some set of linkable elements but store them in an undifferentiated collection. In practice, we need to know not just the object type, but the more refined LinkableElementType in order to apply the pushdown evaluation logic, as time dimensions and categorical dimensions need to be considered in a distinct way. This makes the relevant property available in the parent interface so we can access it directly.
ee88ff9
to
2ec263f
Compare
The LinkableElement interface is used in cases where we have a
set of LinkableElements undifferentiated by underlying type.
In predicate pushdown, this happens with where specs that reference
some set of linkable elements but store them in an undifferentiated
collection.
In practice, we need to know not just the object type, but the more
refined LinkableElementType in order to apply the pushdown evaluation
logic, as time dimensions and categorical dimensions need to be
considered in a distinct way.
This makes the relevant property available in the parent interface
so we can access it directly.