diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index 6bd5e0337708fc04e2b627646fb035e74521deeb..e98c7830f35499b8bfffd45f28faff528e342af9 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -1265,8 +1265,7 @@ static void hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo* pResul for (int32_t j = prevIndex; j < curIndex; ++j) { // previous time window may be all closed already. SResultRow* pRes = pResultRowInfo->pResult[j]; if (pRes->closed) { - assert(resultRowInterpolated(pRes, RESULT_ROW_START_INTERP) && - resultRowInterpolated(pRes, RESULT_ROW_END_INTERP)); + assert(resultRowInterpolated(pRes, RESULT_ROW_START_INTERP) && resultRowInterpolated(pRes, RESULT_ROW_END_INTERP)); continue; } @@ -5327,9 +5326,16 @@ static SSDataBlock* doIntervalAgg(void* param, bool* newgroup) { SOperatorInfo* upstream = pOperator->upstream[0]; + int64_t ss = taosGetTimestampMs(); + printf("=-=============%ld\n", ss); while(1) { publishOperatorProfEvent(upstream, QUERY_PROF_BEFORE_OPERATOR_EXEC); + int64_t s = taosGetTimestampMs(); + printf("start: %ld\n", s); SSDataBlock* pBlock = upstream->exec(upstream, newgroup); + + int64_t end = taosGetTimestampMs(); + printf("end: %ld, el:%ld \n", end, end - s); publishOperatorProfEvent(upstream, QUERY_PROF_AFTER_OPERATOR_EXEC); if (pBlock == NULL) { @@ -5338,9 +5344,16 @@ static SSDataBlock* doIntervalAgg(void* param, bool* newgroup) { // the pDataBlock are always the same one, no need to call this again setInputDataBlock(pOperator, pIntervalInfo->pCtx, pBlock, pQueryAttr->order.order); + + int64_t x1 = taosGetTimestampMs(); hashIntervalAgg(pOperator, &pIntervalInfo->resultRowInfo, pBlock, 0); + int64_t x2 = taosGetTimestampMs(); + printf("-------------------------inter:%ld\n", x2-x1); } + int64_t s1 = taosGetTimestampMs(); + printf("=-=============%ld, el:%ld\n", s1, s1-ss); + // restore the value pQueryAttr->order.order = order; pQueryAttr->window = win;