diff --git a/src/client/src/tscBulkWrite.c b/src/client/src/tscBulkWrite.c index b9993036599014af3a4dac63599dde3f265e7838..57c99c814f287002721ea9a724f7702764010f48 100644 --- a/src/client/src/tscBulkWrite.c +++ b/src/client/src/tscBulkWrite.c @@ -251,8 +251,8 @@ _error: tscError("send async batch sql obj failed, reason: %s", tstrerror(code)); // handling the failures. - for (int i = 0; i < taosArrayGetSize(statements); ++i) { - SSqlObj* item = *((SSqlObj**)taosArrayGet(statements, i)); + for (size_t i = 0; i < taosArrayGetSize(statements); ++i) { + SSqlObj* item = taosArrayGetP(statements, i); tscReturnsError(item, code); } } diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index aa28d01e5a764f9665c97792afd31056dc4d5174..10f8589d5dccd138b3cceb41815d1db652a03bd5 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -2316,7 +2316,7 @@ static size_t writeSSubmitBlkBuilder(SSubmitBlkBuilder* builder, SSubmitBlk* tar uint32_t dataLen = 0; taosArraySort(builder->rows, compareSMemRow); for (int i = 0; i < taosArrayGetSize(builder->rows); ++i) { - char* pRow = *(char**) (taosArrayGet(builder->rows, i)); + char* pRow = taosArrayGetP(builder->rows, i); memcpy(POINTER_SHIFT(target->data, dataLen), pRow, memRowTLen(pRow)); dataLen += memRowTLen(pRow); } @@ -2920,9 +2920,11 @@ int32_t tscMergeTableDataBlocks(SSqlObj *pSql, SInsertStatementParam *pInsertPar initialSize = initialSize > 128 ? 128 : initialSize; void* pVnodeDataBlockHashList = taosHashInit(initialSize, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), true, false); - SArray* pTableDataBlockList = taosArrayInit(taosHashGetSize(pInsertParam->pTableBlockHashList), POINTER_BYTES); SArray* pVnodeDataBlockList = taosArrayInit(8, POINTER_BYTES); - + + // speed up hash iteration. + SArray* pTableDataBlockList = taosArrayInit(taosHashGetSize(pInsertParam->pTableBlockHashList), POINTER_BYTES); + STableDataBlocks** p = taosHashIterate(pInsertParam->pTableBlockHashList, NULL); STableDataBlocks* pOneTableBlock = *p;