-
Notifications
You must be signed in to change notification settings - Fork 237
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 TypeSig checks for join keys and other special cases #3183
Add TypeSig checks for join keys and other special cases #3183
Conversation
Signed-off-by: Andy Grove <andygrove@nvidia.com>
.withPsNote(TypeEnum.ARRAY, "Cannot be used as join key") | ||
.withPsNote(TypeEnum.STRUCT, "Cannot be used as join key") | ||
.withPsNote(TypeEnum.MAP, "Cannot be used as join key") |
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.
Just so I am not misunderstanding, are these unrelated changes and more like and audit that you ran into while making the doc change?
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.
Prior to this PR we relied on the "ps notes" to document the fact that we don't support map/struct/array as join keys, but we now have specific lines in the supported_ops table for leftKeys
and rightKeys
for the join operators, showing which types are supported, so we no longer need these ps notes.
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.
This looks really good and is a lot cleaner than what I had in mind.
sql-plugin/src/main/scala/com/nvidia/spark/rapids/TypeChecks.scala
Outdated
Show resolved
Hide resolved
Signed-off-by: Andy Grove <andygrove@nvidia.com>
Signed-off-by: Andy Grove <andygrove@nvidia.com>
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 just had one more thing to add to my wish list for this. I think it looks great. The next step would be too apply it to other areas that also need this type of check.
Signed-off-by: Andy Grove <andygrove@nvidia.com>
build |
shims/spark311db/src/main/scala/com/nvidia/spark/rapids/shims/spark311db/Spark311dbShims.scala
Outdated
Show resolved
Hide resolved
build |
build |
Signed-off-by: Andy Grove <andygrove@nvidia.com> Signed-off-by: Raza Jafri <rjafri@nvidia.com>
Signed-off-by: Andy Grove andygrove@nvidia.com
Closes #2102
This PR allows us to provide TypeSig signatures for join keys and generates appropriate documentation in support_ops.md
This is implemented for joins and WindowExec.