fix: core dump when left data block id is equal to right data block id
This commit is contained in:
parent
db7a7fa4bd
commit
8b9c34504d
|
@ -54,6 +54,10 @@ static void extractTimeCondition(SJoinOperatorInfo* pInfo, SOperatorInfo** pDown
|
||||||
SColumnNode* col2 = (SColumnNode*)pNode->pRight;
|
SColumnNode* col2 = (SColumnNode*)pNode->pRight;
|
||||||
SColumnNode* leftTsCol = NULL;
|
SColumnNode* leftTsCol = NULL;
|
||||||
SColumnNode* rightTsCol = NULL;
|
SColumnNode* rightTsCol = NULL;
|
||||||
|
if (col1->dataBlockId == col2->dataBlockId ) {
|
||||||
|
leftTsCol = col1;
|
||||||
|
rightTsCol = col2;
|
||||||
|
} else {
|
||||||
if (col1->dataBlockId == pDownstream[0]->resultDataBlockId) {
|
if (col1->dataBlockId == pDownstream[0]->resultDataBlockId) {
|
||||||
ASSERT(col2->dataBlockId == pDownstream[1]->resultDataBlockId);
|
ASSERT(col2->dataBlockId == pDownstream[1]->resultDataBlockId);
|
||||||
leftTsCol = col1;
|
leftTsCol = col1;
|
||||||
|
@ -64,12 +68,12 @@ static void extractTimeCondition(SJoinOperatorInfo* pInfo, SOperatorInfo** pDown
|
||||||
leftTsCol = col2;
|
leftTsCol = col2;
|
||||||
rightTsCol = col1;
|
rightTsCol = col1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
setJoinColumnInfo(&pInfo->leftCol, leftTsCol);
|
setJoinColumnInfo(&pInfo->leftCol, leftTsCol);
|
||||||
setJoinColumnInfo(&pInfo->rightCol, rightTsCol);
|
setJoinColumnInfo(&pInfo->rightCol, rightTsCol);
|
||||||
} else {
|
} else {
|
||||||
ASSERT(false);
|
ASSERT(false);
|
||||||
}
|
}}
|
||||||
}
|
|
||||||
|
|
||||||
SOperatorInfo* createMergeJoinOperatorInfo(SOperatorInfo** pDownstream, int32_t numOfDownstream,
|
SOperatorInfo* createMergeJoinOperatorInfo(SOperatorInfo** pDownstream, int32_t numOfDownstream,
|
||||||
SSortMergeJoinPhysiNode* pJoinNode, SExecTaskInfo* pTaskInfo) {
|
SSortMergeJoinPhysiNode* pJoinNode, SExecTaskInfo* pTaskInfo) {
|
||||||
|
|
Loading…
Reference in New Issue