fix: select_value node name
This commit is contained in:
parent
c4cc51b583
commit
9d86f48622
|
@ -1105,7 +1105,7 @@ static bool isForecastPseudoColumnFunc(const SNode* pNode) {
|
|||
}
|
||||
|
||||
static bool isColsFunctionResult(const SNode* pNode) {
|
||||
return ((nodesIsExprNode(pNode)) && ((SExprNode*)pNode)->relatedTo > 0);
|
||||
return ((nodesIsExprNode(pNode)) && (isRelatedToOtherExpr((SExprNode*)pNode)));
|
||||
}
|
||||
|
||||
static bool isInvalidColsBindFunction(const SFunctionNode* pFunc) {
|
||||
|
@ -3582,6 +3582,14 @@ static EDealRes rewriteColToSelectValFunc(STranslateContext* pCxt, SNode** pNode
|
|||
tstrncpy(pFunc->functionName, "_select_value", TSDB_FUNC_NAME_LEN);
|
||||
tstrncpy(pFunc->node.aliasName, ((SExprNode*)*pNode)->aliasName, TSDB_COL_NAME_LEN);
|
||||
tstrncpy(pFunc->node.userAlias, ((SExprNode*)*pNode)->userAlias, TSDB_COL_NAME_LEN);
|
||||
if (isRelatedToOtherExpr((SExprNode*)*pNode)) {
|
||||
int len = strlen(((SExprNode*)*pNode)->aliasName);
|
||||
if (len + TSDB_COL_NAME_EXLEN >= TSDB_COL_NAME_LEN) {
|
||||
parserError("%s The alias name is too long, the extra part will be truncated", __func__);
|
||||
return DEAL_RES_ERROR;
|
||||
}
|
||||
tsnprintf(pFunc->node.aliasName + len, TSDB_COL_NAME_EXLEN, ".%d", ((SExprNode*)*pNode)->relatedTo);
|
||||
}
|
||||
pFunc->node.relatedTo = ((SExprNode*)*pNode)->relatedTo;
|
||||
pFunc->node.bindExprID = ((SExprNode*)*pNode)->bindExprID;
|
||||
pCxt->errCode = nodesListMakeAppend(&pFunc->pParameterList, *pNode);
|
||||
|
@ -7400,13 +7408,6 @@ static EDealRes pushDownBindSelectFunc(SNode** pNode, void* pContext) {
|
|||
SBindTupleFuncCxt* pCxt = pContext;
|
||||
if (nodesIsExprNode(*pNode)) {
|
||||
((SExprNode*)*pNode)->relatedTo = pCxt->bindExprID;
|
||||
int32_t len = strlen(((SExprNode*)*pNode)->aliasName);
|
||||
if (len + TSDB_COL_NAME_EXLEN >= TSDB_COL_NAME_LEN) {
|
||||
parserError("%s The alias name is too long, the extra part will be truncated", __func__);
|
||||
return DEAL_RES_ERROR;
|
||||
} else {
|
||||
tsnprintf(((SExprNode*)*pNode)->aliasName + len, TSDB_COL_NAME_EXLEN, ".%d", pCxt->bindExprID);
|
||||
}
|
||||
SFunctionNode* pFunc = (SFunctionNode*)*pNode;
|
||||
}
|
||||
return DEAL_RES_CONTINUE;
|
||||
|
|
|
@ -124,7 +124,6 @@ static EDealRes doRewriteExpr(SNode** pNode, void* pContext) {
|
|||
tstrncpy(pCol->colName, ((SExprNode*)pExpr)->aliasName, TSDB_COL_NAME_LEN);
|
||||
pCol->node.projIdx = ((SExprNode*)(*pNode))->projIdx;
|
||||
pCol->node.relatedTo = ((SExprNode*)(*pNode))->relatedTo;
|
||||
//pCol->node.bindExprID = ((SExprNode*)(*pNode))->bindExprID;
|
||||
if (QUERY_NODE_FUNCTION == nodeType(pExpr)) {
|
||||
setColumnInfo((SFunctionNode*)pExpr, pCol, pCxt->isPartitionBy);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue