-
Notifications
You must be signed in to change notification settings - Fork 131
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: re-enable the NL-index in ORCA and fix the Join2IndexApplyGeneric #807
Conversation
0dc70ff
to
2e64e45
Compare
2e64e45
to
ecf6ca0
Compare
src/backend/gporca/libgpopt/src/xforms/CXformJoin2IndexApplyGeneric.cpp
Outdated
Show resolved
Hide resolved
ecf6ca0
to
f43036b
Compare
checked the new plan, there are 2 Redistribute Motion in the plan before join, and the hash key is same. If I understood correctly, only one Redistribute Motion is enough. |
That's PG plan, ORCA still will fallback in this case(same as no index in this case), But the fallback reason is not we disable the NL-index. |
f43036b
to
ba91ab4
Compare
You are right. We can talk about the orca failure about this query in another thread. |
LGTM! |
ba91ab4
to
99cf9ad
Compare
Fixes #567
What does this PR do?
The
CXformJoin2IndexApplyGeneric
xfrom will create theCPhysicalInnerHashJoin
in ROOT path.But when
DynamicGet
in a child node, it doesn't go through any checks, which is incorrect.If the components of the current relationship are inconsistent with the group by key, the logical transformation will be invalid. After the current logical conversion success, the enforce phase will not be required to process the partial key by default.
Type of Change
Breaking Changes
Test Plan
make installcheck
make -C src/test installcheck-cbdb-parallel
Impact
Performance:
User-facing changes:
Dependencies:
Checklist
Additional Context
CI Skip Instructions