opti:grou by tag

This commit is contained in:
wangmm0220 2022-08-22 11:28:58 +08:00
parent 36ff7e4242
commit 36b60ab082
1 changed files with 13 additions and 3 deletions

View File

@ -634,8 +634,9 @@ int32_t getColInfoResultForGroupby(void* metaHandle, SNodeList* group, STableLis
SScalarParam output = {0}; SScalarParam output = {0};
switch (nodeType(pNode)) { switch (nodeType(pNode)) {
case QUERY_NODE_COLUMN:
case QUERY_NODE_VALUE: case QUERY_NODE_VALUE:
break;
case QUERY_NODE_COLUMN:
case QUERY_NODE_OPERATOR: case QUERY_NODE_OPERATOR:
case QUERY_NODE_FUNCTION:{ case QUERY_NODE_FUNCTION:{
SExprNode* expNode = (SExprNode*)pNode; SExprNode* expNode = (SExprNode*)pNode;
@ -646,9 +647,18 @@ int32_t getColInfoResultForGroupby(void* metaHandle, SNodeList* group, STableLis
break; break;
} }
default: default:
ASSERT(0); code = TSDB_CODE_OPS_NOT_SUPPORT;
goto end;
}
if(nodeType(pNode) == QUERY_NODE_COLUMN){
SColumnNode* pSColumnNode = (SColumnNode*)pNode;
SColumnInfoData* pColInfo = (SColumnInfoData*)taosArrayGet(pResBlock->pDataBlock, pSColumnNode->slotId);
code = colDataAssign(output.columnData, pColInfo, rows, NULL);
}else if(nodeType(pNode) == QUERY_NODE_VALUE){
continue;
}else{
code = scalarCalculate(pNode, pBlockList, &output);
} }
code = scalarCalculate(pNode, pBlockList, &output);
if(code != TSDB_CODE_SUCCESS){ if(code != TSDB_CODE_SUCCESS){
releaseColInfoData(output.columnData); releaseColInfoData(output.columnData);
goto end; goto end;