-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Fix operators that should be using IS NOT DISTINCT FROM rather than EQUALS #6472
Conversation
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.
presto-main/src/main/java/io/prestosql/operator/PagesHashStrategy.java
Outdated
Show resolved
Hide resolved
presto-main/src/test/java/io/prestosql/sql/gen/TestJoinCompiler.java
Outdated
Show resolved
Hide resolved
presto-main/src/test/java/io/prestosql/operator/TestStreamingAggregationOperator.java
Outdated
Show resolved
Hide resolved
presto-main/src/test/java/io/prestosql/operator/TestWindowOperator.java
Outdated
Show resolved
Hide resolved
per standard:
|
Can you add query-based tests verifying correctness end-to-end as well? |
@sopel39, we still need some of these because the equality semantics defined here are needed for equijoins, which use SQL equals, and not the distinct from shape. The nulls themselves are irrelevant for most of those use cases because they are assumed to be filtered out ahead of time for joins. That being said, there are certainly some variants of the equals hash strategy that are no longer needed. |
Join use |
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.
( #6472 (comment) )
Mind automation. There is error prone check failure |
Yea saw that, but this check failure doesn't make sense to me. Where is the protobuf coming from? How "error prone" are our error prone checks? =)
|
That is intermittent |
c665327
to
4177b44
Compare
This looks similar to, but not the same as #6414 Generally, the maven build needs to be retried in general on CI, as communication with Maven Central seems quite common cause of flakes. Would you mind filing an issue? |
2ac2174
to
1bdc8a0
Compare
Already added. @findepi, any other comments? |
@erichwang thanks for adding a test for window. Did you also intend to add one for Join (also being changed here)? |
@findepi, this actually doesn't affect SQL joins (even though the logic is stored in something called JoinCompiler). The compiler class is very inaccurately named =), and is used in a lot of places. |
…ehavior" This reverts commit ade8af1.
@@ -577,11 +577,11 @@ private IntegrityStats verifyHeapIntegrity(long groupId, long heapNodeIndex) | |||
verify(actualPeerGroupCount == peerGroupCount, "Recorded peer group count does not match actual"); |
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.
commit message is too long
We have a few operators that should be using IS NOT DISTINCT FROM rather than EQUALS to provide the proper grouping semantics. This results in queries incorrectly grouping values that are NaN, as well as structural types that contain null elements.