From 617d4bfb95dd042c32821969d0a059144c72f74b Mon Sep 17 00:00:00 2001 From: shenglian zhou Date: Fri, 15 Dec 2023 10:40:54 +0800 Subject: [PATCH] fix: add experimental flag --- include/common/tglobal.h | 1 + source/common/src/tglobal.c | 11 +++++++++++ source/libs/executor/src/scanoperator.c | 7 +++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/include/common/tglobal.h b/include/common/tglobal.h index 91f8bbc7f3..2ab1af0a00 100644 --- a/include/common/tglobal.h +++ b/include/common/tglobal.h @@ -214,6 +214,7 @@ extern int32_t tsMaxStreamBackendCache; extern int32_t tsPQSortMemThreshold; extern int32_t tsResolveFQDNRetryTime; +extern bool tsExperimental; // #define NEEDTO_COMPRESSS_MSG(size) (tsCompressMsgSize != -1 && (size) > tsCompressMsgSize) int32_t taosCreateLog(const char *logname, int32_t logFileNum, const char *cfgDir, const char **envCmd, diff --git a/source/common/src/tglobal.c b/source/common/src/tglobal.c index 798916d3b5..5df9a08f54 100644 --- a/source/common/src/tglobal.c +++ b/source/common/src/tglobal.c @@ -281,6 +281,8 @@ int32_t tsS3BlockCacheSize = 16; // number of blocks int32_t tsS3PageCacheSize = 4096; // number of pages int32_t tsS3UploadDelaySec = 60 * 60 * 24; +bool tsExperimental = true; + #ifndef _STORAGE int32_t taosSetTfsCfg(SConfig *pCfg) { SConfigItem *pItem = cfgGetItem(pCfg, "dataDir"); @@ -528,6 +530,7 @@ static int32_t taosAddClientCfg(SConfig *pCfg) { } if (cfgAddInt32(pCfg, "numOfTaskQueueThreads", tsNumOfTaskQueueThreads, 4, 1024, CFG_SCOPE_CLIENT, CFG_DYN_NONE) != 0) return -1; + if (cfgAddBool(pCfg, "experimental", tsExperimental, CFG_SCOPE_BOTH, CFG_DYN_BOTH) != 0) return -1; return 0; } @@ -792,6 +795,8 @@ static int32_t taosAddServerCfg(SConfig *pCfg) { return -1; if (cfgAddBool(pCfg, "enableWhiteList", tsEnableWhiteList, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != 0) return -1; + if (cfgAddBool(pCfg, "experimental", tsExperimental, CFG_SCOPE_BOTH, CFG_DYN_BOTH) != 0) return -1; + GRANT_CFG_ADD; return 0; } @@ -1077,6 +1082,8 @@ static int32_t taosSetClientCfg(SConfig *pCfg) { tsTimeToGetAvailableConn = cfgGetItem(pCfg, "timeToGetAvailableConn")->i32; tsKeepAliveIdle = cfgGetItem(pCfg, "keepAliveIdle")->i32; + + tsExperimental = cfgGetItem(pCfg, "experimental")->bval; return 0; } @@ -1210,6 +1217,8 @@ static int32_t taosSetServerCfg(SConfig *pCfg) { tsS3PageCacheSize = cfgGetItem(pCfg, "s3PageCacheSize")->i32; tsS3UploadDelaySec = cfgGetItem(pCfg, "s3UploadDelaySec")->i32; + tsExperimental = cfgGetItem(pCfg, "experimental")->bval; + GRANT_CFG_GET; return 0; } @@ -1479,6 +1488,7 @@ static int32_t taosCfgDynamicOptionsForServer(SConfig *pCfg, char *name) { {"s3PageCacheSize", &tsS3PageCacheSize}, {"s3UploadDelaySec", &tsS3UploadDelaySec}, {"supportVnodes", &tsNumOfSupportVnodes}, + {"experimental", &tsExperimental} }; if (taosCfgSetOption(debugOptions, tListLen(debugOptions), pItem, true) != 0) { @@ -1702,6 +1712,7 @@ static int32_t taosCfgDynamicOptionsForClient(SConfig *pCfg, char *name) { {"shellActivityTimer", &tsShellActivityTimer}, {"slowLogThreshold", &tsSlowLogThreshold}, {"useAdapter", &tsUseAdapter}, + {"experimental", &tsExperimental} }; if (taosCfgSetOption(debugOptions, tListLen(debugOptions), pItem, true) != 0) { diff --git a/source/libs/executor/src/scanoperator.c b/source/libs/executor/src/scanoperator.c index ea73f60468..cb58022569 100644 --- a/source/libs/executor/src/scanoperator.c +++ b/source/libs/executor/src/scanoperator.c @@ -3675,8 +3675,11 @@ SOperatorInfo* createTableMergeScanOperatorInfo(STableScanPhysiNode* pTableScanN int32_t rowSize = pInfo->pResBlock->info.rowSize; uint32_t nCols = taosArrayGetSize(pInfo->pResBlock->pDataBlock); pInfo->bufPageSize = getProperSortPageSize(rowSize, nCols); - - pInfo->filesetDelimited = pTableScanNode->filesetDelimited; + if (!tsExperimental) { + pInfo->filesetDelimited = false; + } else { + pInfo->filesetDelimited = pTableScanNode->filesetDelimited; + } setOperatorInfo(pOperator, "TableMergeScanOperator", QUERY_NODE_PHYSICAL_PLAN_TABLE_MERGE_SCAN, false, OP_NOT_OPENED, pInfo, pTaskInfo); pOperator->exprSupp.numOfExprs = numOfCols;