From bf33be420773896e6b2f48c17f9adef5499b11b6 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Tue, 20 Sep 2022 10:41:35 +0800 Subject: [PATCH] refactor(query):add some logs. --- source/libs/executor/inc/executorimpl.h | 1 + source/libs/executor/src/executorimpl.c | 23 ++++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/source/libs/executor/inc/executorimpl.h b/source/libs/executor/inc/executorimpl.h index 18f6d3ad2c..c7541583cd 100644 --- a/source/libs/executor/inc/executorimpl.h +++ b/source/libs/executor/inc/executorimpl.h @@ -208,6 +208,7 @@ typedef struct SExprSupp { int32_t numOfExprs; // the number of scalar expression in group operator SqlFunctionCtx* pCtx; int32_t* rowEntryInfoOffset; // offset value for each row result cell info + SFilterInfo* pFilterInfo; } SExprSupp; typedef struct SOperatorInfo { diff --git a/source/libs/executor/src/executorimpl.c b/source/libs/executor/src/executorimpl.c index e0d417093c..9e115590e8 100644 --- a/source/libs/executor/src/executorimpl.c +++ b/source/libs/executor/src/executorimpl.c @@ -1124,22 +1124,39 @@ void doFilter(const SNode* pFilterNode, SSDataBlock* pBlock, const SArray* pColM SFilterInfo* filter = NULL; + int64_t st = taosGetTimestampUs(); + + pError("start filter") // todo move to the initialization function int32_t code = filterInitFromNode((SNode*)pFilterNode, &filter, 0); + int64_t st1 = taosGetTimestampUs(); + pError("init completed, el: %d us", st1-st); + size_t numOfCols = taosArrayGetSize(pBlock->pDataBlock); SFilterColumnParam param1 = {.numOfCols = numOfCols, .pDataBlock = pBlock->pDataBlock}; code = filterSetDataFromSlotId(filter, ¶m1); - int8_t* rowRes = NULL; + int64_t st2 = taosGetTimestampUs(); + pError("set data from slotid, el: %d us", st2-st1); + + int8_t* rowRes = NULL; // todo the keep seems never to be True?? bool keep = filterExecute(filter, pBlock, &rowRes, NULL, param1.numOfCols); filterFreeInfo(filter); - extractQualifiedTupleByFilterResult(pBlock, rowRes, keep); + int64_t st3 = taosGetTimestampUs(); + pError("do filter, el: %d us", st3-st2); - if (pColMatchInfo != NULL) { + extractQualifiedTupleByFilterResult(pBlock, rowRes, keep); + + int64_t st4 = taosGetTimestampUs(); + + pError("extract result filter, el: %d us", st4-st3); + + + if (pColMatchInfo != NULL) { for (int32_t i = 0; i < taosArrayGetSize(pColMatchInfo); ++i) { SColMatchInfo* pInfo = taosArrayGet(pColMatchInfo, i); if (pInfo->colId == PRIMARYKEY_TIMESTAMP_COL_ID) {