From 0ff290308c6556d88ab2be6fbad4bf28df13a0f0 Mon Sep 17 00:00:00 2001 From: zhihaop Date: Thu, 15 Sep 2022 23:50:18 +0800 Subject: [PATCH] fix: create SArray with initial capacity --- src/client/inc/tscBulkWrite.h | 2 -- src/client/src/tscBulkWrite.c | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/client/inc/tscBulkWrite.h b/src/client/inc/tscBulkWrite.h index 3ecc9f6478..c0b4a51e6a 100644 --- a/src/client/inc/tscBulkWrite.h +++ b/src/client/inc/tscBulkWrite.h @@ -16,8 +16,6 @@ #ifndef TDENGINE_TSCBULKWRITE_H #define TDENGINE_TSCBULKWRITE_H -#include -#include #ifdef __cplusplus extern "C" { #endif diff --git a/src/client/src/tscBulkWrite.c b/src/client/src/tscBulkWrite.c index 2683a90a7b..bc72dd6664 100644 --- a/src/client/src/tscBulkWrite.c +++ b/src/client/src/tscBulkWrite.c @@ -151,7 +151,7 @@ SArray* dispatcherPollAll(SAsyncBulkWriteDispatcher* dispatcher) { } pthread_mutex_lock(&dispatcher->mutex); - SArray* statements = taosArrayInit(0, sizeof(SSqlObj*)); + SArray* statements = taosArrayInit(atomic_load_32(&dispatcher->bufferSize), sizeof(SSqlObj*)); if (statements == NULL) { pthread_mutex_unlock(&dispatcher->mutex); tscError("failed to poll all items: out of memory"); @@ -166,8 +166,7 @@ SArray* dispatcherPollAll(SAsyncBulkWriteDispatcher* dispatcher) { } // get the SSqlObj* from the node. - SSqlObj* item; - memcpy(&item, node->data, sizeof(SSqlObj*)); + SSqlObj* item = *((SSqlObj **) node->data); listNodeFree(node); atomic_fetch_sub_32(&dispatcher->bufferSize, 1); atomic_fetch_sub_32(&dispatcher->currentSize, statementGetInsertionRows(item)); -- GitLab