-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Incorrect result when hash probe dynamic filters push down throu…
…gh right join Summary: Right/full join could introduce extra null values in the output column compared to probe side, so they should not be considered as "identity projection" and not qualified for dynamic filter push through. When the condition of completely replacement of hash probe is satisfied, we were allowing all these extra null rows to pass through the join and generating incorrect result. This change fixes this bug. It's possible to generate a filter using hash join, but not completely replacing the hash probe though, since the extra nulls should be filtered out during the actual probe process. Having such mechanism requires extra information to be added in addition to "identity projections" though (i.e. whether only new nulls will be introduced for certain column). We can revisit this if we see there is a use case for such optimization. Differential Revision: D66833193
- Loading branch information
1 parent
3dd572f
commit 078ef5c
Showing
3 changed files
with
66 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters