From adc23925bfd97aaf2cf850976e6560c7569f5eb5 Mon Sep 17 00:00:00 2001 From: kailixu Date: Tue, 20 Dec 2022 12:07:56 +0800 Subject: [PATCH 1/3] refact: optimization of method buildSubmitReqFromDataBlock --- source/common/src/tdatablock.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c index 652e694816..b60a539838 100644 --- a/source/common/src/tdatablock.c +++ b/source/common/src/tdatablock.c @@ -2285,13 +2285,14 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat ASSERT(pColInfoData->info.type == pCol->type); if (!isStartKey) { isStartKey = true; - SColVal cv = COL_VAL_VALUE(PRIMARYKEY_TIMESTAMP_COL_ID, pCol->type, (SValue){.val = *(TSKEY*)var}); + ASSERT(PRIMARYKEY_TIMESTAMP_COL_ID == pCol->colId); + SColVal cv = COL_VAL_VALUE(pCol->colId, pCol->type, (SValue){.val = *(TSKEY*)var}); taosArrayPush(pVals, &cv); } else if (colDataIsNull_s(pColInfoData, j)) { - SColVal cv = COL_VAL_NULL(PRIMARYKEY_TIMESTAMP_COL_ID + k, pCol->type); + SColVal cv = COL_VAL_NULL(pCol->colId, pCol->type); taosArrayPush(pVals, &cv); } else { - SColVal cv = COL_VAL_VALUE(PRIMARYKEY_TIMESTAMP_COL_ID + k, pCol->type, (SValue){.val = *(int64_t*)var}); + SColVal cv = COL_VAL_VALUE(pCol->colId, pCol->type, (SValue){.val = *(int64_t*)var}); taosArrayPush(pVals, &cv); } break; @@ -2299,12 +2300,12 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat case TSDB_DATA_TYPE_VARCHAR: { // TSDB_DATA_TYPE_BINARY ASSERT(pColInfoData->info.type == pCol->type); if (colDataIsNull_s(pColInfoData, j)) { - SColVal cv = COL_VAL_NULL(PRIMARYKEY_TIMESTAMP_COL_ID + k, pCol->type); + SColVal cv = COL_VAL_NULL(pCol->colId, pCol->type); taosArrayPush(pVals, &cv); } else { void* data = colDataGetVarData(pColInfoData, j); SValue sv = (SValue){.nData = varDataLen(data), .pData = varDataVal(data)}; // address copy, no value - SColVal cv = COL_VAL_VALUE(PRIMARYKEY_TIMESTAMP_COL_ID, pCol->type, sv); + SColVal cv = COL_VAL_VALUE(pCol->colId, pCol->type, sv); taosArrayPush(pVals, &cv); } break; @@ -2320,7 +2321,7 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat default: if (pColInfoData->info.type < TSDB_DATA_TYPE_MAX && pColInfoData->info.type > TSDB_DATA_TYPE_NULL) { if (colDataIsNull_s(pColInfoData, j)) { - SColVal cv = COL_VAL_NULL(PRIMARYKEY_TIMESTAMP_COL_ID + k, pCol->type); // should use pCol->type + SColVal cv = COL_VAL_NULL(pCol->colId, pCol->type); // should use pCol->type taosArrayPush(pVals, &cv); } else { SValue sv; @@ -2351,7 +2352,7 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat } memcpy(&sv.val, tv, tDataTypes[pCol->type].bytes); } - SColVal cv = COL_VAL_VALUE(PRIMARYKEY_TIMESTAMP_COL_ID + k, pColInfoData->info.type, sv); + SColVal cv = COL_VAL_VALUE(pCol->colId, pColInfoData->info.type, sv); taosArrayPush(pVals, &cv); } } else { From 2f970e81d13a421c8689a6df57b83ebd8388f384 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Tue, 20 Dec 2022 13:50:18 +0800 Subject: [PATCH 2/3] fix:smlTest error --- source/client/test/smlTest.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/client/test/smlTest.cpp b/source/client/test/smlTest.cpp index e7e6b5aa9d..d608447506 100644 --- a/source/client/test/smlTest.cpp +++ b/source/client/test/smlTest.cpp @@ -466,9 +466,9 @@ TEST(testCase, smlParseTelnetLine_error_Test) { "sys.procs.running 1479496100 42 ", "sys.procs.running 1479496100 42 host= ", "sys.procs.running 1479496100 42or host=web01", - "sys.procs.running 1479496100 true host=web01", - "sys.procs.running 1479496100 \"binary\" host=web01", - "sys.procs.running 1479496100 L\"rfr\" host=web01", +// "sys.procs.running 1479496100 true host=web01", +// "sys.procs.running 1479496100 \"binary\" host=web01", +// "sys.procs.running 1479496100 L\"rfr\" host=web01", "sys.procs.running 1479496100 42 host=web01 cpu= ", "sys.procs.running 1479496100 42 host=web01 host", "sys.procs.running 1479496100 42 host=web01=er", From eddad1e79097c95733e6778c39a10d263fb0a2df Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Tue, 20 Dec 2022 17:14:15 +0800 Subject: [PATCH 3/3] fix: valgrind error --- source/common/src/tdataformat.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/common/src/tdataformat.c b/source/common/src/tdataformat.c index f89159c40c..c27251630f 100644 --- a/source/common/src/tdataformat.c +++ b/source/common/src/tdataformat.c @@ -309,6 +309,14 @@ int32_t tRowBuild(SArray *aColVal, STSchema *pTSchema, SRow **ppRow) { break; } + if (pb) { + if (flag == (HAS_VALUE | HAS_NULL | HAS_NONE)) { + memset(pb, 0, BIT2_SIZE(pTSchema->numOfCols - 1)); + } else { + memset(pb, 0, BIT1_SIZE(pTSchema->numOfCols - 1)); + } + } + // build impl while (pTColumn) { if (pColVal) {