diff --git a/src/client/inc/tsclient.h b/src/client/inc/tsclient.h index 6b5c65df85364092c1b9a18a5880beea600a3924..9cfeffb2d80996b99e81413f072e31f165db17c4 100644 --- a/src/client/inc/tsclient.h +++ b/src/client/inc/tsclient.h @@ -371,7 +371,6 @@ typedef struct SSqlObj { SSubqueryState subState; struct SSqlObj **pSubs; - int global; struct SSqlObj *prev, *next; int64_t self; } SSqlObj; diff --git a/src/client/src/tscAsync.c b/src/client/src/tscAsync.c index 99c03c65801a64eb6b913373603cfa9c48d36911..386a550884c761683eb92be07d2e9f8aace78167 100644 --- a/src/client/src/tscAsync.c +++ b/src/client/src/tscAsync.c @@ -480,6 +480,10 @@ void tscTableMetaCallBack(void *param, TAOS_RES *res, int code) { tscResetSqlCmdObj(pCmd, false); code = tsParseSql(pSql, true); + if (pCmd->command == TSDB_SQL_INSERT) { + pSql->fp = pSql->fetchFp; // restore the fp + } + if (code == TSDB_CODE_TSC_ACTION_IN_PROGRESS) { return; } else if (code != TSDB_CODE_SUCCESS) { diff --git a/src/client/src/tscProfile.c b/src/client/src/tscProfile.c index acc5acd786bfe00036e539a104da04af1485a263..18fc79c4748f84d4ec073e4bc678e3a067afb025 100644 --- a/src/client/src/tscProfile.c +++ b/src/client/src/tscProfile.c @@ -39,6 +39,7 @@ void tscInitConnCb(void *param, TAOS_RES *result, int code) { tscSlowQueryConnInitialized = true; tscSaveSlowQueryFp(sql, NULL); } + taos_free_result(result); } void tscAddIntoSqlList(SSqlObj *pSql) { @@ -69,6 +70,7 @@ void tscSaveSlowQueryFpCb(void *param, TAOS_RES *result, int code) { } else { tscDebug("success to save slow query, code:%d", code); } + taos_free_result(result); } void tscSaveSlowQueryFp(void *handle, void *tmrId) { diff --git a/src/client/src/tscSchemaUtil.c b/src/client/src/tscSchemaUtil.c index 441ad8d8382c667c164f7c797fc344cb9ab9118d..746ae1d86d6604ffdb43a4b97616235651a65c87 100644 --- a/src/client/src/tscSchemaUtil.c +++ b/src/client/src/tscSchemaUtil.c @@ -154,6 +154,7 @@ STableMeta* tscCreateTableMetaFromMsg(STableMetaMsg* pTableMetaMsg, size_t* size assert(pTableMetaMsg != NULL); int32_t schemaSize = (pTableMetaMsg->numOfColumns + pTableMetaMsg->numOfTags) * sizeof(SSchema); + STableMeta* pTableMeta = calloc(1, sizeof(STableMeta) + schemaSize); pTableMeta->tableType = pTableMetaMsg->tableType; diff --git a/src/client/src/tscSql.c b/src/client/src/tscSql.c index 82788eec03ebaf6aa54ba19d8ce13cc237b74397..b6669cc9db4f8a0fc3793318af6600ee38c861c7 100644 --- a/src/client/src/tscSql.c +++ b/src/client/src/tscSql.c @@ -43,8 +43,6 @@ static bool validImpl(const char* str, size_t maxsize) { return true; } -static int64_t queryIncr = 0; -//static int64_t queryDec = 0; static bool validUserName(const char* user) { return validImpl(user, TSDB_USER_LEN - 1); @@ -354,9 +352,7 @@ TAOS_RES* taos_query_c(TAOS *taos, const char *sqlstr, uint32_t sqlLen, TAOS_RES return NULL; } - tscError("curre query count: %ld",atomic_add_fetch_64(&queryIncr, 1)); tsem_init(&pSql->rspSem, 0, 0); - pSql->global = 100; doAsyncQuery(pObj, pSql, waitForQueryRsp, taos, sqlstr, sqlLen); if (res != NULL) { @@ -622,7 +618,7 @@ int taos_select_db(TAOS *taos, const char *db) { } // send free message to vnode to free qhandle and corresponding resources in vnode -static UNUSED_FUNC bool tscKillQueryInDnode(SSqlObj* pSql) { +static bool tscKillQueryInDnode(SSqlObj* pSql) { SSqlCmd* pCmd = &pSql->cmd; SSqlRes* pRes = &pSql->res; @@ -662,9 +658,6 @@ void taos_free_result(TAOS_RES *res) { tscError("%p already released sqlObj", res); return; } - if (100 == pSql->global) { - tscError("current query count: %ld", atomic_sub_fetch_64(&queryIncr, 1)); - } bool freeNow = tscKillQueryInDnode(pSql); if (freeNow) { diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index e3f717046b9359aa59587398d13ce241e37a033a..ecf9cb24514ee8e64bd2562e6e328eab7048862e 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -750,14 +750,12 @@ int32_t tscMergeTableDataBlocks(SSqlObj* pSql, SArray* pTableDataBlockList) { dataBuf->size += (finalLen + sizeof(SSubmitBlk)); assert(dataBuf->size <= dataBuf->nAllocSize); - //char* p = realloc(dataBuf->pData, dataBuf->size); - //if (p != NULL) { - // dataBuf->pData = p; - //} // the length does not include the SSubmitBlk structure pBlocks->dataLen = htonl(finalLen); dataBuf->numOfTables += 1; + + tfree(pOneTableBlock->pData); } tscDestroyBlockArrayList(pTableDataBlockList); @@ -811,13 +809,11 @@ int tscAllocPayload(SSqlCmd* pCmd, int size) { if (pCmd->payload == NULL) return TSDB_CODE_TSC_OUT_OF_MEMORY; pCmd->allocSize = size; } else { - if (pCmd->allocSize < (uint32_t)size) { - char* b = realloc(pCmd->payload, size); - if (b == NULL) return TSDB_CODE_TSC_OUT_OF_MEMORY; - pCmd->payload = b; - pCmd->allocSize = size; + pCmd->payload = realloc(pCmd->payload, size); + if (pCmd->payload == NULL) { + return TSDB_CODE_TSC_OUT_OF_MEMORY; } - + pCmd->allocSize = size; memset(pCmd->payload, 0, pCmd->allocSize); }