diff --git a/source/libs/executor/inc/executorimpl.h b/source/libs/executor/inc/executorimpl.h index 50b44d6524e192d8ec3dcb72c7ea40bfb219c140..d29c73601951cf4921b8de49117aacfe4f97b1e9 100644 --- a/source/libs/executor/inc/executorimpl.h +++ b/source/libs/executor/inc/executorimpl.h @@ -621,10 +621,8 @@ typedef struct SIndefOperatorInfo { SAggSupporter aggSup; SArray* pPseudoColInfo; SExprSupp scalarSup; - SNode* pCondition; uint64_t groupId; - - SSDataBlock* pNextGroupRes; + SSDataBlock* pNextGroupRes; } SIndefOperatorInfo; typedef struct SFillOperatorInfo { @@ -649,7 +647,6 @@ typedef struct SGroupbyOperatorInfo { SAggSupporter aggSup; SArray* pGroupCols; // group by columns, SArray SArray* pGroupColVals; // current group column values, SArray - SNode* pCondition; bool isInit; // denote if current val is initialized or not char* keyBuf; // group by keys for hash int32_t groupKeyLen; // total group by column width diff --git a/source/libs/executor/src/groupoperator.c b/source/libs/executor/src/groupoperator.c index 88f9ad382d45e2b7b0a782b750fc4a3fa34825cb..b68c606ec6a70657c07c82b6e81b4772d9aa8d8d 100644 --- a/source/libs/executor/src/groupoperator.c +++ b/source/libs/executor/src/groupoperator.c @@ -13,6 +13,7 @@ * along with this program. If not, see . */ +#include "filter.h" #include "function.h" #include "os.h" #include "tname.h" @@ -414,8 +415,6 @@ SOperatorInfo* createGroupOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode* } pInfo->pGroupCols = extractColumnInfo(pAggNode->pGroupKeys); - pInfo->pCondition = pAggNode->node.pConditions; - int32_t code = initExprSupp(&pInfo->scalarSup, pScalarExprInfo, numOfScalarExpr); if (code != TSDB_CODE_SUCCESS) { goto _error; @@ -434,6 +433,11 @@ SOperatorInfo* createGroupOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode* goto _error; } + code = filterInitFromNode((SNode*)pAggNode->node.pConditions, &pOperator->exprSupp.pFilterInfo, 0); + if (code != TSDB_CODE_SUCCESS) { + goto _error; + } + initResultRowInfo(&pInfo->binfo.resultRowInfo); pOperator->name = "GroupbyAggOperator"; diff --git a/source/libs/executor/src/joinoperator.c b/source/libs/executor/src/joinoperator.c index 11c4ee5141372015ead4741a009de91a7a81307d..45d76dce74e6fbec4ca9d9cde5722c63d211adb6 100644 --- a/source/libs/executor/src/joinoperator.c +++ b/source/libs/executor/src/joinoperator.c @@ -13,7 +13,7 @@ * along with this program. If not, see . */ -#include +#include "filter.h" #include "executorimpl.h" #include "function.h" #include "os.h" diff --git a/source/libs/executor/src/projectoperator.c b/source/libs/executor/src/projectoperator.c index c5fbee973d283fe084e7ea41d1a9c859de7f65b3..fa469eb77bb4513cd7c8a61d14ed5bbb98b79e96 100644 --- a/source/libs/executor/src/projectoperator.c +++ b/source/libs/executor/src/projectoperator.c @@ -13,7 +13,7 @@ * along with this program. If not, see . */ -#include +#include "filter.h" #include "executorimpl.h" #include "functionMgt.h" diff --git a/source/libs/executor/src/sortoperator.c b/source/libs/executor/src/sortoperator.c index 29264328cec3e6ac7ca8a697984e658d05693320..a50d1c0ea41490c78fc621ae39e7e7c67d5c6efe 100644 --- a/source/libs/executor/src/sortoperator.c +++ b/source/libs/executor/src/sortoperator.c @@ -13,7 +13,7 @@ * along with this program. If not, see . */ -#include +#include "filter.h" #include "executorimpl.h" #include "tdatablock.h" diff --git a/source/libs/executor/src/tfill.c b/source/libs/executor/src/tfill.c index 0c106a0d2a6a00c44e8df9ba226953934abe42b6..ebc3a962d3064e5735f2a193caba80dac00b6952 100644 --- a/source/libs/executor/src/tfill.c +++ b/source/libs/executor/src/tfill.c @@ -13,7 +13,7 @@ * along with this program. If not, see . */ -#include +#include "filter.h" #include "os.h" #include "query.h" #include "taosdef.h" diff --git a/source/libs/executor/src/timewindowoperator.c b/source/libs/executor/src/timewindowoperator.c index 1eb5890ecef01946cd62a0764ac2cf7460ca9a57..0bcecf32e4c9226d6c0b7c88158be5d7254db18f 100644 --- a/source/libs/executor/src/timewindowoperator.c +++ b/source/libs/executor/src/timewindowoperator.c @@ -12,7 +12,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -#include +#include "filter.h" #include "executorimpl.h" #include "function.h" #include "functionMgt.h"