diff --git a/source/libs/planner/src/planPhysiCreater.c b/source/libs/planner/src/planPhysiCreater.c index 60742d3c2e..4077c57f2c 100644 --- a/source/libs/planner/src/planPhysiCreater.c +++ b/source/libs/planner/src/planPhysiCreater.c @@ -669,7 +669,7 @@ static int32_t createIntervalPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChil pInterval->slidingUnit = pWindowLogicNode->slidingUnit; pInterval->pFill = nodesCloneNode(pWindowLogicNode->pFill); - if (NULL == pInterval->pFill) { + if (NULL != pWindowLogicNode->pFill && NULL == pInterval->pFill) { nodesDestroyNode(pInterval); return TSDB_CODE_OUT_OF_MEMORY; } diff --git a/source/libs/planner/src/planner.c b/source/libs/planner/src/planner.c index f2bc81957a..bcea94278e 100644 --- a/source/libs/planner/src/planner.c +++ b/source/libs/planner/src/planner.c @@ -39,6 +39,7 @@ int32_t qCreateQueryPlan(SPlanContext* pCxt, SQueryPlan** pPlan, SArray* pExecNo nodesDestroyNode(pLogicNode); nodesDestroyNode(pLogicSubplan); nodesDestroyNode(pLogicPlan); + terrno = code; return code; }