[CALCITE-2803] ProjectTransposeJoinRule messes INDF expressions#1016
Merged
laurentgo merged 1 commit intoapache:masterfrom May 13, 2019
Merged
[CALCITE-2803] ProjectTransposeJoinRule messes INDF expressions#1016laurentgo merged 1 commit intoapache:masterfrom
laurentgo merged 1 commit intoapache:masterfrom
Conversation
Member
|
@laurentgo Could you fix the import order issue that's causing checkstyle to fail? (See the Travis tests.) |
Contributor
Author
|
Will do. The newer checkstyle version is more restrictive, and my IDE (Eclipse) cannot automatically format the imports in a way which will satisfy the checker :( |
4ff2e37 to
39cefdf
Compare
Member
|
Great! tbh, I haven't taken the time tot fully understand the issue here, but I see that existing tests are passing and you added new tests. I'm happy to trust you to combine this PR into a single commit and push when ready. |
Contributor
Author
|
Will do (looks like the squash and merge option is disabled, so I'll be doing it manually) |
39cefdf to
99e5382
Compare
ProjectTransposeJoinRule does not identify expanded versions of IS NOT DISTINCT FROM expressions in the join filter, and might push them below the join operator in a way which makes impossible for RelOptUtil#splitJoinCondition() to identify the INDF condition and mis- categorize the join as not being an equi-join. Fix the issue by collapsing INDF expressions before invoking PushProjector. Also add support for expanded form CASE(WHEN A IS NULL THEN B IS NULL WHEN B IS NULL THEN A IS NULL ELSE A = B).
99e5382 to
d059953
Compare
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ProjectTransposeJoinRule does not identify expanded versions of IS NOT
DISTINCT FROM expressions in the join filter, and might push them below
the join operator in a way which makes impossible for
RelOptUtil#splitJoinCondition() to identify the INDF condition and mis-
categorize the join as not being an equi-join.
Fix the issue by collapsing INDF expressions before invoking PushProjector.
Also add support for expanded form CASE(WHEN A IS NULL THEN B IS NULL
WHEN B IS NULL THEN A IS NULL ELSE A = B).