diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index 3bd8438062..e1e5fc8f42 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -374,7 +374,7 @@ #define TK_NO_BATCH_SCAN 607 #define TK_SORT_FOR_GROUP 608 #define TK_PARTITION_FIRST 609 -#define TK_SEQ_BLOCKS_SORT 610 +#define TK_PARA_TABLES_SORT 610 #define TK_NK_NIL 65535 diff --git a/include/libs/nodes/plannodes.h b/include/libs/nodes/plannodes.h index 38afccb91f..0eabb0f426 100644 --- a/include/libs/nodes/plannodes.h +++ b/include/libs/nodes/plannodes.h @@ -121,7 +121,7 @@ typedef struct SScanLogicNode { bool filesetDelimited; // returned blocks delimited by fileset bool isCountByTag; // true if selectstmt hasCountFunc & part by tag/tbname SArray* pFuncTypes; // for last, last_row - bool seqBlocksSort; // for table merge scan + bool paraTablesSort; // for table merge scan } SScanLogicNode; typedef struct SJoinLogicNode { @@ -440,7 +440,7 @@ typedef struct STableScanPhysiNode { int8_t igCheckUpdate; bool filesetDelimited; bool needCountEmptyTable; - bool seqBlocksSort; + bool paraTablesSort; } STableScanPhysiNode; typedef STableScanPhysiNode STableSeqScanPhysiNode; diff --git a/include/libs/nodes/querynodes.h b/include/libs/nodes/querynodes.h index 45619a8501..d4a3b10cf2 100644 --- a/include/libs/nodes/querynodes.h +++ b/include/libs/nodes/querynodes.h @@ -128,7 +128,7 @@ typedef enum EHintOption { HINT_BATCH_SCAN, HINT_SORT_FOR_GROUP, HINT_PARTITION_FIRST, - HINT_SEQ_BLOCKS_SORT + HINT_PARA_TABLES_SORT } EHintOption; typedef struct SHintNode { diff --git a/source/libs/executor/src/scanoperator.c b/source/libs/executor/src/scanoperator.c index 8c7c93e4d5..55cad4236e 100644 --- a/source/libs/executor/src/scanoperator.c +++ b/source/libs/executor/src/scanoperator.c @@ -4322,7 +4322,7 @@ SOperatorInfo* createTableMergeScanOperatorInfo(STableScanPhysiNode* pTableScanN pOperator->fpSet = createOperatorFpSet(optrDummyOpenFn, - pTableScanNode->seqBlocksSort ? doTableMergeScanSeqBlocksInMem : doTableMergeScan, + pTableScanNode->paraTablesSort ? doTableMergeScanSeqBlocksInMem : doTableMergeScan, NULL, destroyTableMergeScanOperatorInfo, optrDefaultBufFn, diff --git a/source/libs/nodes/src/nodesCloneFuncs.c b/source/libs/nodes/src/nodesCloneFuncs.c index e79fd1e1e3..65330b22b9 100644 --- a/source/libs/nodes/src/nodesCloneFuncs.c +++ b/source/libs/nodes/src/nodesCloneFuncs.c @@ -449,7 +449,7 @@ static int32_t logicScanCopy(const SScanLogicNode* pSrc, SScanLogicNode* pDst) { COPY_SCALAR_FIELD(filesetDelimited); COPY_SCALAR_FIELD(isCountByTag); CLONE_OBJECT_FIELD(pFuncTypes, functParamClone); - COPY_SCALAR_FIELD(seqBlocksSort); + COPY_SCALAR_FIELD(paraTablesSort); return TSDB_CODE_SUCCESS; } @@ -680,7 +680,7 @@ static int32_t physiTableScanCopy(const STableScanPhysiNode* pSrc, STableScanPhy COPY_SCALAR_FIELD(igExpired); COPY_SCALAR_FIELD(filesetDelimited); COPY_SCALAR_FIELD(needCountEmptyTable); - COPY_SCALAR_FIELD(seqBlocksSort); + COPY_SCALAR_FIELD(paraTablesSort); return TSDB_CODE_SUCCESS; } diff --git a/source/libs/nodes/src/nodesCodeFuncs.c b/source/libs/nodes/src/nodesCodeFuncs.c index bf73bc5f50..31f9129c75 100644 --- a/source/libs/nodes/src/nodesCodeFuncs.c +++ b/source/libs/nodes/src/nodesCodeFuncs.c @@ -682,7 +682,7 @@ static const char* jkScanLogicPlanTagCond = "TagCond"; static const char* jkScanLogicPlanGroupTags = "GroupTags"; static const char* jkScanLogicPlanOnlyMetaCtbIdx = "OnlyMetaCtbIdx"; static const char* jkScanLogicPlanFilesetDelimited = "FilesetDelimited"; -static const char* jkScanLogicPlanSeqBlocksSort = "SeqBlocksSort"; +static const char* jkScanLogicPlanparaTablesSort = "paraTablesSort"; static int32_t logicScanNodeToJson(const void* pObj, SJson* pJson) { const SScanLogicNode* pNode = (const SScanLogicNode*)pObj; @@ -731,7 +731,7 @@ static int32_t logicScanNodeToJson(const void* pObj, SJson* pJson) { code = tjsonAddBoolToObject(pJson, jkScanLogicPlanFilesetDelimited, pNode->filesetDelimited); } if (TSDB_CODE_SUCCESS == code) { - code = tjsonAddBoolToObject(pJson, jkScanLogicPlanFilesetDelimited, pNode->seqBlocksSort); + code = tjsonAddBoolToObject(pJson, jkScanLogicPlanFilesetDelimited, pNode->paraTablesSort); } return code; } @@ -784,7 +784,7 @@ static int32_t jsonToLogicScanNode(const SJson* pJson, void* pObj) { code = tjsonGetBoolValue(pJson, jkScanLogicPlanFilesetDelimited, &pNode->filesetDelimited); } if (TSDB_CODE_SUCCESS == code) { - code = tjsonGetBoolValue(pJson, jkScanLogicPlanFilesetDelimited, &pNode->seqBlocksSort); + code = tjsonGetBoolValue(pJson, jkScanLogicPlanFilesetDelimited, &pNode->paraTablesSort); } return code; } @@ -1879,7 +1879,7 @@ static const char* jkTableScanPhysiPlanAssignBlockUid = "AssignBlockUid"; static const char* jkTableScanPhysiPlanIgnoreUpdate = "IgnoreUpdate"; static const char* jkTableScanPhysiPlanFilesetDelimited = "FilesetDelimited"; static const char* jkTableScanPhysiPlanNeedCountEmptyTable = "NeedCountEmptyTable"; -static const char* jkTableScanPhysiPlanSeqBlocksSort = "SeqBlocksSort"; +static const char* jkTableScanPhysiPlanparaTablesSort = "paraTablesSort"; static int32_t physiTableScanNodeToJson(const void* pObj, SJson* pJson) { const STableScanPhysiNode* pNode = (const STableScanPhysiNode*)pObj; @@ -1955,7 +1955,7 @@ static int32_t physiTableScanNodeToJson(const void* pObj, SJson* pJson) { code = tjsonAddBoolToObject(pJson, jkTableScanPhysiPlanNeedCountEmptyTable, pNode->needCountEmptyTable); } if (TSDB_CODE_SUCCESS == code) { - code = tjsonAddBoolToObject(pJson, jkTableScanPhysiPlanSeqBlocksSort, pNode->seqBlocksSort); + code = tjsonAddBoolToObject(pJson, jkTableScanPhysiPlanparaTablesSort, pNode->paraTablesSort); } return code; } @@ -2034,7 +2034,7 @@ static int32_t jsonToPhysiTableScanNode(const SJson* pJson, void* pObj) { code = tjsonGetBoolValue(pJson, jkTableScanPhysiPlanNeedCountEmptyTable, &pNode->needCountEmptyTable); } if (TSDB_CODE_SUCCESS == code) { - code = tjsonGetBoolValue(pJson, jkTableScanPhysiPlanSeqBlocksSort, &pNode->seqBlocksSort); + code = tjsonGetBoolValue(pJson, jkTableScanPhysiPlanparaTablesSort, &pNode->paraTablesSort); } return code; } diff --git a/source/libs/nodes/src/nodesMsgFuncs.c b/source/libs/nodes/src/nodesMsgFuncs.c index 963e2af67b..86ebac2cbc 100644 --- a/source/libs/nodes/src/nodesMsgFuncs.c +++ b/source/libs/nodes/src/nodesMsgFuncs.c @@ -2186,7 +2186,7 @@ static int32_t physiTableScanNodeInlineToMsg(const void* pObj, STlvEncoder* pEnc code = tlvEncodeValueBool(pEncoder, pNode->needCountEmptyTable); } if (TSDB_CODE_SUCCESS == code) { - code = tlvEncodeValueBool(pEncoder, pNode->seqBlocksSort); + code = tlvEncodeValueBool(pEncoder, pNode->paraTablesSort); } return code; } @@ -2273,7 +2273,7 @@ static int32_t msgToPhysiTableScanNodeInline(STlvDecoder* pDecoder, void* pObj) code = tlvDecodeValueBool(pDecoder, &pNode->needCountEmptyTable); } if (TSDB_CODE_SUCCESS == code) { - code = tlvDecodeValueBool(pDecoder, &pNode->seqBlocksSort); + code = tlvDecodeValueBool(pDecoder, &pNode->paraTablesSort); } return code; } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index ade937f552..be8c7bcd89 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -401,8 +401,8 @@ bool addHintNodeToList(SAstCreateContext* pCxt, SNodeList** ppHintList, EHintOpt case HINT_PARTITION_FIRST: if (paramNum > 0 || hasHint(*ppHintList, HINT_SORT_FOR_GROUP)) return true; break; - case HINT_SEQ_BLOCKS_SORT: - if (paramNum > 0 || hasHint(*ppHintList, HINT_SEQ_BLOCKS_SORT)) return true; + case HINT_PARA_TABLES_SORT: + if (paramNum > 0 || hasHint(*ppHintList, HINT_PARA_TABLES_SORT)) return true; break; default: return true; @@ -482,13 +482,13 @@ SNodeList* createHintNodeList(SAstCreateContext* pCxt, const SToken* pLiteral) { } opt = HINT_PARTITION_FIRST; break; - case TK_SEQ_BLOCKS_SORT: + case TK_PARA_TABLES_SORT: lastComma = false; if (0 != opt || inParamList) { quit = true; break; } - opt = HINT_SEQ_BLOCKS_SORT; + opt = HINT_PARA_TABLES_SORT; break; case TK_NK_LP: lastComma = false; diff --git a/source/libs/parser/src/parTokenizer.c b/source/libs/parser/src/parTokenizer.c index cebf82c5f3..94ba6af205 100644 --- a/source/libs/parser/src/parTokenizer.c +++ b/source/libs/parser/src/parTokenizer.c @@ -169,6 +169,7 @@ static SKeyword keywordTable[] = { {"OUTPUTTYPE", TK_OUTPUTTYPE}, {"PAGES", TK_PAGES}, {"PAGESIZE", TK_PAGESIZE}, + {"PARA_TABLES_SORT", TK_PARA_TABLES_SORT}, {"PARTITION", TK_PARTITION}, {"PARTITION_FIRST", TK_PARTITION_FIRST}, {"PASS", TK_PASS}, @@ -199,7 +200,6 @@ static SKeyword keywordTable[] = { {"SCHEMALESS", TK_SCHEMALESS}, {"SCORES", TK_SCORES}, {"SELECT", TK_SELECT}, - {"SEQ_BLOCKS_SORT", TK_SEQ_BLOCKS_SORT}, {"SERVER_STATUS", TK_SERVER_STATUS}, {"SERVER_VERSION", TK_SERVER_VERSION}, {"SESSION", TK_SESSION}, diff --git a/source/libs/planner/inc/planInt.h b/source/libs/planner/inc/planInt.h index 34a8a4d70f..fcccdcf23e 100644 --- a/source/libs/planner/inc/planInt.h +++ b/source/libs/planner/inc/planInt.h @@ -47,7 +47,7 @@ int32_t validateQueryPlan(SPlanContext* pCxt, SQueryPlan* pPlan); bool getBatchScanOptionFromHint(SNodeList* pList); bool getSortForGroupOptHint(SNodeList* pList); -bool getSeqBlocksSortOptHint(SNodeList* pList); +bool getparaTablesSortOptHint(SNodeList* pList); bool getOptHint(SNodeList* pList, EHintOption hint); SLogicNode* getLogicNodeRootNode(SLogicNode* pCurr); int32_t collectTableAliasFromNodes(SNode* pNode, SSHashObj** ppRes); diff --git a/source/libs/planner/src/planLogicCreater.c b/source/libs/planner/src/planLogicCreater.c index ed7b266198..546206ad78 100644 --- a/source/libs/planner/src/planLogicCreater.c +++ b/source/libs/planner/src/planLogicCreater.c @@ -501,7 +501,7 @@ static int32_t createScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect } else { nodesDestroyNode((SNode*)pScan); } - pScan->seqBlocksSort = getSeqBlocksSortOptHint(pSelect->pHint); + pScan->paraTablesSort = getparaTablesSortOptHint(pSelect->pHint); pCxt->hasScan = true; return code; diff --git a/source/libs/planner/src/planPhysiCreater.c b/source/libs/planner/src/planPhysiCreater.c index c560a29234..5b7f3c7b30 100644 --- a/source/libs/planner/src/planPhysiCreater.c +++ b/source/libs/planner/src/planPhysiCreater.c @@ -651,7 +651,7 @@ static int32_t createTableScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan* pSubp pTableScan->assignBlockUid = pCxt->pPlanCxt->rSmaQuery ? true : false; pTableScan->filesetDelimited = pScanLogicNode->filesetDelimited; pTableScan->needCountEmptyTable = pScanLogicNode->isCountByTag; - pTableScan->seqBlocksSort = pScanLogicNode->seqBlocksSort; + pTableScan->paraTablesSort = pScanLogicNode->paraTablesSort; int32_t code = createScanPhysiNodeFinalize(pCxt, pSubplan, pScanLogicNode, (SScanPhysiNode*)pTableScan, pPhyNode); if (TSDB_CODE_SUCCESS == code) { diff --git a/source/libs/planner/src/planUtil.c b/source/libs/planner/src/planUtil.c index 266eefc930..7ccc1432e1 100644 --- a/source/libs/planner/src/planUtil.c +++ b/source/libs/planner/src/planUtil.c @@ -455,12 +455,12 @@ bool getOptHint(SNodeList* pList, EHintOption hint) { return false; } -bool getSeqBlocksSortOptHint(SNodeList* pList) { +bool getparaTablesSortOptHint(SNodeList* pList) { if (!pList) return false; SNode* pNode; FOREACH(pNode, pList) { SHintNode* pHint = (SHintNode*)pNode; - if (pHint->option == HINT_SEQ_BLOCKS_SORT) { + if (pHint->option == HINT_PARA_TABLES_SORT) { return true; } }