-
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
Enable Eval Test Suites #1340
Enable Eval Test Suites #1340
Conversation
Conformance comparison report-Cross Engine
Number failing in both: 427 Number passing in legacy engine but fail in eval engine: 4135 Number failing in legacy engine but pass in eval engine: 7 Click here to see
Conformance comparison report-Cross Commit-LEGACY
Number failing in both: 434 Number passing in Base (57496a9) but now fail: 0 Number failing in Base (57496a9) but now pass: 0 Conformance comparison report-Cross Commit-EVAL
Number failing in both: 4556 Number passing in Base (57496a9) but now fail: 6 Number failing in Base (57496a9) but now pass: 1088 Click here to see
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## partiql-plugin-impl #1340 +/- ##
======================================================
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. |
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestBase.kt
Show resolved
Hide resolved
if (rootType is AnyType) { | ||
val match = ResolvedVar.Local(StaticType.ANY, ordinal, rootType, listOf(pathPrefix) + path.steps) | ||
matches.add(match) |
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.
To temporarily unblock the path access on any type. This behavior is probably incorrect.
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.
Interesting. I'm not sure we can resolve a variable if the type is ANY/UNKNOWN. I feel this should just be a path expression on the root
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.
We need a refactor on PartiQLValueType before doing this.
Consider:
tbl : <<{'a' : 1, 'b': 2}>>
We now infer the tbl
having PartiQLValueType
of Bag, which is then converted to StaticType BAG(ANY)
.
So if we do SELECT tbl.a FROM tbl
. Without this, the inferencer would fail.
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.
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.
Pick the #1344. Removed the temporary work around.
@@ -19,7 +22,7 @@ import org.partiql.plan.PartiQLPlan | |||
*/ | |||
public interface PartiQLEngine { | |||
|
|||
public fun prepare(plan: PartiQLPlan): PartiQLStatement<*> | |||
public fun prepare(plan: PartiQLPlan, session: Session): PartiQLStatement<*> |
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.
making this more akin to the Planner APIs.
public class Session @OptIn(PartiQLFunctionExperimental::class) constructor( | ||
var bindings: MutableMap<String, ConnectorBindings> = mutableMapOf(), | ||
val functions: MutableMap<String, List<PartiQLFunction>> = mutableMapOf() | ||
) |
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.
At some point we'll need session variables passed during statement execution.
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.
Added a to-do note. Maybe we can do this after the work on Sql plugin is completed.
partiql-eval/src/main/kotlin/org/partiql/eval/internal/Compiler.kt
Outdated
Show resolved
Hide resolved
if (rootType is AnyType) { | ||
val match = ResolvedVar.Local(StaticType.ANY, ordinal, rootType, listOf(pathPrefix) + path.steps) | ||
matches.add(match) |
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.
Interesting. I'm not sure we can resolve a variable if the type is ANY/UNKNOWN. I feel this should just be a path expression on the root
Relevant Issues
Description
Other Information
Updated Unreleased Section in CHANGELOG: [YES/NO]
Any backward-incompatible changes? [YES/NO]
Any new external dependencies? [YES/NO]
No.
Do your changes comply with the Contributing Guidelines
and Code Style Guidelines? [YES/NO]
Yes.
License Information
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.