MDEV-38502: FULL OUTER JOIN get correct sargable condition#4520
Closed
DaveGosselin-MariaDB wants to merge 2 commits into12.3-MDEV-38177-allowed-join-ordersfrom
Closed
MDEV-38502: FULL OUTER JOIN get correct sargable condition#4520DaveGosselin-MariaDB wants to merge 2 commits into12.3-MDEV-38177-allowed-join-ordersfrom
DaveGosselin-MariaDB wants to merge 2 commits into12.3-MDEV-38177-allowed-join-ordersfrom
Conversation
Move the temporary gate against FULL OUTER JOIN deeper into the codebase, which causes the FULL OUTER JOIN query plans to have more relevant information (hence the change). In some cases, the join order of nested INNER JOINs within the FULL OUTER JOIN changed. Small cleanups in get_sargable_cond ahead of the feature work in the next commit.
Fetches the ON condition from the FULL OUTER JOIN as the sargable condition. We ignore the WHERE clause here because we don't want accidental conversions from FULL JOIN to INNER JOIN during, for example, range analysis, as that would produce wrong results. GCOV shows that existing FULL OUTER JOIN tests exercise this new codepath.
Member
Author
|
Closing this PR in favor of reviewing via branch |
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.
This PR consists of the following two commits, both pertaining to
get_sargable_cond. The first moves the temporary feature gate for FULL OUTER JOIN further into the codebase and updates affected FULL OUTER JOIN query plans in the test result files. The second implements the changes required forget_sargable_cond.