-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
executor: split hashjoin part4 #39155
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
executor/join.go
Outdated
@@ -69,6 +78,10 @@ type probeSideTupleFetcher struct { | |||
} | |||
|
|||
type probeWorker struct { | |||
*hashJoinCtx | |||
sessCtx sessionctx.Context |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to hashJoinCtx?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll move it if needed in the following PRs.
probeKeys []*expression.Column | ||
probeNAKeys []*expression.Column | ||
buildKeys []*expression.Column | ||
buildNAKeys []*expression.Column |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why only move buildNAKeys
into hashJoinCtx?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the only usage below https://github.com/pingcap/tidb/pull/39155/files#diff-ac6f3fc5c91a1d77229d11140f9c8a8b561eb33ce595fc2d0ffd5d912cf8e3abR893 can use a bool to substitute
executor/join.go
Outdated
if w.useOuterToBuild { | ||
ok, joinResult = w.join2ChunkForOuterHashJoin(probeSideResult, hCtx, joinResult) | ||
} else { | ||
ok, joinResult = e.join2Chunk(workerID, probeSideResult, hCtx, e.probeWorkers[workerID].rowContainerForProbe, joinResult, selected) | ||
ok, joinResult = w.join2Chunk(probeSideResult, hCtx, w.rowContainerForProbe, joinResult, selected) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why join2ChunkForOuterHashJoin
remove the arg e.probeWorkers[workerID].rowContainerForProbe
but join2Chunk
not?
/merge |
This pull request has been accepted and is ready to merge. Commit hash: cbedbb7
|
TiDB MergeCI notify🔴 Bad News! New failing [1] after this pr merged.
|
This reverts commit fee8ed7.
This reverts commit fee8ed7.
What problem does this PR solve?
Issue Number: ref #39061
Problem Summary:
What is changed and how it works?
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.