enhance: bi mode tbname col to tbname func

This commit is contained in:
slzhou 2023-11-21 14:33:00 +08:00
parent 83c1db07a3
commit ebbbb3825d
1 changed files with 6 additions and 14 deletions

View File

@ -1093,17 +1093,7 @@ static EDealRes translateColumnUseAlias(STranslateContext* pCxt, SColumnNode** p
#ifndef TD_ENTERPRISE #ifndef TD_ENTERPRISE
EDealRes biRewriteToTbnameFuncAndTranslate(STranslateContext* pCxt, SColumnNode** ppCol) { EDealRes biRewriteToTbnameFuncAndTranslate(STranslateContext* pCxt, SColumnNode** ppCol) {
SFunctionNode* tbnameFuncNode = NULL; return DEAL_RES_CONTINUE;
// tbnameFuncNode = biMakeTbnameProjectAstNode(NULL, ((*ppCol)->tableAlias[0]!='\0') ? (*ppCol)->tableAlias : NULL);
tbnameFuncNode->node.resType = (*ppCol)->node.resType;
strcpy(tbnameFuncNode->node.aliasName, (*ppCol)->node.aliasName);
strcpy(tbnameFuncNode->node.userAlias, (*ppCol)->node.userAlias);
nodesDestroyNode(*(SNode**)ppCol);
*(SNode**)ppCol = (SNode*)tbnameFuncNode;
EDealRes res = translateFunction(pCxt, &tbnameFuncNode);
return res;
} }
#endif #endif
@ -1118,11 +1108,13 @@ static EDealRes translateColumn(STranslateContext* pCxt, SColumnNode** pCol) {
return DEAL_RES_CONTINUE; return DEAL_RES_CONTINUE;
} }
if (pCxt->pParseCxt->biMode && (strcasecmp((*pCol)->colName, "tbname") == 0) && if (pCxt->pParseCxt->biMode) {
if ((strcasecmp((*pCol)->colName, "tbname") == 0) &&
((SSelectStmt*)pCxt->pCurrStmt)->pFromTable && ((SSelectStmt*)pCxt->pCurrStmt)->pFromTable &&
QUERY_NODE_REAL_TABLE == nodeType(((SSelectStmt*)pCxt->pCurrStmt)->pFromTable)) { QUERY_NODE_REAL_TABLE == nodeType(((SSelectStmt*)pCxt->pCurrStmt)->pFromTable)) {
EDealRes res = biRewriteToTbnameFuncAndTranslate(pCxt, pCol); EDealRes res = biRewriteToTbnameFuncAndTranslate(pCxt, pCol);
return res; return res;
}
} }
EDealRes res = DEAL_RES_CONTINUE; EDealRes res = DEAL_RES_CONTINUE;