-
Notifications
You must be signed in to change notification settings - Fork 9
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
feat: add derivation expression evaluator #63
Conversation
ACTION NEEDED Substrait follows the Conventional Commits The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification. |
Evaluation is not exhaustive yet, I've implemented the types necessary for functions in ibis-substrait and subframe. Some open questions:
|
@jacques-n FYI |
I'll try to take a detailed look at this next week (or maybe tomorrow?), but some initial thoughts: I think leaving the antlr runtime as a required dependency is fine. It's very light-weight, and the likelihood of a given plan not having any scalar functions seems low. And we should mark the antlr-generated files with |
true, but note that this is likely only necessary for producers as output types of ScalarFunction calls are already in the substrait plan, therefore no derivation is needed for a consumer. So we would be adding unnecessary dependency to anyone that's just consuming.
checked and |
Ahh, right. OK, well, I'm good with making it an optional dependency. |
I'm thinking of calling the extra |
grammar SubstraitType; | ||
|
||
// | ||
fragment A : [aA]; |
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.
When we move this into core we should use:
options {
caseInsensitive = true;
}
so we can eliminate all these fragments.
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 can open an issue in substrait-java for this..
@gforsyth just a reminder |
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.
Thanks for the ping @tokoko and sorry for the delay in getting to this.
Adds support for the evaluation of extension function's return type expressions.
It's meant to be used by producers to correctly infer return types.
It uses antlr grammar (temporarily) copy-pasted from
substrait-java
w/o changes.