-
Notifications
You must be signed in to change notification settings - Fork 62
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
Adds support for dynamic dispatch in evaluation #1347
Adds support for dynamic dispatch in evaluation #1347
Conversation
Conformance comparison report-Cross Engine
Number failing in both: 417 Number passing in legacy engine but fail in eval engine: 4115 Number failing in legacy engine but pass in eval engine: 17 Conformance comparison report-Cross Commit-LEGACY
Number failing in both: 434 Number passing in Base (23961f3) but now fail: 0 Number failing in Base (23961f3) but now pass: 0 Conformance comparison report-Cross Commit-EVAL
Number failing in both: 4532 Number passing in Base (23961f3) but now fail: 0 Number failing in Base (23961f3) but now pass: 30 |
candidate.eval(actualArgs) | ||
} | ||
} | ||
return missingValue() |
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.
Instead of returning missingValue
, maybe we should consider throw a exception here for now. So we be consistent with our handling mechanism.
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.
In this situation, we need to return missing:
All functions return MISSING when they input data whose types do not conform to the input argument
types.-- PartiQL Spec, Section 7.1
So, if a function hasn't been resolved to any of the candidates, we need to return missing.
* @see ExprCallDynamic | ||
*/ | ||
internal class Candidate @OptIn(PartiQLValueExperimental::class, PartiQLFunctionExperimental::class) constructor( | ||
val types: Array<PartiQLValueType>, |
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.
val types: Array<PartiQLValueType>, | |
val parameters: Array<PartiQLValueType>, |
partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt
Show resolved
Hide resolved
partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt
Show resolved
Hide resolved
partiql-eval/src/main/kotlin/org/partiql/eval/internal/operator/rex/ExprCallDynamic.kt
Show resolved
Hide resolved
9c8e335
to
7dd1063
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## partiql-plugin-impl #1347 +/- ##
======================================================
Coverage ? 49.27%
Complexity ? 1046
======================================================
Files ? 166
Lines ? 13395
Branches ? 2504
======================================================
Hits ? 6600
Misses ? 6138
Partials ? 657
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
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.
LGTM
Relevant Issues
Description
Other Information
and Code Style Guidelines? YES
License Information
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.