planner: allow partial indexes for index join#69604
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
📝 WalkthroughWalkthroughThis PR narrows ChangesPartial Index IndexJoin Applicability
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested labels: Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #69604 +/- ##
================================================
- Coverage 76.3258% 74.2219% -2.1040%
================================================
Files 2041 2049 +8
Lines 561051 580361 +19310
================================================
+ Hits 428227 430755 +2528
- Misses 131923 148881 +16958
+ Partials 901 725 -176
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
@winoros: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
What problem does this PR solve?
Issue Number: close #69524
Problem Summary:
IndexJoin rejected every partial index because partial indexes were treated as undetermined paths. As a result, even when the partial-index predicate was already proven by pushed-down join conditions, IndexJoin could not choose that index.
What changed and how does it work?
This PR allows IndexJoin path construction to consider partial indexes after partial-index predicate checking/pruning has already run. MV indexes remain rejected.
The added tests cover:
a IS NOT NULLpartial index for inner join and left outer join<=>) not using the partial indexCheck List
Tests
Commands:
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.
Summary by CodeRabbit