diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index fc57c1f0fd7d60e8aee8c9f012090cdea8bcf647..6a89a2f823ad3ff57807561d7ead4b919851b000 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -5710,6 +5710,11 @@ static SSDataBlock* doProjectOperation(void* param, bool* newgroup) { } } + if (pOperator->status == OP_EXEC_DONE) { + *newgroup = false; + return NULL; + } + while(1) { bool prevVal = *newgroup; @@ -5722,7 +5727,7 @@ static SSDataBlock* doProjectOperation(void* param, bool* newgroup) { //assert(*newgroup == false); *newgroup = prevVal; - setQueryStatus(pRuntimeEnv, QUERY_COMPLETED); + doSetOperatorCompleted(pOperator); break; }