chore: only filter window pseudo column
This commit is contained in:
parent
576e3d1156
commit
90b4580ba9
|
@ -749,14 +749,20 @@ static int32_t createWindowLogicNodeFinalize(SLogicPlanContext* pCxt, SSelectStm
|
||||||
code = rewriteExprsForSelect(pWindow->pFuncs, pSelect, SQL_CLAUSE_WINDOW, NULL);
|
code = rewriteExprsForSelect(pWindow->pFuncs, pSelect, SQL_CLAUSE_WINDOW, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// erase duplicated funcNode by filtering colNode in pSelect->pProjectionList
|
// erase duplicated Window Pseudo funcNode by filtering colNode in pSelect->pProjectionList
|
||||||
|
if (pSelect->pProjectionList) {
|
||||||
int32_t funcIndex = 0;
|
int32_t funcIndex = 0;
|
||||||
SNode * pFunc = NULL, *pProject = NULL;
|
SNode * pFunc = NULL, *pProject = NULL;
|
||||||
FOREACH(pFunc, pWindow->pFuncs) {
|
FOREACH(pFunc, pWindow->pFuncs) {
|
||||||
|
if (!fmIsWindowPseudoColumnFunc(((SFunctionNode*)pFunc)->funcId)) {
|
||||||
|
++funcIndex;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
bool exist = false;
|
bool exist = false;
|
||||||
FOREACH(pProject, pSelect->pProjectionList) {
|
FOREACH(pProject, pSelect->pProjectionList) {
|
||||||
if (0 != ((SFunctionNode*)pFunc)->node.aliasName[0] &&
|
if (0 != ((SFunctionNode*)pFunc)->node.aliasName[0] &&
|
||||||
0 == strncmp(((SFunctionNode*)pFunc)->node.aliasName, ((SColumnNode*)pProject)->colName, TSDB_COL_NAME_LEN)) {
|
0 == strncmp(((SFunctionNode*)pFunc)->node.aliasName, ((SColumnNode*)pProject)->colName,
|
||||||
|
TSDB_COL_NAME_LEN)) {
|
||||||
exist = true;
|
exist = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -767,6 +773,7 @@ static int32_t createWindowLogicNodeFinalize(SLogicPlanContext* pCxt, SSelectStm
|
||||||
++funcIndex;
|
++funcIndex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS == code) {
|
if (TSDB_CODE_SUCCESS == code) {
|
||||||
code = createColumnByRewriteExprs(pWindow->pFuncs, &pWindow->node.pTargets);
|
code = createColumnByRewriteExprs(pWindow->pFuncs, &pWindow->node.pTargets);
|
||||||
|
|
Loading…
Reference in New Issue