fix: group cache fetch issue
This commit is contained in:
parent
0fb672d8a6
commit
5934a137dd
|
@ -1146,7 +1146,7 @@ static int32_t initGroupCacheSession(struct SOperatorInfo* pOperator, SOperatorP
|
||||||
SHashObj* pGrpHash = pGCache->globalGrp ? pGCache->pGrpHash : pCtx->pGrpHash;
|
SHashObj* pGrpHash = pGCache->globalGrp ? pGCache->pGrpHash : pCtx->pGrpHash;
|
||||||
|
|
||||||
SGroupCacheData* pGroup = taosHashGet(pGrpHash, &pGcParam->tbUid, sizeof(pGcParam->tbUid));
|
SGroupCacheData* pGroup = taosHashGet(pGrpHash, &pGcParam->tbUid, sizeof(pGcParam->tbUid));
|
||||||
if (NULL == pGroup && NULL != pParam->pChildren && !pCtx->fetchDone) {
|
if (NULL == pGroup && (NULL != pParam->pChildren || !pCtx->fetchDone)) {
|
||||||
code = addNewGroupData(pOperator, pParam, &pGroup, pGCache->batchFetch ? GROUP_CACHE_DEFAULT_VGID : pGcParam->vgId, pGcParam->tbUid);
|
code = addNewGroupData(pOperator, pParam, &pGroup, pGCache->batchFetch ? GROUP_CACHE_DEFAULT_VGID : pGcParam->vgId, pGcParam->tbUid);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
return code;
|
return code;
|
||||||
|
|
|
@ -1038,8 +1038,8 @@ static void setColumnInfoByExpr(STempTableNode* pTable, SExprNode* pExpr, SColum
|
||||||
pCol->colId = pCol->isPrimTs ? PRIMARYKEY_TIMESTAMP_COL_ID : 0;
|
pCol->colId = pCol->isPrimTs ? PRIMARYKEY_TIMESTAMP_COL_ID : 0;
|
||||||
if (QUERY_NODE_COLUMN == nodeType(pExpr)) {
|
if (QUERY_NODE_COLUMN == nodeType(pExpr)) {
|
||||||
pCol->colType = ((SColumnNode*)pExpr)->colType;
|
pCol->colType = ((SColumnNode*)pExpr)->colType;
|
||||||
strcpy(pCol->dbName, ((SColumnNode*)pExpr)->dbName);
|
//strcpy(pCol->dbName, ((SColumnNode*)pExpr)->dbName);
|
||||||
strcpy(pCol->tableName, ((SColumnNode*)pExpr)->tableName);
|
//strcpy(pCol->tableName, ((SColumnNode*)pExpr)->tableName);
|
||||||
}
|
}
|
||||||
strcpy(pCol->colName, pExpr->aliasName);
|
strcpy(pCol->colName, pExpr->aliasName);
|
||||||
if ('\0' == pCol->node.aliasName[0]) {
|
if ('\0' == pCol->node.aliasName[0]) {
|
||||||
|
|
|
@ -1354,6 +1354,13 @@ static int32_t pdcJoinGetOpTableCondTypes(SNode* pCond, SSHashObj* pLeftTables,
|
||||||
|
|
||||||
if (cxt.havaLeftCol) {
|
if (cxt.havaLeftCol) {
|
||||||
if (cxt.haveRightCol) {
|
if (cxt.haveRightCol) {
|
||||||
|
if (cxt.condIsNull) {
|
||||||
|
tableCondTypes[1] = true;
|
||||||
|
tableCondTypes[3] = true;
|
||||||
|
} else {
|
||||||
|
tableCondTypes[0] = true;
|
||||||
|
tableCondTypes[2] = true;
|
||||||
|
}
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4587,8 +4594,10 @@ int32_t stbJoinOptRewriteToTagScan(SLogicNode* pJoin, SNode* pNode) {
|
||||||
bool found = false;
|
bool found = false;
|
||||||
WHERE_EACH(pTarget, pScan->node.pTargets) {
|
WHERE_EACH(pTarget, pScan->node.pTargets) {
|
||||||
found = false;
|
found = false;
|
||||||
|
SColumnNode* pTargetCol = (SColumnNode*)pTarget;
|
||||||
FOREACH(pTag, pTags) {
|
FOREACH(pTag, pTags) {
|
||||||
if (nodesEqualNode(pTarget, pTag)) {
|
SColumnNode* pTagCol = (SColumnNode*)pTag;
|
||||||
|
if (0 == strcasecmp(pTargetCol->node.aliasName, pTagCol->colName) && 0 == strcasecmp(pTargetCol->tableAlias, pTagCol->tableAlias)) {
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue