diff --git a/source/libs/executor/src/groupcacheoperator.c b/source/libs/executor/src/groupcacheoperator.c index ffb3a913d3f047b1c0b3772c0cc63de0e775e284..ff771ccc8c37e9d88f342c21f586341f6f830b11 100755 --- a/source/libs/executor/src/groupcacheoperator.c +++ b/source/libs/executor/src/groupcacheoperator.c @@ -167,7 +167,7 @@ static void destroySGcBlkCacheInfo(SGcBlkCacheInfo* pBlkCache) { taosHashCleanup(pBlkCache->pDirtyBlk); void* p = NULL; - while (p = taosHashIterate(pBlkCache->pReadBlk, p)) { + while (NULL != (p = taosHashIterate(pBlkCache->pReadBlk, p))) { blockDataDeepCleanup(*(SSDataBlock**)p); freeGcBlockInList(p); } @@ -892,14 +892,14 @@ static int32_t handleDownstreamFetchDone(struct SOperatorInfo* pOperator, SGcSes if (pGCache->batchFetch) { SHashObj* pGrpHash = pGCache->globalGrp ? pGCache->pGrpHash : pCtx->pGrpHash; SGroupCacheData* pGroup = NULL; - while (pGroup = taosHashIterate(pGrpHash, pGroup)) { + while (NULL != (pGroup = taosHashIterate(pGrpHash, pGroup))) { handleGroupFetchDone(pGroup); } } else { int32_t uidNum = 0; SGcVgroupCtx* pVgCtx = NULL; int32_t iter = 0; - while (pVgCtx = tSimpleHashIterate(pCtx->pVgTbHash, pVgCtx, &iter)) { + while (NULL != (pVgCtx = tSimpleHashIterate(pCtx->pVgTbHash, pVgCtx, &iter))) { uidNum = taosArrayGetSize(pVgCtx->pTbList); for (int32_t i = 0; i < uidNum; ++i) { SGcNewGroupInfo* pNew = taosArrayGet(pVgCtx->pTbList, i); diff --git a/source/libs/executor/src/hashjoinoperator.c b/source/libs/executor/src/hashjoinoperator.c index c26ad2dddc787a65b360c0a18283dcce392381ba..d57f9f9f90fe24e737245fc1acb9fd49c570ec18 100755 --- a/source/libs/executor/src/hashjoinoperator.c +++ b/source/libs/executor/src/hashjoinoperator.c @@ -42,7 +42,7 @@ static int64_t getRowsNumOfKeyHash(SSHashObj* pHash) { int32_t iter = 0; int64_t rowsNum = 0; - while (pGroup = tSimpleHashIterate(pHash, pGroup, &iter)) { + while (NULL != (pGroup = tSimpleHashIterate(pHash, pGroup, &iter))) { int32_t* pKey = tSimpleHashGetKey(pGroup, NULL); int64_t rows = getSingleKeyRowsNum(pGroup->rows); qTrace("build_key:%d, rows:%" PRId64, *pKey, rows); diff --git a/source/libs/planner/src/planOptimizer.c b/source/libs/planner/src/planOptimizer.c index 285b60b8521b7878a1c248fa76a4ad2bbb957de0..83c82cb07aa8d47b17c651e1fcec688ba3d2b566 100644 --- a/source/libs/planner/src/planOptimizer.c +++ b/source/libs/planner/src/planOptimizer.c @@ -941,7 +941,7 @@ static int32_t pushDownCondOptAppendFilterCol(SOptimizeContext* pCxt, SJoinLogic } } if (!found) { - nodesListStrictAppend(pJoin->node.pTargets, pNode); + nodesListStrictAppend(pJoin->node.pTargets, nodesCloneNode(pNode)); } } }