fix: limit/slimit would prevent optimization projection elimination

This commit is contained in:
shenglian zhou 2022-06-20 07:52:29 +08:00
parent 218d455dcc
commit 8c955ef017
2 changed files with 6 additions and 1 deletions

View File

@ -328,10 +328,11 @@ SArray* extractColMatchInfo(SNodeList* pNodeList, SDataBlockDescNode* pOutputNod
break;
}
}
ASSERT(foundSource);
if (pNode->output) {
(*numOfOutputCols) += 1;
} else {
ASSERT(foundSource);
info->output = false;
}
}

View File

@ -1088,6 +1088,10 @@ static bool eliminateProjOptMayBeOptimized(SLogicNode* pNode) {
}
SProjectLogicNode* pProjectNode = (SProjectLogicNode*)pNode;
if (-1 != pProjectNode->limit || -1 != pProjectNode->slimit || -1 != pProjectNode->offset || -1 != pProjectNode->soffset) {
return false;
}
SNode* pProjection;
FOREACH(pProjection, pProjectNode->pProjections) {
SExprNode* pExprNode = (SExprNode*)pProjection;