-
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
Modifies how we model paths in the plan #1271
Conversation
Conformance comparison report
Number passing in both: 5372 Number failing in both: 446 Number passing in Base (c23ca8c) but now fail: 0 Number failing in Base (c23ca8c) but now pass: 0 |
Will review after rebase. Thank you. |
org.partiql.ast.Identifier.CaseSensitivity.SENSITIVE -> rexOpPathStepKey( | ||
rex( | ||
type = StaticType.STRING, | ||
op = rexOpLit(stringValue(it.symbol.symbol)) | ||
) | ||
) |
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 want this to be a rexOpPathSymbol
right? For global resolution.
a."x" != a["x"] -- !! only for global variable names, the prior is treated as a qualified identifier
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.
With your recent PR for internalizing the unresolved IRs, I added the retention of this subtle difference to the internal IR. Then, converting from the internal to the public, I transform it accordingly. See the updated PR description.
007214b
to
b9330c9
Compare
Identifier.CaseSensitivity.SENSITIVE -> rexOpPathStepKey(rex(StaticType.STRING, rexOpLit(stringValue(node.identifier.symbol)))) | ||
Identifier.CaseSensitivity.INSENSITIVE -> rexOpPathStepSymbol(node.identifier.symbol) |
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.
Nice, here's a notable difference between the typing structure and the public API
Relevant Issues
Description
a[0], a[1 + 1]
a."b", a['b'], a[CAST('a' || 'b' AS STRING)]
a.b
a.b
,a."b"
, anda['b']
when we haven't typed yet-- the internal APIs contain:a[0], a[1 + 1]
a['b'], a[CAST('a' || 'b' AS STRING)]
a.b
anda."b"
. This has a subtle difference to the public API.PartiQLSchemaInferencerTests
for more information.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.