From ec4eff2908d0fdbcfc2836427d5d9213bec48e7b Mon Sep 17 00:00:00 2001 From: dapan1121 <89396746@qq.com> Date: Tue, 5 Jan 2021 14:25:29 +0800 Subject: [PATCH] add malloc --- src/client/src/TSDBJNIConnector.c | 4 +- src/dnode/src/dnodeSystem.c | 2 + src/kit/shell/src/shellMain.c | 3 ++ src/kit/taosdemo/taosdemo.c | 4 +- src/os/inc/osMemory.h | 2 +- src/os/src/detail/osMemory.c | 9 ++-- src/query/src/qAggMain.c | 2 +- src/query/src/qAst.c | 12 ++--- src/query/src/qExecutor.c | 76 +++++++++++++++---------------- src/query/src/qExtbuffer.c | 16 +++---- src/query/src/qFill.c | 14 +++--- src/query/src/qHistogram.c | 12 ++--- src/query/src/qParserImpl.c | 46 +++++++++---------- src/query/src/qPercentile.c | 6 +-- src/query/src/qResultbuf.c | 10 ++-- src/query/src/qTsbuf.c | 28 ++++++------ src/query/src/qUtil.c | 6 +-- src/query/src/sql.c | 6 +-- 18 files changed, 132 insertions(+), 126 deletions(-) diff --git a/src/client/src/TSDBJNIConnector.c b/src/client/src/TSDBJNIConnector.c index a6191ecad5..a8829499a3 100644 --- a/src/client/src/TSDBJNIConnector.c +++ b/src/client/src/TSDBJNIConnector.c @@ -314,7 +314,7 @@ JNIEXPORT jlong JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_executeQueryImp( } } - TDMFREE(str); + free(str); return (jlong) pSql; } @@ -660,7 +660,7 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_validateCreateTab int code = taos_validate_sql(tscon, str); jniDebug("jobj:%p, conn:%p, code is %d", jobj, tscon, code); - TDMFREE(str); + free(str); return code; } diff --git a/src/dnode/src/dnodeSystem.c b/src/dnode/src/dnodeSystem.c index 36232893b5..e270c324f9 100644 --- a/src/dnode/src/dnodeSystem.c +++ b/src/dnode/src/dnodeSystem.c @@ -25,6 +25,8 @@ static tsem_t exitSem; int32_t main(int32_t argc, char *argv[]) { int dump_config = 0; + tdminit(); + // Set global configuration file for (int32_t i = 1; i < argc; ++i) { if (strcmp(argv[i], "-c") == 0) { diff --git a/src/kit/shell/src/shellMain.c b/src/kit/shell/src/shellMain.c index 041ad71ccb..3e5616d66e 100644 --- a/src/kit/shell/src/shellMain.c +++ b/src/kit/shell/src/shellMain.c @@ -90,6 +90,9 @@ SShellArguments args = { int main(int argc, char* argv[]) { /*setlocale(LC_ALL, "en_US.UTF-8"); */ + + tdminit(); + if (!checkVersion()) { exit(EXIT_FAILURE); } diff --git a/src/kit/taosdemo/taosdemo.c b/src/kit/taosdemo/taosdemo.c index 1d77a6bb63..55368b9159 100644 --- a/src/kit/taosdemo/taosdemo.c +++ b/src/kit/taosdemo/taosdemo.c @@ -611,7 +611,9 @@ int main(int argc, char *argv[]) { char dataString[STRING_LEN]; bool do_aggreFunc = true; int replica = arguments.replica; - + + tdminit(); + if (NULL != arguments.sqlFile) { TAOS* qtaos = taos_connect(ip_addr, user, pass, db_name, port); querySqlFile(qtaos, arguments.sqlFile); diff --git a/src/os/inc/osMemory.h b/src/os/inc/osMemory.h index e328009770..856a06f96d 100644 --- a/src/os/inc/osMemory.h +++ b/src/os/inc/osMemory.h @@ -99,7 +99,7 @@ void tdminit(); #define TDMSIZE(s) ((s+24)%tdm_ps == 0 ? (s+24)+tdm_ps:((s+24)/tdm_ps+2)*tdm_ps) #define TDMALLOC(s) tdmalloc(__FILE__, __LINE__, s,0) -#define TDMCALLOC(s) tdmalloc(__FILE__, __LINE__, s,1) +#define TDMCALLOC(s,n) tdmalloc(__FILE__, __LINE__, (s)*(n),1) #define TDMREALLOC(p,s) tdmrealloc(p,s) #define TDMFREE(p) do { if(p) \ {tdmfree((void *)p); \ diff --git a/src/os/src/detail/osMemory.c b/src/os/src/detail/osMemory.c index 49b5e30be4..4046ce8bfa 100644 --- a/src/os/src/detail/osMemory.c +++ b/src/os/src/detail/osMemory.c @@ -530,14 +530,12 @@ typedef struct{ uint64_t tdmrn; }tdmstat; -tdmstat tdm_stat; +tdmstat tdm_stat= {0}; void tdminit(){ - tdm_ps = sysconf(_SC_PAGE_SIZE); - srand(time(NULL)); - memset(&tdm_stat, 0, sizeof(tdm_stat)); + tdm_ps = sysconf(_SC_PAGE_SIZE); } void *tdmrealloc(void *p, int s){ @@ -564,6 +562,7 @@ void *tdmrealloc(void *p, int s){ void *tdmalloc(char *f, unsigned line, int s,int set){ void *p; + assert(tdm_ps); int tdmn = atomic_load_32(&tdm_num); if(tdmn >= TDM_MAX_NUM || rand()%10!=0){ atomic_add_fetch_64(&tdm_stat.normalmn, 1); @@ -614,7 +613,7 @@ void *tdmalloc(char *f, unsigned line, int s,int set){ } void tdmfree(void *p){ - + assert(tdm_ps); if(p && TDMALLOCED(p)){ atomic_add_fetch_64(&tdm_stat.tdmfn, 1); void * fp = (void *)((0xfffffffffffff000 | tdm_ps) & ((long)p-24)); diff --git a/src/query/src/qAggMain.c b/src/query/src/qAggMain.c index bbf99bf49f..5320a280cb 100644 --- a/src/query/src/qAggMain.c +++ b/src/query/src/qAggMain.c @@ -2030,7 +2030,7 @@ static void copyTopBotRes(SQLFunctionCtx *pCtx, int32_t type) { // set the corresponding tag data for each record // todo check malloc failure - char **pData = calloc(pCtx->tagInfo.numOfTagCols, POINTER_BYTES); + char **pData = TDMCALLOC(pCtx->tagInfo.numOfTagCols, POINTER_BYTES); for (int32_t i = 0; i < pCtx->tagInfo.numOfTagCols; ++i) { pData[i] = pCtx->tagInfo.pTagCtxList[i]->aOutputBuf; } diff --git a/src/query/src/qAst.c b/src/query/src/qAst.c index 746de0fba8..cd1cf2caa1 100644 --- a/src/query/src/qAst.c +++ b/src/query/src/qAst.c @@ -178,14 +178,14 @@ void arithmeticTreeTraverse(tExprNode *pExprs, int32_t numOfRows, char *pOutput, tExprNode *pRight = pExprs->_node.pRight; /* the left output has result from the left child syntax tree */ - char *pLeftOutput = (char*)malloc(sizeof(int64_t) * numOfRows); + char *pLeftOutput = (char*)TDMALLOC(sizeof(int64_t) * numOfRows); if (pLeft->nodeType == TSQL_NODE_EXPR) { arithmeticTreeTraverse(pLeft, numOfRows, pLeftOutput, param, order, getSourceDataBlock); } /* the right output has result from the right child syntax tree */ - char *pRightOutput = malloc(sizeof(int64_t) * numOfRows); - char *pdata = malloc(sizeof(int64_t) * numOfRows); + char *pRightOutput = TDMALLOC(sizeof(int64_t) * numOfRows); + char *pdata = TDMALLOC(sizeof(int64_t) * numOfRows); if (pRight->nodeType == TSQL_NODE_EXPR) { arithmeticTreeTraverse(pRight, numOfRows, pRightOutput, param, order, getSourceDataBlock); @@ -311,7 +311,7 @@ void exprTreeToBinary(SBufferWriter* bw, tExprNode* expr) { // TODO: these three functions should be made global static void* exception_calloc(size_t nmemb, size_t size) { - void* p = calloc(nmemb, size); + void* p = TDMCALLOC(nmemb, size); if (p == NULL) { THROW(TSDB_CODE_QRY_OUT_OF_MEMORY); } @@ -319,7 +319,7 @@ static void* exception_calloc(size_t nmemb, size_t size) { } static void* exception_malloc(size_t size) { - void* p = malloc(size); + void* p = TDMALLOC(size); if (p == NULL) { THROW(TSDB_CODE_QRY_OUT_OF_MEMORY); } @@ -352,7 +352,7 @@ static tExprNode* exprTreeFromBinaryImpl(SBufferReader* br) { pVal->nType = tbufReadUint32(br); if (pVal->nType == TSDB_DATA_TYPE_BINARY) { tbufReadToBuffer(br, &pVal->nLen, sizeof(pVal->nLen)); - pVal->pz = calloc(1, pVal->nLen + 1); + pVal->pz = TDMCALLOC(1, pVal->nLen + 1); tbufReadToBuffer(br, pVal->pz, pVal->nLen); } else { pVal->i64Key = tbufReadInt64(br); diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index 65b07e3754..ddab4da0a9 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -501,7 +501,7 @@ static SResultRow *doPrepareResultRowFromKey(SQueryRuntimeEnv *pRuntimeEnv, SRes newCapacity = (int64_t)(pResultRowInfo->capacity * 1.5); } - char *t = realloc(pResultRowInfo->pResult, (size_t)(newCapacity * POINTER_BYTES)); + char *t = TDMREALLOC(pResultRowInfo->pResult, (size_t)(newCapacity * POINTER_BYTES)); if (t == NULL) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); } @@ -1289,7 +1289,7 @@ static int32_t setGroupResultOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, char *pDat GET_TYPED_DATA(v, int64_t, type, pData); if (type == TSDB_DATA_TYPE_BINARY || type == TSDB_DATA_TYPE_NCHAR) { if (pResultRow->key == NULL) { - pResultRow->key = malloc(varDataTLen(pData)); + pResultRow->key = TDMALLOC(varDataTLen(pData)); varDataCopy(pResultRow->key, pData); } else { assert(memcmp(pResultRow->key, pData, varDataTLen(pData)) == 0); @@ -1837,7 +1837,7 @@ static int32_t setCtxTagColumnInfo(SQueryRuntimeEnv *pRuntimeEnv, SQLFunctionCtx int16_t tagLen = 0; SQLFunctionCtx *p = NULL; - SQLFunctionCtx **pTagCtx = calloc(pQuery->numOfOutput, POINTER_BYTES); + SQLFunctionCtx **pTagCtx = TDMCALLOC(pQuery->numOfOutput, POINTER_BYTES); if (pTagCtx == NULL) { return TSDB_CODE_QRY_OUT_OF_MEMORY; } @@ -1874,10 +1874,10 @@ static int32_t setupQueryRuntimeEnv(SQueryRuntimeEnv *pRuntimeEnv, int16_t order qDebug("QInfo:%p setup runtime env", GET_QINFO_ADDR(pRuntimeEnv)); SQuery *pQuery = pRuntimeEnv->pQuery; - pRuntimeEnv->pCtx = (SQLFunctionCtx *)calloc(pQuery->numOfOutput, sizeof(SQLFunctionCtx)); - pRuntimeEnv->offset = calloc(pQuery->numOfOutput, sizeof(int16_t)); - pRuntimeEnv->rowCellInfoOffset = calloc(pQuery->numOfOutput, sizeof(int32_t)); - pRuntimeEnv->sasArray = calloc(pQuery->numOfOutput, sizeof(SArithmeticSupport)); + pRuntimeEnv->pCtx = (SQLFunctionCtx *)TDMCALLOC(pQuery->numOfOutput, sizeof(SQLFunctionCtx)); + pRuntimeEnv->offset = TDMCALLOC(pQuery->numOfOutput, sizeof(int16_t)); + pRuntimeEnv->rowCellInfoOffset = TDMCALLOC(pQuery->numOfOutput, sizeof(int32_t)); + pRuntimeEnv->sasArray = TDMCALLOC(pQuery->numOfOutput, sizeof(SArithmeticSupport)); if (pRuntimeEnv->offset == NULL || pRuntimeEnv->pCtx == NULL || pRuntimeEnv->rowCellInfoOffset == NULL || pRuntimeEnv->sasArray == NULL) { goto _clean; @@ -1956,7 +1956,7 @@ static int32_t setupQueryRuntimeEnv(SQueryRuntimeEnv *pRuntimeEnv, int16_t order } if (functionId == TSDB_FUNC_ARITHM) { - pRuntimeEnv->sasArray[i].data = calloc(pQuery->numOfCols, POINTER_BYTES); + pRuntimeEnv->sasArray[i].data = TDMCALLOC(pQuery->numOfCols, POINTER_BYTES); if (pRuntimeEnv->sasArray[i].data == NULL) { goto _clean; } @@ -2711,7 +2711,7 @@ static void ensureOutputBufferSimple(SQueryRuntimeEnv* pRuntimeEnv, int32_t capa int32_t bytes = pQuery->pExpr1[i].bytes; assert(bytes > 0 && capacity > 0); - char *tmp = realloc(pQuery->sdata[i], bytes * capacity + sizeof(tFilePage)); + char *tmp = TDMREALLOC(pQuery->sdata[i], bytes * capacity + sizeof(tFilePage)); if (tmp == NULL) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); } else { @@ -2743,7 +2743,7 @@ static void ensureOutputBuffer(SQueryRuntimeEnv* pRuntimeEnv, SDataBlockInfo* pB int32_t bytes = pQuery->pExpr1[i].bytes; assert(bytes > 0 && newSize > 0); - char *tmp = realloc(pQuery->sdata[i], bytes * newSize + sizeof(tFilePage)); + char *tmp = TDMREALLOC(pQuery->sdata[i], bytes * newSize + sizeof(tFilePage)); if (tmp == NULL) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); } else { @@ -3208,8 +3208,8 @@ int32_t mergeIntoGroupResultImpl(SGroupResInfo* pGroupResInfo, SArray *pTableLis pGroupResInfo->pRows = taosArrayInit(100, POINTER_BYTES); } - posList = calloc(size, sizeof(int32_t)); - pTableQueryInfoList = malloc(POINTER_BYTES * size); + posList = TDMCALLOC(size, sizeof(int32_t)); + pTableQueryInfoList = TDMALLOC(POINTER_BYTES * size); if (pTableQueryInfoList == NULL || posList == NULL || pGroupResInfo->pRows == NULL) { qError("QInfo:%p failed alloc memory", pQInfo); @@ -4623,7 +4623,7 @@ static SFillColInfo* createFillColInfo(SQuery* pQuery) { int32_t numOfCols = getNumOfFinalResCol(pQuery); int32_t offset = 0; - SFillColInfo* pFillCol = calloc(numOfCols, sizeof(SFillColInfo)); + SFillColInfo* pFillCol = TDMCALLOC(numOfCols, sizeof(SFillColInfo)); if (pFillCol == NULL) { return NULL; } @@ -5564,16 +5564,16 @@ static void doSecondaryArithmeticProcess(SQuery* pQuery) { } SArithmeticSupport arithSup = {0}; - tFilePage **data = calloc(pQuery->numOfExpr2, POINTER_BYTES); + tFilePage **data = TDMCALLOC(pQuery->numOfExpr2, POINTER_BYTES); for (int32_t i = 0; i < pQuery->numOfExpr2; ++i) { int32_t bytes = pQuery->pExpr2[i].bytes; - data[i] = (tFilePage *)malloc((size_t)(bytes * pQuery->rec.rows) + sizeof(tFilePage)); + data[i] = (tFilePage *)TDMALLOC((size_t)(bytes * pQuery->rec.rows) + sizeof(tFilePage)); } arithSup.offset = 0; arithSup.numOfCols = (int32_t)pQuery->numOfOutput; arithSup.exprList = pQuery->pExpr1; - arithSup.data = calloc(arithSup.numOfCols, POINTER_BYTES); + arithSup.data = TDMCALLOC(arithSup.numOfCols, POINTER_BYTES); for (int32_t k = 0; k < arithSup.numOfCols; ++k) { arithSup.data[k] = pQuery->sdata[k]->data; @@ -6013,7 +6013,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, int32_t numOfFilters = pColInfo->numOfFilters; if (numOfFilters > 0) { - pColInfo->filters = calloc(numOfFilters, sizeof(SColumnFilterInfo)); + pColInfo->filters = TDMCALLOC(numOfFilters, sizeof(SColumnFilterInfo)); if (pColInfo->filters == NULL) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; goto _cleanup; @@ -6031,7 +6031,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, if (pColFilter->filterstr) { pColFilter->len = htobe64(pFilterMsg->len); - pColFilter->pz = (int64_t)calloc(1, (size_t)(pColFilter->len + 1 * TSDB_NCHAR_SIZE)); // note: null-terminator + pColFilter->pz = (int64_t)TDMCALLOC(1, (size_t)(pColFilter->len + 1 * TSDB_NCHAR_SIZE)); // note: null-terminator if (pColFilter->pz == 0) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; goto _cleanup; @@ -6049,7 +6049,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, } } - *pExpr = calloc(pQueryMsg->numOfOutput, POINTER_BYTES); + *pExpr = TDMCALLOC(pQueryMsg->numOfOutput, POINTER_BYTES); if (*pExpr == NULL) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; goto _cleanup; @@ -6094,7 +6094,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, if (pQueryMsg->secondStageOutput) { pExprMsg = (SSqlFuncMsg *)pMsg; - *pSecStageExpr = calloc(pQueryMsg->secondStageOutput, POINTER_BYTES); + *pSecStageExpr = TDMCALLOC(pQueryMsg->secondStageOutput, POINTER_BYTES); for (int32_t i = 0; i < pQueryMsg->secondStageOutput; ++i) { (*pSecStageExpr)[i] = pExprMsg; @@ -6134,7 +6134,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, pMsg = createTableIdList(pQueryMsg, pMsg, pTableIdList); if (pQueryMsg->numOfGroupCols > 0) { // group by tag columns - *groupbyCols = malloc(pQueryMsg->numOfGroupCols * sizeof(SColIndex)); + *groupbyCols = TDMALLOC(pQueryMsg->numOfGroupCols * sizeof(SColIndex)); if (*groupbyCols == NULL) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; goto _cleanup; @@ -6171,7 +6171,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, } if (pQueryMsg->numOfTags > 0) { - (*tagCols) = calloc(1, sizeof(SColumnInfo) * pQueryMsg->numOfTags); + (*tagCols) = TDMCALLOC(1, sizeof(SColumnInfo) * pQueryMsg->numOfTags); if (*tagCols == NULL) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; goto _cleanup; @@ -6192,7 +6192,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, // the tag query condition expression string is located at the end of query msg if (pQueryMsg->tagCondLen > 0) { - *tagCond = calloc(1, pQueryMsg->tagCondLen); + *tagCond = TDMCALLOC(1, pQueryMsg->tagCondLen); if (*tagCond == NULL) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; @@ -6204,7 +6204,7 @@ static int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SArray **pTableIdList, } if (pQueryMsg->tbnameCondLen > 0) { - *tbnameCond = calloc(1, pQueryMsg->tbnameCondLen + 1); + *tbnameCond = TDMCALLOC(1, pQueryMsg->tbnameCondLen + 1); if (*tbnameCond == NULL) { code = TSDB_CODE_QRY_OUT_OF_MEMORY; goto _cleanup; @@ -6269,7 +6269,7 @@ static int32_t createQueryFuncExprFromMsg(SQueryTableMsg *pQueryMsg, int32_t num *pExprInfo = NULL; int32_t code = TSDB_CODE_SUCCESS; - SExprInfo *pExprs = (SExprInfo *)calloc(pQueryMsg->numOfOutput, sizeof(SExprInfo)); + SExprInfo *pExprs = (SExprInfo *)TDMCALLOC(pQueryMsg->numOfOutput, sizeof(SExprInfo)); if (pExprs == NULL) { return TSDB_CODE_QRY_OUT_OF_MEMORY; } @@ -6376,7 +6376,7 @@ static SSqlGroupbyExpr *createGroupbyExprFromMsg(SQueryTableMsg *pQueryMsg, SCol } // using group by tag columns - SSqlGroupbyExpr *pGroupbyExpr = (SSqlGroupbyExpr *)calloc(1, sizeof(SSqlGroupbyExpr)); + SSqlGroupbyExpr *pGroupbyExpr = (SSqlGroupbyExpr *)TDMCALLOC(1, sizeof(SSqlGroupbyExpr)); if (pGroupbyExpr == NULL) { *code = TSDB_CODE_QRY_OUT_OF_MEMORY; return NULL; @@ -6405,7 +6405,7 @@ static int32_t createFilterInfo(void *pQInfo, SQuery *pQuery) { return TSDB_CODE_SUCCESS; } - pQuery->pFilterInfo = calloc(1, sizeof(SSingleColumnFilterInfo) * pQuery->numOfFilterCols); + pQuery->pFilterInfo = TDMCALLOC(1, sizeof(SSingleColumnFilterInfo) * pQuery->numOfFilterCols); if (pQuery->pFilterInfo == NULL) { return TSDB_CODE_QRY_OUT_OF_MEMORY; } @@ -6418,7 +6418,7 @@ static int32_t createFilterInfo(void *pQInfo, SQuery *pQuery) { pFilterInfo->info = pQuery->colList[i]; pFilterInfo->numOfFilters = pQuery->colList[i].numOfFilters; - pFilterInfo->pFilters = calloc(pFilterInfo->numOfFilters, sizeof(SColumnFilterElem)); + pFilterInfo->pFilters = TDMCALLOC(pFilterInfo->numOfFilters, sizeof(SColumnFilterElem)); if (pFilterInfo->pFilters == NULL) { return TSDB_CODE_QRY_OUT_OF_MEMORY; } @@ -6550,7 +6550,7 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou int16_t numOfCols = pQueryMsg->numOfCols; int16_t numOfOutput = pQueryMsg->numOfOutput; - SQInfo *pQInfo = (SQInfo *)calloc(1, sizeof(SQInfo)); + SQInfo *pQInfo = (SQInfo *)TDMCALLOC(1, sizeof(SQInfo)); if (pQInfo == NULL) { goto _cleanup_qinfo; } @@ -6559,7 +6559,7 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou pQInfo->signature = pQInfo; pQInfo->tableGroupInfo = *pTableGroupInfo; - SQuery *pQuery = calloc(1, sizeof(SQuery)); + SQuery *pQuery = TDMCALLOC(1, sizeof(SQuery)); if (pQuery == NULL) { goto _cleanup_query; } @@ -6583,7 +6583,7 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou pQuery->prjInfo.vgroupLimit = pQueryMsg->vgroupLimit; pQuery->prjInfo.ts = (pQueryMsg->order == TSDB_ORDER_ASC)? INT64_MIN:INT64_MAX; - pQuery->colList = calloc(numOfCols, sizeof(SSingleColumnFilterInfo)); + pQuery->colList = TDMCALLOC(numOfCols, sizeof(SSingleColumnFilterInfo)); if (pQuery->colList == NULL) { goto _cleanup; } @@ -6609,7 +6609,7 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou } // prepare the result buffer - pQuery->sdata = (tFilePage **)calloc(pQuery->numOfOutput, POINTER_BYTES); + pQuery->sdata = (tFilePage **)TDMCALLOC(pQuery->numOfOutput, POINTER_BYTES); if (pQuery->sdata == NULL) { goto _cleanup; } @@ -6627,14 +6627,14 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou } size_t size = (size_t)((pQuery->rec.capacity + 1) * bytes + pExprs[col].interBytes + sizeof(tFilePage)); - pQuery->sdata[col] = (tFilePage *)calloc(1, size); + pQuery->sdata[col] = (tFilePage *)TDMCALLOC(1, size); if (pQuery->sdata[col] == NULL) { goto _cleanup; } } if (pQuery->fillType != TSDB_FILL_NONE) { - pQuery->fillVal = malloc(sizeof(int64_t) * pQuery->numOfOutput); + pQuery->fillVal = TDMALLOC(sizeof(int64_t) * pQuery->numOfOutput); if (pQuery->fillVal == NULL) { goto _cleanup; } @@ -6657,9 +6657,9 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou pQInfo->runtimeEnv.summary.tableInfoSize += (pTableGroupInfo->numOfTables * sizeof(STableQueryInfo)); pQInfo->runtimeEnv.pResultRowHashTable = taosHashInit(pTableGroupInfo->numOfTables, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, HASH_NO_LOCK); - pQInfo->runtimeEnv.keyBuf = malloc(TSDB_MAX_BYTES_PER_ROW); + pQInfo->runtimeEnv.keyBuf = TDMALLOC(TSDB_MAX_BYTES_PER_ROW); pQInfo->runtimeEnv.pool = initResultRowPool(getResultRowSize(&pQInfo->runtimeEnv)); - pQInfo->runtimeEnv.prevRow = malloc(POINTER_BYTES * pQuery->numOfCols + srcSize); + pQInfo->runtimeEnv.prevRow = TDMALLOC(POINTER_BYTES * pQuery->numOfCols + srcSize); char* start = POINTER_BYTES * pQuery->numOfCols + (char*) pQInfo->runtimeEnv.prevRow; pQInfo->runtimeEnv.prevRow[0] = start; @@ -6668,7 +6668,7 @@ static SQInfo *createQInfoImpl(SQueryTableMsg *pQueryMsg, SSqlGroupbyExpr *pGrou pQInfo->runtimeEnv.prevRow[i] = pQInfo->runtimeEnv.prevRow[i - 1] + pQuery->colList[i-1].bytes; } - pQInfo->pBuf = calloc(pTableGroupInfo->numOfTables, sizeof(STableQueryInfo)); + pQInfo->pBuf = TDMCALLOC(pTableGroupInfo->numOfTables, sizeof(STableQueryInfo)); if (pQInfo->pBuf == NULL) { goto _cleanup; } @@ -7601,7 +7601,7 @@ void* qOpenQueryMgmt(int32_t vgId) { char cacheName[128] = {0}; sprintf(cacheName, "qhandle_%d", vgId); - SQueryMgmt* pQueryMgmt = calloc(1, sizeof(SQueryMgmt)); + SQueryMgmt* pQueryMgmt = TDMCALLOC(1, sizeof(SQueryMgmt)); if (pQueryMgmt == NULL) { terrno = TSDB_CODE_QRY_OUT_OF_MEMORY; return NULL; diff --git a/src/query/src/qExtbuffer.c b/src/query/src/qExtbuffer.c index 1393706df0..9e3560912b 100644 --- a/src/query/src/qExtbuffer.c +++ b/src/query/src/qExtbuffer.c @@ -28,7 +28,7 @@ * SColumnModel is deeply copy */ tExtMemBuffer* createExtMemBuffer(int32_t inMemSize, int32_t elemSize, int32_t pagesize, SColumnModel *pModel) { - tExtMemBuffer* pMemBuffer = (tExtMemBuffer *)calloc(1, sizeof(tExtMemBuffer)); + tExtMemBuffer* pMemBuffer = (tExtMemBuffer *)TDMCALLOC(1, sizeof(tExtMemBuffer)); pMemBuffer->pageSize = pagesize; pMemBuffer->inMemCapacity = ALIGN8(inMemSize) / pMemBuffer->pageSize; @@ -48,7 +48,7 @@ tExtMemBuffer* createExtMemBuffer(int32_t inMemSize, int32_t elemSize, int32_t p pFMeta->flushoutData.nAllocSize = 4; pFMeta->flushoutData.nLength = 0; - pFMeta->flushoutData.pFlushoutInfo = (tFlushoutInfo *)calloc(4, sizeof(tFlushoutInfo)); + pFMeta->flushoutData.pFlushoutInfo = (tFlushoutInfo *)TDMCALLOC(4, sizeof(tFlushoutInfo)); pMemBuffer->pColumnModel = cloneColumnModel(pModel); pMemBuffer->pColumnModel->capacity = pMemBuffer->numOfElemsPerPage; @@ -99,7 +99,7 @@ void* destoryExtMemBuffer(tExtMemBuffer *pMemBuffer) { static bool allocFlushoutInfoEntries(SExtFileInfo *pFileMeta) { pFileMeta->flushoutData.nAllocSize = pFileMeta->flushoutData.nAllocSize << 1; - tFlushoutInfo *tmp = (tFlushoutInfo *)realloc(pFileMeta->flushoutData.pFlushoutInfo, + tFlushoutInfo *tmp = (tFlushoutInfo *)TDMREALLOC(pFileMeta->flushoutData.pFlushoutInfo, sizeof(tFlushoutInfo) * pFileMeta->flushoutData.nAllocSize); if (tmp == NULL) { uError("out of memory!\n"); @@ -128,7 +128,7 @@ static bool tExtMemBufferAlloc(tExtMemBuffer *pMemBuffer) { * The memory buffer pages may be recycle in order to avoid unnecessary memory * allocation later. */ - tFilePagesItem *item = (tFilePagesItem *)calloc(1, pMemBuffer->pageSize + sizeof(tFilePagesItem)); + tFilePagesItem *item = (tFilePagesItem *)TDMCALLOC(1, pMemBuffer->pageSize + sizeof(tFilePagesItem)); if (item == NULL) { return false; } @@ -742,7 +742,7 @@ void tColDataQSort(tOrderDescriptor *pDescriptor, int32_t numOfRows, int32_t sta } } - char* buf = malloc(width); + char* buf = TDMALLOC(width); assert(width > 0 && buf != NULL); if (end - start + 1 <= 8) { @@ -758,7 +758,7 @@ void tColDataQSort(tOrderDescriptor *pDescriptor, int32_t numOfRows, int32_t sta * deep copy of sschema */ SColumnModel *createColumnModel(SSchema *fields, int32_t numOfCols, int32_t blockCapacity) { - SColumnModel *pColumnModel = (SColumnModel *)calloc(1, sizeof(SColumnModel) + numOfCols * sizeof(SSchemaEx)); + SColumnModel *pColumnModel = (SColumnModel *)TDMCALLOC(1, sizeof(SColumnModel) + numOfCols * sizeof(SSchemaEx)); if (pColumnModel == NULL) { return NULL; } @@ -784,7 +784,7 @@ SColumnModel *cloneColumnModel(SColumnModel *pSrc) { return NULL; } - SColumnModel *pColumnModel = (SColumnModel *)calloc(1, sizeof(SColumnModel) + pSrc->numOfCols * sizeof(SSchemaEx)); + SColumnModel *pColumnModel = (SColumnModel *)TDMCALLOC(1, sizeof(SColumnModel) + pSrc->numOfCols * sizeof(SSchemaEx)); if (pColumnModel == NULL) { return NULL; } @@ -1065,7 +1065,7 @@ void tColModelAppend(SColumnModel *dstModel, tFilePage *dstPage, void *srcData, tOrderDescriptor *tOrderDesCreate(const int32_t *orderColIdx, int32_t numOfOrderCols, SColumnModel *pModel, int32_t tsOrderType) { - tOrderDescriptor *desc = (tOrderDescriptor *)calloc(1, sizeof(tOrderDescriptor) + sizeof(int32_t) * numOfOrderCols); + tOrderDescriptor *desc = (tOrderDescriptor *)TDMCALLOC(1, sizeof(tOrderDescriptor) + sizeof(int32_t) * numOfOrderCols); if (desc == NULL) { return NULL; } diff --git a/src/query/src/qFill.c b/src/query/src/qFill.c index 72c0aa894c..2acb7e091b 100644 --- a/src/query/src/qFill.c +++ b/src/query/src/qFill.c @@ -33,7 +33,7 @@ static int32_t setTagColumnInfo(SFillInfo* pFillInfo, int32_t numOfCols, int32_t int32_t k = 0; for (int32_t i = 0; i < numOfCols; ++i) { SFillColInfo* pColInfo = &pFillInfo->pFillCol[i]; - pFillInfo->pData[i] = calloc(1, pColInfo->col.bytes * capacity); + pFillInfo->pData[i] = TDMCALLOC(1, pColInfo->col.bytes * capacity); if (TSDB_COL_IS_TAG(pColInfo->flag)) { bool exists = false; @@ -52,7 +52,7 @@ static int32_t setTagColumnInfo(SFillInfo* pFillInfo, int32_t numOfCols, int32_t pSchema->type = pColInfo->col.type; pSchema->bytes = pColInfo->col.bytes; - pFillInfo->pTags[k].tagVal = calloc(1, pColInfo->col.bytes); + pFillInfo->pTags[k].tagVal = TDMCALLOC(1, pColInfo->col.bytes); pColInfo->tagIndex = k; k += 1; @@ -75,7 +75,7 @@ SFillInfo* taosInitFillInfo(int32_t order, TSKEY skey, int32_t numOfTags, int32_ return NULL; } - SFillInfo* pFillInfo = calloc(1, sizeof(SFillInfo)); + SFillInfo* pFillInfo = TDMCALLOC(1, sizeof(SFillInfo)); taosResetFillInfo(pFillInfo, skey); @@ -93,9 +93,9 @@ SFillInfo* taosInitFillInfo(int32_t order, TSKEY skey, int32_t numOfTags, int32_ pFillInfo->interval.sliding = slidingTime; pFillInfo->interval.slidingUnit = slidingUnit; - pFillInfo->pData = malloc(POINTER_BYTES * numOfCols); + pFillInfo->pData = TDMALLOC(POINTER_BYTES * numOfCols); if (numOfTags > 0) { - pFillInfo->pTags = calloc(pFillInfo->numOfTags, sizeof(SFillTagColInfo)); + pFillInfo->pTags = TDMCALLOC(pFillInfo->numOfTags, sizeof(SFillTagColInfo)); for (int32_t i = 0; i < numOfTags; ++i) { pFillInfo->pTags[i].col.colId = -2; // TODO } @@ -152,7 +152,7 @@ void taosFillSetStartInfo(SFillInfo* pFillInfo, int32_t numOfRows, TSKEY endKey) // ensure the space if (pFillInfo->alloc < numOfRows) { for(int32_t i = 0; i < pFillInfo->numOfCols; ++i) { - char* tmp = realloc(pFillInfo->pData[i], numOfRows*pFillInfo->pFillCol[i].col.bytes); + char* tmp = TDMREALLOC(pFillInfo->pData[i], numOfRows*pFillInfo->pFillCol[i].col.bytes); assert(tmp != NULL); // todo handle error memset(tmp, 0, numOfRows*pFillInfo->pFillCol[i].col.bytes); @@ -360,7 +360,7 @@ static void initBeforeAfterDataBuf(SFillInfo* pFillInfo, char** next) { return; } - *next = calloc(1, pFillInfo->rowSize); + *next = TDMCALLOC(1, pFillInfo->rowSize); for (int i = 1; i < pFillInfo->numOfCols; i++) { SFillColInfo* pCol = &pFillInfo->pFillCol[i]; setNull(*next + pCol->col.offset, pCol->col.type, pCol->col.bytes); diff --git a/src/query/src/qHistogram.c b/src/query/src/qHistogram.c index 2d3981461f..91e3c77336 100644 --- a/src/query/src/qHistogram.c +++ b/src/query/src/qHistogram.c @@ -123,11 +123,11 @@ static int32_t histogramCreateBin(SHistogramInfo* pHisto, int32_t index, double SHistogramInfo* tHistogramCreate(int32_t numOfEntries) { /* need one redundant slot */ - SHistogramInfo* pHisto = malloc(sizeof(SHistogramInfo) + sizeof(SHistBin) * (numOfEntries + 1)); + SHistogramInfo* pHisto = TDMALLOC(sizeof(SHistogramInfo) + sizeof(SHistBin) * (numOfEntries + 1)); #if !defined(USE_ARRAYLIST) pHisto->pList = SSkipListCreate(MAX_SKIP_LIST_LEVEL, TSDB_DATA_TYPE_DOUBLE, sizeof(double)); - SInsertSupporter* pss = malloc(sizeof(SInsertSupporter)); + SInsertSupporter* pss = TDMALLOC(sizeof(SInsertSupporter)); pss->numOfEntries = pHisto->maxEntries; pss->pSkipList = pHisto->pList; @@ -182,7 +182,7 @@ int32_t tHistogramAdd(SHistogramInfo** pHisto, double val) { } #else tSkipListKey key = tSkipListCreateKey(TSDB_DATA_TYPE_DOUBLE, &val, tDataTypeDesc[TSDB_DATA_TYPE_DOUBLE].nSize); - SHistBin* entry = calloc(1, sizeof(SHistBin)); + SHistBin* entry = TDMCALLOC(1, sizeof(SHistBin)); entry->val = val; tSkipListNode* pResNode = SSkipListPut((*pHisto)->pList, entry, &key, 0); @@ -503,7 +503,7 @@ int64_t tHistogramSum(SHistogramInfo* pHisto, double v) { double* tHistogramUniform(SHistogramInfo* pHisto, double* ratio, int32_t num) { #if defined(USE_ARRAYLIST) - double* pVal = malloc(num * sizeof(double)); + double* pVal = TDMALLOC(num * sizeof(double)); for (int32_t i = 0; i < num; ++i) { double numOfElem = (ratio[i] / 100) * pHisto->numOfElems; @@ -549,7 +549,7 @@ double* tHistogramUniform(SHistogramInfo* pHisto, double* ratio, int32_t num) { } } #else - double* pVal = malloc(num * sizeof(double)); + double* pVal = TDMALLOC(num * sizeof(double)); for (int32_t i = 0; i < num; ++i) { double numOfElem = ratio[i] * pHisto->numOfElems; @@ -621,7 +621,7 @@ SHistogramInfo* tHistogramMerge(SHistogramInfo* pHisto1, SHistogramInfo* pHisto2 return pResHistogram; } - SHistBin* pHistoBins = calloc(1, sizeof(SHistBin) * (pHisto1->numOfEntries + pHisto2->numOfEntries)); + SHistBin* pHistoBins = TDMCALLOC(1, sizeof(SHistBin) * (pHisto1->numOfEntries + pHisto2->numOfEntries)); int32_t i = 0, j = 0, k = 0; while (i < pHisto1->numOfEntries && j < pHisto2->numOfEntries) { diff --git a/src/query/src/qParserImpl.c b/src/query/src/qParserImpl.c index e3ea161802..a7dd356610 100644 --- a/src/query/src/qParserImpl.c +++ b/src/query/src/qParserImpl.c @@ -73,12 +73,12 @@ abort_parse: tSQLExprList *tSqlExprListAppend(tSQLExprList *pList, tSQLExpr *pNode, SStrToken *pToken) { if (pList == NULL) { - pList = calloc(1, sizeof(tSQLExprList)); + pList = TDMCALLOC(1, sizeof(tSQLExprList)); } if (pList->nAlloc <= pList->nExpr) { pList->nAlloc = (pList->nAlloc << 1u) + 4; - pList->a = realloc(pList->a, pList->nAlloc * sizeof(pList->a[0])); + pList->a = TDMREALLOC(pList->a, pList->nAlloc * sizeof(pList->a[0])); if (pList->a == 0) { pList->nExpr = pList->nAlloc = 0; return pList; @@ -91,7 +91,7 @@ tSQLExprList *tSqlExprListAppend(tSQLExprList *pList, tSQLExpr *pNode, SStrToken memset(pItem, 0, sizeof(*pItem)); pItem->pNode = pNode; if (pToken) { // set the as clause - pItem->aliasName = malloc(pToken->n + 1); + pItem->aliasName = TDMALLOC(pToken->n + 1); strncpy(pItem->aliasName, pToken->z, pToken->n); pItem->aliasName[pToken->n] = 0; @@ -116,7 +116,7 @@ void tSqlExprListDestroy(tSQLExprList *pList) { } tSQLExpr *tSqlExprIdValueCreate(SStrToken *pToken, int32_t optrType) { - tSQLExpr *pSqlExpr = calloc(1, sizeof(tSQLExpr)); + tSQLExpr *pSqlExpr = TDMCALLOC(1, sizeof(tSQLExpr)); if (pToken != NULL) { pSqlExpr->token = *pToken; @@ -159,7 +159,7 @@ tSQLExpr *tSqlExprIdValueCreate(SStrToken *pToken, int32_t optrType) { tSQLExpr *tSqlExprCreateFunction(tSQLExprList *pList, SStrToken *pFuncToken, SStrToken *endToken, int32_t optType) { if (pFuncToken == NULL) return NULL; - tSQLExpr *pExpr = calloc(1, sizeof(tSQLExpr)); + tSQLExpr *pExpr = TDMCALLOC(1, sizeof(tSQLExpr)); pExpr->nSQLOptr = optType; pExpr->pParam = pList; @@ -178,7 +178,7 @@ tSQLExpr *tSqlExprCreateFunction(tSQLExprList *pList, SStrToken *pFuncToken, SSt * if the expr is arithmetic, calculate the result and set it to tSQLExpr Object */ tSQLExpr *tSqlExprCreate(tSQLExpr *pLeft, tSQLExpr *pRight, int32_t optrType) { - tSQLExpr *pExpr = calloc(1, sizeof(tSQLExpr)); + tSQLExpr *pExpr = TDMCALLOC(1, sizeof(tSQLExpr)); if (pLeft != NULL && pRight != NULL && (optrType != TK_IN)) { char* endPos = pRight->token.z + pRight->token.n; @@ -269,7 +269,7 @@ tSQLExpr *tSqlExprCreate(tSQLExpr *pLeft, tSQLExpr *pRight, int32_t optrType) { pExpr->nSQLOptr = optrType; pExpr->pLeft = pLeft; - tSQLExpr *pRSub = calloc(1, sizeof(tSQLExpr)); + tSQLExpr *pRSub = TDMCALLOC(1, sizeof(tSQLExpr)); pRSub->nSQLOptr = TK_SET; // TODO refactor ..... pRSub->pParam = (tSQLExprList *)pRight; @@ -279,7 +279,7 @@ tSQLExpr *tSqlExprCreate(tSQLExpr *pLeft, tSQLExpr *pRight, int32_t optrType) { pExpr->pLeft = pLeft; if (pRight == NULL) { - pRight = calloc(1, sizeof(tSQLExpr)); + pRight = TDMCALLOC(1, sizeof(tSQLExpr)); } pExpr->pRight = pRight; @@ -448,7 +448,7 @@ SQuerySQL *tSetQuerySqlElems(SStrToken *pSelectToken, tSQLExprList *pSelection, SStrToken *pSliding, SArray *pFill, SLimitVal *pLimit, SLimitVal *pGLimit) { assert(pSelection != NULL); - SQuerySQL *pQuery = calloc(1, sizeof(SQuerySQL)); + SQuerySQL *pQuery = TDMCALLOC(1, sizeof(SQuerySQL)); pQuery->selectToken = *pSelectToken; pQuery->selectToken.n = (uint32_t)strlen(pQuery->selectToken.z); // all later sql string are belonged to the stream sql @@ -532,7 +532,7 @@ void destroyAllSelectClause(SSubclauseInfo *pClause) { } SCreateTableSQL *tSetCreateSqlElems(SArray *pCols, SArray *pTags, SQuerySQL *pSelect, int32_t type) { - SCreateTableSQL *pCreate = calloc(1, sizeof(SCreateTableSQL)); + SCreateTableSQL *pCreate = TDMCALLOC(1, sizeof(SCreateTableSQL)); switch (type) { case TSQL_CREATE_TABLE: { @@ -576,7 +576,7 @@ SCreatedTableInfo createNewChildTableInfo(SStrToken *pTableName, SArray *pTagVal } SAlterTableSQL *tAlterTableSqlElems(SStrToken *pTableName, SArray *pCols, SArray *pVals, int32_t type) { - SAlterTableSQL *pAlterTable = calloc(1, sizeof(SAlterTableSQL)); + SAlterTableSQL *pAlterTable = TDMCALLOC(1, sizeof(SAlterTableSQL)); pAlterTable->name = *pTableName; pAlterTable->type = type; @@ -635,11 +635,11 @@ void SqlInfoDestroy(SSqlInfo *pInfo) { SSubclauseInfo* setSubclause(SSubclauseInfo* pSubclause, void *pSqlExprInfo) { if (pSubclause == NULL) { - pSubclause = calloc(1, sizeof(SSubclauseInfo)); + pSubclause = TDMCALLOC(1, sizeof(SSubclauseInfo)); } int32_t newSize = pSubclause->numOfClause + 1; - char* tmp = realloc(pSubclause->pClause, newSize * POINTER_BYTES); + char* tmp = TDMREALLOC(pSubclause->pClause, newSize * POINTER_BYTES); if (tmp == NULL) { return pSubclause; } @@ -670,7 +670,7 @@ SSqlInfo*setSqlInfo(SSqlInfo *pInfo, void *pSqlExprInfo, SStrToken *pTableName, } SSubclauseInfo* appendSelectClause(SSubclauseInfo *pQueryInfo, void *pSubclause) { - char* tmp = realloc(pQueryInfo->pClause, (pQueryInfo->numOfClause + 1) * POINTER_BYTES); + char* tmp = TDMREALLOC(pQueryInfo->pClause, (pQueryInfo->numOfClause + 1) * POINTER_BYTES); if (tmp == NULL) { // out of memory return pQueryInfo; } @@ -689,7 +689,7 @@ void setCreatedTableName(SSqlInfo *pInfo, SStrToken *pTableNameToken, SStrToken void tTokenListBuyMoreSpace(tDCLSQL *pTokenList) { if (pTokenList->nAlloc <= pTokenList->nTokens) { // pTokenList->nAlloc = (pTokenList->nAlloc << 1u) + 4; - pTokenList->a = realloc(pTokenList->a, pTokenList->nAlloc * sizeof(pTokenList->a[0])); + pTokenList->a = TDMREALLOC(pTokenList->a, pTokenList->nAlloc * sizeof(pTokenList->a[0])); if (pTokenList->a == 0) { pTokenList->nTokens = pTokenList->nAlloc = 0; } @@ -699,7 +699,7 @@ void tTokenListBuyMoreSpace(tDCLSQL *pTokenList) { tDCLSQL *tTokenListAppend(tDCLSQL *pTokenList, SStrToken *pToken) { if (pToken == NULL) return NULL; - if (pTokenList == NULL) pTokenList = calloc(1, sizeof(tDCLSQL)); + if (pTokenList == NULL) pTokenList = TDMCALLOC(1, sizeof(tDCLSQL)); tTokenListBuyMoreSpace(pTokenList); pTokenList->a[pTokenList->nTokens++] = *pToken; @@ -711,7 +711,7 @@ void setDCLSQLElems(SSqlInfo *pInfo, int32_t type, int32_t nParam, ...) { pInfo->type = type; if (nParam == 0) return; - if (pInfo->pDCLInfo == NULL) pInfo->pDCLInfo = (tDCLSQL *)calloc(1, sizeof(tDCLSQL)); + if (pInfo->pDCLInfo == NULL) pInfo->pDCLInfo = (tDCLSQL *)TDMCALLOC(1, sizeof(tDCLSQL)); va_list va; va_start(va, nParam); @@ -731,7 +731,7 @@ void setDropDbTableInfo(SSqlInfo *pInfo, int32_t type, SStrToken* pToken, SStrTo void setShowOptions(SSqlInfo *pInfo, int32_t type, SStrToken* prefix, SStrToken* pPatterns) { if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); + pInfo->pDCLInfo = TDMCALLOC(1, sizeof(tDCLSQL)); } pInfo->type = TSDB_SQL_SHOW; @@ -755,7 +755,7 @@ void setShowOptions(SSqlInfo *pInfo, int32_t type, SStrToken* prefix, SStrToken* void setCreateDBSQL(SSqlInfo *pInfo, int32_t type, SStrToken *pToken, SCreateDBInfo *pDB, SStrToken *pIgExists) { pInfo->type = type; if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); + pInfo->pDCLInfo = TDMCALLOC(1, sizeof(tDCLSQL)); } pInfo->pDCLInfo->dbOpt = *pDB; @@ -766,7 +766,7 @@ void setCreateDBSQL(SSqlInfo *pInfo, int32_t type, SStrToken *pToken, SCreateDBI void setCreateAcctSql(SSqlInfo *pInfo, int32_t type, SStrToken *pName, SStrToken *pPwd, SCreateAcctSQL *pAcctInfo) { pInfo->type = type; if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); + pInfo->pDCLInfo = TDMCALLOC(1, sizeof(tDCLSQL)); } pInfo->pDCLInfo->acctOpt = *pAcctInfo; @@ -782,7 +782,7 @@ void setCreateAcctSql(SSqlInfo *pInfo, int32_t type, SStrToken *pName, SStrToken void setCreateUserSql(SSqlInfo *pInfo, SStrToken *pName, SStrToken *pPasswd) { pInfo->type = TSDB_SQL_CREATE_USER; if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); + pInfo->pDCLInfo = TDMCALLOC(1, sizeof(tDCLSQL)); } assert(pName != NULL && pPasswd != NULL); @@ -794,7 +794,7 @@ void setCreateUserSql(SSqlInfo *pInfo, SStrToken *pName, SStrToken *pPasswd) { void setAlterUserSql(SSqlInfo *pInfo, int16_t type, SStrToken *pName, SStrToken* pPwd, SStrToken *pPrivilege) { pInfo->type = TSDB_SQL_ALTER_USER; if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); + pInfo->pDCLInfo = TDMCALLOC(1, sizeof(tDCLSQL)); } assert(pName != NULL); @@ -819,7 +819,7 @@ void setAlterUserSql(SSqlInfo *pInfo, int16_t type, SStrToken *pName, SStrToken* void setKillSql(SSqlInfo *pInfo, int32_t type, SStrToken *ip) { pInfo->type = type; if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); + pInfo->pDCLInfo = TDMCALLOC(1, sizeof(tDCLSQL)); } assert(ip != NULL); diff --git a/src/query/src/qPercentile.c b/src/query/src/qPercentile.c index 9c7f798a3a..6654c8d219 100644 --- a/src/query/src/qPercentile.c +++ b/src/query/src/qPercentile.c @@ -28,7 +28,7 @@ int32_t getGroupId(int32_t numOfSlots, int32_t slotIndex, int32_t times) { } static tFilePage *loadDataFromFilePage(tMemBucket *pMemBucket, int32_t slotIdx) { - tFilePage *buffer = (tFilePage *)calloc(1, pMemBucket->bytes * pMemBucket->pSlots[slotIdx].info.size + sizeof(tFilePage)); + tFilePage *buffer = (tFilePage *)TDMCALLOC(1, pMemBucket->bytes * pMemBucket->pSlots[slotIdx].info.size + sizeof(tFilePage)); int32_t groupId = getGroupId(pMemBucket->numOfSlots, slotIdx, pMemBucket->times); SIDList list = getDataBufPagesIdList(pMemBucket->pBuffer, groupId); @@ -312,7 +312,7 @@ static void resetSlotInfo(tMemBucket* pBucket) { } tMemBucket *tMemBucketCreate(int16_t nElemSize, int16_t dataType, double minval, double maxval) { - tMemBucket *pBucket = (tMemBucket *)calloc(1, sizeof(tMemBucket)); + tMemBucket *pBucket = (tMemBucket *)TDMCALLOC(1, sizeof(tMemBucket)); if (pBucket == NULL) { return NULL; } @@ -343,7 +343,7 @@ tMemBucket *tMemBucketCreate(int16_t nElemSize, int16_t dataType, double minval, return NULL; } - pBucket->pSlots = (tMemBucketSlot *)calloc(pBucket->numOfSlots, sizeof(tMemBucketSlot)); + pBucket->pSlots = (tMemBucketSlot *)TDMCALLOC(pBucket->numOfSlots, sizeof(tMemBucketSlot)); if (pBucket->pSlots == NULL) { TDMFREE(pBucket); return NULL; diff --git a/src/query/src/qResultbuf.c b/src/query/src/qResultbuf.c index 133879c6e2..825c378f77 100644 --- a/src/query/src/qResultbuf.c +++ b/src/query/src/qResultbuf.c @@ -11,7 +11,7 @@ int32_t createDiskbasedResultBuffer(SDiskbasedResultBuf** pResultBuf, int32_t rowSize, int32_t pagesize, int32_t inMemBufSize, const void* handle) { - *pResultBuf = calloc(1, sizeof(SDiskbasedResultBuf)); + *pResultBuf = TDMCALLOC(1, sizeof(SDiskbasedResultBuf)); SDiskbasedResultBuf* pResBuf = *pResultBuf; if (pResBuf == NULL) { @@ -36,7 +36,7 @@ int32_t createDiskbasedResultBuffer(SDiskbasedResultBuf** pResultBuf, int32_t ro // init id hash table pResBuf->groupSet = taosHashInit(10, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), true, false); - pResBuf->assistBuf = malloc(pResBuf->pageSize + 2); // EXTRA BYTES + pResBuf->assistBuf = TDMALLOC(pResBuf->pageSize + 2); // EXTRA BYTES pResBuf->all = taosHashInit(10, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), true, false); char path[PATH_MAX] = {0}; @@ -219,7 +219,7 @@ static SPageInfo* registerPage(SDiskbasedResultBuf* pResultBuf, int32_t groupId, pResultBuf->numOfPages += 1; - SPageInfo* ppi = malloc(sizeof(SPageInfo));//{ .info = PAGE_INFO_INITIALIZER, .pageId = pageId, .pn = NULL}; + SPageInfo* ppi = TDMALLOC(sizeof(SPageInfo));//{ .info = PAGE_INFO_INITIALIZER, .pageId = pageId, .pn = NULL}; ppi->pageId = pageId; ppi->pData = NULL; @@ -313,7 +313,7 @@ tFilePage* getNewDataBuf(SDiskbasedResultBuf* pResultBuf, int32_t groupId, int32 // allocate buf if (availablePage == NULL) { - pi->pData = calloc(1, pResultBuf->pageSize + POINTER_BYTES + 2); // add extract bytes in case of zipped buffer increased. + pi->pData = TDMCALLOC(1, pResultBuf->pageSize + POINTER_BYTES + 2); // add extract bytes in case of zipped buffer increased. } else { pi->pData = availablePage; } @@ -357,7 +357,7 @@ tFilePage* getResBufPage(SDiskbasedResultBuf* pResultBuf, int32_t id) { } if (availablePage == NULL) { - (*pi)->pData = calloc(1, pResultBuf->pageSize + POINTER_BYTES); + (*pi)->pData = TDMCALLOC(1, pResultBuf->pageSize + POINTER_BYTES); } else { (*pi)->pData = availablePage; } diff --git a/src/query/src/qTsbuf.c b/src/query/src/qTsbuf.c index 14e6767f85..82d3334e75 100644 --- a/src/query/src/qTsbuf.c +++ b/src/query/src/qTsbuf.c @@ -15,7 +15,7 @@ static int32_t STSBufUpdateHeader(STSBuf* pTSBuf, STSBufFileHeader* pHeader); * @return */ STSBuf* tsBufCreate(bool autoDelete, int32_t order) { - STSBuf* pTSBuf = calloc(1, sizeof(STSBuf)); + STSBuf* pTSBuf = TDMCALLOC(1, sizeof(STSBuf)); if (pTSBuf == NULL) { return NULL; } @@ -45,7 +45,7 @@ STSBuf* tsBufCreate(bool autoDelete, int32_t order) { } STSBuf* tsBufCreateFromFile(const char* path, bool autoDelete) { - STSBuf* pTSBuf = calloc(1, sizeof(STSBuf)); + STSBuf* pTSBuf = TDMCALLOC(1, sizeof(STSBuf)); if (pTSBuf == NULL) { return NULL; } @@ -77,7 +77,7 @@ STSBuf* tsBufCreateFromFile(const char* path, bool autoDelete) { if (header.numOfGroup > pTSBuf->numOfAlloc) { pTSBuf->numOfAlloc = header.numOfGroup; - STSGroupBlockInfoEx* tmp = realloc(pTSBuf->pData, sizeof(STSGroupBlockInfoEx) * pTSBuf->numOfAlloc); + STSGroupBlockInfoEx* tmp = TDMREALLOC(pTSBuf->pData, sizeof(STSGroupBlockInfoEx) * pTSBuf->numOfAlloc); if (tmp == NULL) { tsBufDestroy(pTSBuf); return NULL; @@ -98,7 +98,7 @@ STSBuf* tsBufCreateFromFile(const char* path, bool autoDelete) { size_t infoSize = sizeof(STSGroupBlockInfo) * pTSBuf->numOfGroups; - STSGroupBlockInfo* buf = (STSGroupBlockInfo*)calloc(1, infoSize); + STSGroupBlockInfo* buf = (STSGroupBlockInfo*)TDMCALLOC(1, infoSize); if (buf == NULL) { tsBufDestroy(pTSBuf); return NULL; @@ -174,7 +174,7 @@ static STSGroupBlockInfoEx* addOneGroupInfo(STSBuf* pTSBuf, int32_t id) { uint32_t newSize = (uint32_t)(pTSBuf->numOfAlloc * 1.5); assert((int32_t)newSize > pTSBuf->numOfAlloc); - STSGroupBlockInfoEx* tmp = (STSGroupBlockInfoEx*)realloc(pTSBuf->pData, sizeof(STSGroupBlockInfoEx) * newSize); + STSGroupBlockInfoEx* tmp = (STSGroupBlockInfoEx*)TDMREALLOC(pTSBuf->pData, sizeof(STSGroupBlockInfoEx) * newSize); if (tmp == NULL) { return NULL; } @@ -214,7 +214,7 @@ static STSGroupBlockInfoEx* addOneGroupInfo(STSBuf* pTSBuf, int32_t id) { static void shrinkBuffer(STSList* ptsData) { // shrink tmp buffer size if it consumes too many memory compared to the pre-defined size if (ptsData->allocSize >= ptsData->threshold * 2) { - ptsData->rawBuf = realloc(ptsData->rawBuf, MEM_BUF_SIZE); + ptsData->rawBuf = TDMREALLOC(ptsData->rawBuf, MEM_BUF_SIZE); ptsData->allocSize = MEM_BUF_SIZE; } } @@ -290,7 +290,7 @@ static void writeDataToDisk(STSBuf* pTSBuf) { static void expandBuffer(STSList* ptsData, int32_t inputSize) { if (ptsData->allocSize - ptsData->len < inputSize) { int32_t newSize = inputSize + ptsData->len; - char* tmp = realloc(ptsData->rawBuf, (size_t)newSize); + char* tmp = TDMREALLOC(ptsData->rawBuf, (size_t)newSize); if (tmp == NULL) { // todo } @@ -334,7 +334,7 @@ STSBlock* readDataFromDisk(STSBuf* pTSBuf, int32_t order, bool decomp) { // NOTE: mix types tags are not supported size_t sz = 0; if (pBlock->tag.nType == TSDB_DATA_TYPE_BINARY || pBlock->tag.nType == TSDB_DATA_TYPE_NCHAR) { - char* tp = realloc(pBlock->tag.pz, pBlock->tag.nLen + 1); + char* tp = TDMREALLOC(pBlock->tag.pz, pBlock->tag.nLen + 1); assert(tp != NULL); memset(tp, 0, pBlock->tag.nLen + 1); @@ -771,7 +771,7 @@ int32_t tsBufMerge(STSBuf* pDestBuf, const STSBuf* pSrcBuf) { if (pDestBuf->numOfAlloc < newSize) { pDestBuf->numOfAlloc = newSize; - STSGroupBlockInfoEx* tmp = realloc(pDestBuf->pData, sizeof(STSGroupBlockInfoEx) * newSize); + STSGroupBlockInfoEx* tmp = TDMREALLOC(pDestBuf->pData, sizeof(STSGroupBlockInfoEx) * newSize); if (tmp == NULL) { return -1; } @@ -969,13 +969,13 @@ static STSBuf* allocResForTSBuf(STSBuf* pTSBuf) { const int32_t INITIAL_GROUPINFO_SIZE = 4; pTSBuf->numOfAlloc = INITIAL_GROUPINFO_SIZE; - pTSBuf->pData = calloc(pTSBuf->numOfAlloc, sizeof(STSGroupBlockInfoEx)); + pTSBuf->pData = TDMCALLOC(pTSBuf->numOfAlloc, sizeof(STSGroupBlockInfoEx)); if (pTSBuf->pData == NULL) { tsBufDestroy(pTSBuf); return NULL; } - pTSBuf->tsData.rawBuf = malloc(MEM_BUF_SIZE); + pTSBuf->tsData.rawBuf = TDMALLOC(MEM_BUF_SIZE); if (pTSBuf->tsData.rawBuf == NULL) { tsBufDestroy(pTSBuf); return NULL; @@ -985,13 +985,13 @@ static STSBuf* allocResForTSBuf(STSBuf* pTSBuf) { pTSBuf->tsData.threshold = MEM_BUF_SIZE; pTSBuf->tsData.allocSize = MEM_BUF_SIZE; - pTSBuf->assistBuf = malloc(MEM_BUF_SIZE); + pTSBuf->assistBuf = TDMALLOC(MEM_BUF_SIZE); if (pTSBuf->assistBuf == NULL) { tsBufDestroy(pTSBuf); return NULL; } - pTSBuf->block.payload = malloc(MEM_BUF_SIZE); + pTSBuf->block.payload = TDMALLOC(MEM_BUF_SIZE); if (pTSBuf->block.payload == NULL) { tsBufDestroy(pTSBuf); return NULL; @@ -1020,7 +1020,7 @@ void tsBufGetGroupIdList(STSBuf* pTSBuf, int32_t* num, int32_t** id) { return; } - (*id) = malloc(tsBufGetNumOfGroup(pTSBuf) * sizeof(int32_t)); + (*id) = TDMALLOC(tsBufGetNumOfGroup(pTSBuf) * sizeof(int32_t)); for(int32_t i = 0; i < size; ++i) { (*id)[i] = pTSBuf->pData[i].info.id; diff --git a/src/query/src/qUtil.c b/src/query/src/qUtil.c index 387fed1b43..4cfcf983c2 100644 --- a/src/query/src/qUtil.c +++ b/src/query/src/qUtil.c @@ -39,7 +39,7 @@ int32_t initResultRowInfo(SResultRowInfo *pResultRowInfo, int32_t size, int16_t pResultRowInfo->size = 0; pResultRowInfo->prevSKey = TSKEY_INITIAL_VAL; - pResultRowInfo->pResult = calloc(pResultRowInfo->capacity, POINTER_BYTES); + pResultRowInfo->pResult = TDMCALLOC(pResultRowInfo->capacity, POINTER_BYTES); if (pResultRowInfo->pResult == NULL) { return TSDB_CODE_QRY_OUT_OF_MEMORY; } @@ -159,7 +159,7 @@ size_t getResultRowSize(SQueryRuntimeEnv* pRuntimeEnv) { } SResultRowPool* initResultRowPool(size_t size) { - SResultRowPool* p = calloc(1, sizeof(SResultRowPool)); + SResultRowPool* p = TDMCALLOC(1, sizeof(SResultRowPool)); if (p == NULL) { return NULL; } @@ -181,7 +181,7 @@ SResultRow* getNewResultRow(SResultRowPool* p) { void* ptr = NULL; if (p->position.pos == 0) { - ptr = calloc(1, p->blockSize); + ptr = TDMCALLOC(1, p->blockSize); taosArrayPush(p->pData, &ptr); } else { diff --git a/src/query/src/sql.c b/src/query/src/sql.c index 336d263f64..e70a416a2e 100644 --- a/src/query/src/sql.c +++ b/src/query/src/sql.c @@ -1278,10 +1278,10 @@ static int yyGrowStack(yyParser *p){ newSize = p->yystksz*2 + 100; idx = p->yytos ? (int)(p->yytos - p->yystack) : 0; if( p->yystack==&p->yystk0 ){ - pNew = malloc(newSize*sizeof(pNew[0])); + pNew = TDMALLOC(newSize*sizeof(pNew[0])); if( pNew ) pNew[0] = p->yystk0; }else{ - pNew = realloc(p->yystack, newSize*sizeof(pNew[0])); + pNew = TDMREALLOC(p->yystack, newSize*sizeof(pNew[0])); } if( pNew ){ p->yystack = pNew; @@ -2388,7 +2388,7 @@ static void yy_reduce( break; case 120: /* create_table_list ::= create_from_stable */ { - SCreateTableSQL* pCreateTable = calloc(1, sizeof(SCreateTableSQL)); + SCreateTableSQL* pCreateTable = TDMCALLOC(1, sizeof(SCreateTableSQL)); pCreateTable->childTableInfo = taosArrayInit(4, sizeof(SCreatedTableInfo)); taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy84); -- GitLab