Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: improve the perf in query #18468

Merged
merged 70 commits into from
Nov 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
9f5cf45
refactor: do some internal refactor.
hjxilinx Nov 10, 2022
ea83ae2
refactor: do some internal refactor.
hjxilinx Nov 10, 2022
b83f895
refactor: do some internal refactor.
hjxilinx Nov 11, 2022
f3be445
refactor: do some internal refactor.
hjxilinx Nov 11, 2022
6ae82b0
refactor: do some internal refactor.
hjxilinx Nov 11, 2022
ab52d28
refactor: do some internal refactor.
hjxilinx Nov 11, 2022
7b53b81
refactor: do some internal refactor.
hjxilinx Nov 12, 2022
c888cbf
refactor: do some internal refactor.
hjxilinx Nov 14, 2022
618b4ab
refactor: do some internal refactor.
hjxilinx Nov 14, 2022
c35f668
refactor: increase the initial buffer size.
hjxilinx Nov 14, 2022
8b0b351
refactor: do some internal refactor.
hjxilinx Nov 15, 2022
ba5244d
refactor: add tag filter results cache.
hjxilinx Nov 15, 2022
7d00b7a
refactor: add tag filter cache.
hjxilinx Nov 16, 2022
2320c0d
refactor: update some logs.
hjxilinx Nov 16, 2022
47a7664
refactor: add some logs.
hjxilinx Nov 16, 2022
23da7bc
refactor: add some logs.
hjxilinx Nov 16, 2022
82f22e4
refactor: do some internal refactor.
hjxilinx Nov 16, 2022
fade050
refactor: do some internal refactor.
hjxilinx Nov 16, 2022
2ee5fa8
refactor: do some internal refactor.
hjxilinx Nov 16, 2022
819235d
refactor: do some internal refactor.
hjxilinx Nov 16, 2022
42f8abc
refactor: do some internal refactor.
hjxilinx Nov 16, 2022
a36c24e
fix(query): remove invalid free.
hjxilinx Nov 16, 2022
ec7ad45
fix(query): fix a typo.
hjxilinx Nov 17, 2022
f26a492
fix(query): check result size before store it.
hjxilinx Nov 18, 2022
3ca38c4
meta: use meta cache to get uid's version instead of fetching from tdb
stephenkgu Nov 18, 2022
71de2f0
fix(query): fix invalid write/read.
hjxilinx Nov 18, 2022
0d10294
Merge remote-tracking branch 'origin/feature/3_liaohj' into feature/3…
hjxilinx Nov 18, 2022
35b9dc6
meta: use meta cache to get uid's version instead of fetching from tdb
stephenkgu Nov 18, 2022
0667359
other: merge with original branch.
hjxilinx Nov 18, 2022
d3452f6
fix(query): fix error.
hjxilinx Nov 18, 2022
1e25eac
refactor: do some internal refactor.
hjxilinx Nov 20, 2022
8fee089
refactor: do some internal refactor.
hjxilinx Nov 21, 2022
56edf57
refactor: do some internal refactor.
hjxilinx Nov 22, 2022
390709e
add interface
hzcheng Nov 22, 2022
0af77e6
refactor: do some internal refactor.
hjxilinx Nov 22, 2022
93ad9e9
refactor: do some internal refactor.
hjxilinx Nov 22, 2022
4d206fd
refactor: do some internal refactor.
hjxilinx Nov 22, 2022
b70a616
refactor: do some internal refactor.
hjxilinx Nov 22, 2022
611ab8b
refactor: make sure the memory is aligned to 32 bytes.
hjxilinx Nov 23, 2022
e0e55b2
refactor: do some internal refactor.
hjxilinx Nov 23, 2022
d714392
refactor(query): add simd support for minmax query.
hjxilinx Nov 24, 2022
0ed2c92
enh(query): support simd in min/max query.
hjxilinx Nov 24, 2022
89341bc
enh(query): support simd in min/max query.
hjxilinx Nov 24, 2022
9a208b2
other: merge 3.0
hjxilinx Nov 24, 2022
f745dec
other: merge 3.0
hjxilinx Nov 24, 2022
8dd780b
other: merge 3.0
hjxilinx Nov 24, 2022
e5e817a
other: merge 3.0
hjxilinx Nov 24, 2022
f4f2774
refactor: do some internal refactor.
hjxilinx Nov 24, 2022
969331c
refactor: do some internal refactor.
hjxilinx Nov 25, 2022
f8bc4df
refactor: do some internal refactor.
hjxilinx Nov 25, 2022
59a1571
fix(meta/cache): invalidate suid cache when create/drop ctb & update tag
stephenkgu Nov 25, 2022
7fe4cf7
Merge branch '3.0' into feature/3_liaohj
hjxilinx Nov 25, 2022
d77f5fa
fix(query): fix error in windows and darwin system.
hjxilinx Nov 25, 2022
86fda9f
fix(query): fix error in windows and darwin system.
hjxilinx Nov 25, 2022
99ea0ab
fix(query): add return value.
hjxilinx Nov 25, 2022
f9d1726
fix(query): fix error in ut.
hjxilinx Nov 25, 2022
c6795b6
fix(query): check list size before iterate it.
hjxilinx Nov 25, 2022
802ca0f
fix(query): fix memory leak.
hjxilinx Nov 25, 2022
98771bb
fix(query): deprecate the error reported by asan.
hjxilinx Nov 25, 2022
0015e65
fix(query): remove invalid free
hjxilinx Nov 25, 2022
861b9b8
fix(query): fix memory leak.
hjxilinx Nov 26, 2022
60d6b8e
fix(query): change the ptr
hjxilinx Nov 26, 2022
257137e
fix(query): fix memory leak.
hjxilinx Nov 26, 2022
965ee9a
fix(query): keep block order in exchange operator.
hjxilinx Nov 26, 2022
9997ff9
fix(query): fix one typo
hjxilinx Nov 26, 2022
0948216
fix(query): fix dead lock.
hjxilinx Nov 26, 2022
31c2aa8
fix(query): do some internal refactor.
hjxilinx Nov 26, 2022
203ea1f
fix(query): fix error
hjxilinx Nov 27, 2022
e29e477
fix(query): update api to avoid deadlock.
hjxilinx Nov 27, 2022
1e8dcac
fix(query): set null for inf and nan value.
hjxilinx Nov 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions cmake/cmake.define
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,20 @@ ELSE ()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-literal-suffix -Werror=return-type -fPIC -gdwarf-2 -g3 -Wformat=2 -Wno-format-nonliteral -Wno-format-truncation -Wno-format-y2k")
ENDIF ()

MESSAGE("System processor ID: ${CMAKE_SYSTEM_PROCESSOR}")
IF (TD_INTEL_64 OR TD_INTEL_32)
ADD_DEFINITIONS("-msse4.2")
IF("${FMA_SUPPORT}" MATCHES "true")
MESSAGE(STATUS "turn fma function support on")
MESSAGE(STATUS "fma function supported")
ADD_DEFINITIONS("-mfma")
ELSE ()
MESSAGE(STATUS "turn fma function support off")
MESSAGE(STATUS "fma function NOT supported")
ENDIF()

IF("${SIMD_SUPPORT}" MATCHES "true")
ADD_DEFINITIONS("-mavx -mavx2")
MESSAGE(STATUS "SIMD instructions (AVX/AVX2) is ACTIVATED")
ELSE()
MESSAGE(STATUS "SIMD instruction (AVX/AVX2)is NOT ACTIVATED")
ENDIF()
ENDIF ()

Expand Down
22 changes: 9 additions & 13 deletions cmake/cmake.platform
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
cmake_minimum_required(VERSION 3.0)

MESSAGE("Current system is ${CMAKE_SYSTEM_NAME}")

# init
SET(TD_LINUX FALSE)
SET(TD_WINDOWS FALSE)
SET(TD_DARWIN FALSE)

MESSAGE("Compiler ID: ${CMAKE_CXX_COMPILER_ID}")
if(CMAKE_COMPILER_IS_GNUCXX MATCHES 1)
set(CXX_COMPILER_IS_GNU TRUE)
else()
set(CXX_COMPILER_IS_GNU FALSE)
endif()

MESSAGE("Current system name is ${CMAKE_SYSTEM_NAME}.")
MESSAGE("Current system: ${CMAKE_SYSTEM_NAME}")

IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

Expand All @@ -26,6 +23,8 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin
set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -undefined dynamic_lookup")
ENDIF ()

MESSAGE("Current system processor: ${CMAKE_SYSTEM_PROCESSOR}")

IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")

SET(TD_LINUX TRUE)
Expand All @@ -44,7 +43,6 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin
SET(OSTYPE "macOS")
ADD_DEFINITIONS("-DDARWIN -Wno-tautological-pointer-compare")

MESSAGE("Current system processor is ${CMAKE_SYSTEM_PROCESSOR}.")
IF (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm64")
MESSAGE("Current system arch is arm64")
SET(TD_DARWIN_64 TRUE)
Expand Down Expand Up @@ -80,24 +78,22 @@ ELSEIF (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
ENDIF()

IF ("${CPUTYPE}" STREQUAL "")
MESSAGE(STATUS "The current platform " ${CMAKE_SYSTEM_PROCESSOR} " is detected")

IF (CMAKE_SYSTEM_PROCESSOR MATCHES "(amd64)|(AMD64)")
MESSAGE(STATUS "The current platform is amd64")
MESSAGE(STATUS "Current platform is amd64")
SET(PLATFORM_ARCH_STR "amd64")
SET(TD_INTEL_64 TRUE)
ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)")
MESSAGE(STATUS "The current platform is x86")
MESSAGE(STATUS "Current platform is x86")
SET(PLATFORM_ARCH_STR "i386")
SET(TD_INTEL_32 TRUE)
ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "armv7l")
MESSAGE(STATUS "The current platform is aarch32")
MESSAGE(STATUS "Current platform is aarch32")
SET(PLATFORM_ARCH_STR "arm")
SET(TD_ARM_32 TRUE)
ADD_DEFINITIONS("-D_TD_ARM_")
ADD_DEFINITIONS("-D_TD_ARM_32")
ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64)|(arm64)")
MESSAGE(STATUS "The current platform is aarch64")
MESSAGE(STATUS "Current platform is aarch64")
SET(PLATFORM_ARCH_STR "arm64")
SET(TD_ARM_64 TRUE)
ADD_DEFINITIONS("-D_TD_ARM_")
Expand Down Expand Up @@ -151,5 +147,5 @@ ENDIF ()

MESSAGE(STATUS "platform arch:" ${PLATFORM_ARCH_STR})

MESSAGE("C Compiler ID: ${CMAKE_C_COMPILER_ID}")
MESSAGE("CXX Compiler ID: ${CMAKE_CXX_COMPILER_ID}")
MESSAGE("C Compiler: ${CMAKE_C_COMPILER} (${CMAKE_C_COMPILER_ID}, ${CMAKE_C_COMPILER_VERSION})")
MESSAGE("CXX Compiler: ${CMAKE_CXX_COMPILER} (${CMAKE_C_COMPILER_ID}, ${CMAKE_CXX_COMPILER_VERSION})")
8 changes: 4 additions & 4 deletions cmake/cmake.version
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ELSEIF (HAVE_GIT)
SET(TD_VER_GIT "no git commit id")
ENDIF ()
ELSE ()
message(STATUS "no git cmd")
message(STATUS "no git found")
SET(TD_VER_GIT "no git commit id")
ENDIF ()

Expand Down Expand Up @@ -70,9 +70,9 @@ MESSAGE(STATUS "compatible: " ${TD_VER_COMPATIBLE})
MESSAGE(STATUS "commit id: " ${TD_VER_GIT})
MESSAGE(STATUS "build date: " ${TD_VER_DATE})
MESSAGE(STATUS "build type: " ${CMAKE_BUILD_TYPE})
MESSAGE(STATUS "type: " ${TD_VER_VERTYPE})
MESSAGE(STATUS "cpu: " ${TD_VER_CPUTYPE})
MESSAGE(STATUS "os: " ${TD_VER_OSTYPE})
MESSAGE(STATUS "type: " ${TD_VER_VERTYPE})
MESSAGE(STATUS "cpu: " ${TD_VER_CPUTYPE})
MESSAGE(STATUS "os: " ${TD_VER_OSTYPE})
MESSAGE(STATUS "============= compile version parameter information end ============= ")

STRING(REPLACE "." "_" TD_LIB_VER_NUMBER ${TD_VER_NUMBER})
6 changes: 3 additions & 3 deletions include/common/tcommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,13 +225,13 @@ typedef struct SVarColAttr {
// pBlockAgg->numOfNull == info.rows, all data are null
// pBlockAgg->numOfNull == 0, no data are null.
typedef struct SColumnInfoData {
char* pData; // the corresponding block data in memory
char* pData; // the corresponding block data in memory
union {
char* nullbitmap; // bitmap, one bit for each item in the list
SVarColAttr varmeta;
};
SColumnInfo info; // column info
bool hasNull; // if current column data has null value.
SColumnInfo info; // column info
bool hasNull; // if current column data has null value.
} SColumnInfoData;

typedef struct SQueryTableDataCond {
Expand Down
13 changes: 0 additions & 13 deletions include/common/tdatablock.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,13 @@
extern "C" {
#endif

typedef struct SCorEpSet {
int32_t version;
SEpSet epSet;
} SCorEpSet;

typedef struct SBlockOrderInfo {
bool nullFirst;
int32_t order;
int32_t slotId;
SColumnInfoData* pColData;
} SBlockOrderInfo;

int32_t taosGetFqdnPortFromEp(const char* ep, SEp* pEp);
void addEpIntoEpSet(SEpSet* pEpSet, const char* fqdn, uint16_t port);

bool isEpsetEqual(const SEpSet* s1, const SEpSet* s2);

void updateEpSet_s(SCorEpSet* pEpSet, SEpSet* pNewEpSet);
SEpSet getEpSet_s(SCorEpSet* pEpSet);

#define NBIT (3u)
#define BitPos(_n) ((_n) & ((1 << NBIT) - 1))
#define BMCharPos(bm_, r_) ((bm_)[(r_) >> NBIT])
Expand Down
2 changes: 2 additions & 0 deletions include/common/tglobal.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ extern int32_t tsCompatibleModel;
extern bool tsPrintAuth;
extern int64_t tsTickPerMin[3];
extern int32_t tsCountAlwaysReturnValue;
extern float tsSelectivityRatio;
extern int32_t tsTagFilterResCacheSize;

// queue & threads
extern int32_t tsNumOfRpcThreads;
Expand Down
42 changes: 42 additions & 0 deletions include/common/tmisce.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef TDENGINE_TMISCE_H
#define TDENGINE_TMISCE_H

#ifdef __cplusplus
extern "C" {
#endif

#include "tmsg.h"

typedef struct SCorEpSet {
int32_t version;
SEpSet epSet;
} SCorEpSet;

int32_t taosGetFqdnPortFromEp(const char* ep, SEp* pEp);
void addEpIntoEpSet(SEpSet* pEpSet, const char* fqdn, uint16_t port);

bool isEpsetEqual(const SEpSet* s1, const SEpSet* s2);

void updateEpSet_s(SCorEpSet* pEpSet, SEpSet* pNewEpSet);
SEpSet getEpSet_s(SCorEpSet* pEpSet);

#ifdef __cplusplus
}
#endif

#endif // TDENGINE_TMISCE_H
32 changes: 2 additions & 30 deletions include/common/tmsg.h
Original file line number Diff line number Diff line change
Expand Up @@ -649,34 +649,6 @@ int32_t tSerializeSGetUserAuthRsp(void* buf, int32_t bufLen, SGetUserAuthRsp* pR
int32_t tDeserializeSGetUserAuthRsp(void* buf, int32_t bufLen, SGetUserAuthRsp* pRsp);
void tFreeSGetUserAuthRsp(SGetUserAuthRsp* pRsp);

typedef struct {
int16_t lowerRelOptr;
int16_t upperRelOptr;
int16_t filterstr; // denote if current column is char(binary/nchar)

union {
struct {
int64_t lowerBndi;
int64_t upperBndi;
};
struct {
double lowerBndd;
double upperBndd;
};
struct {
int64_t pz;
int64_t len;
};
};
} SColumnFilterInfo;

typedef struct {
int16_t numOfFilters;
union {
int64_t placeholder;
SColumnFilterInfo* filterInfo;
};
} SColumnFilterList;
/*
* for client side struct, only column id, type, bytes are necessary
* But for data in vnode side, we need all the following information.
Expand All @@ -687,10 +659,10 @@ typedef struct {
int16_t slotId;
};

int8_t type;
int32_t bytes;
uint8_t precision;
uint8_t scale;
int32_t bytes;
int8_t type;
} SColumnInfo;

typedef struct STimeWindow {
Expand Down
3 changes: 3 additions & 0 deletions include/libs/executor/executor.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,11 @@ int32_t qGetQueryTableSchemaVersion(qTaskInfo_t tinfo, char* dbName, char* table
*/

int32_t qExecTaskOpt(qTaskInfo_t tinfo, SArray* pResList, uint64_t* useconds, bool* hasMore, SLocalFetch* pLocal);

int32_t qExecTask(qTaskInfo_t tinfo, SSDataBlock** pBlock, uint64_t* useconds);

void qCleanExecTaskBlockBuf(qTaskInfo_t tinfo);

/**
* kill the ongoing query asynchronously
* @param tinfo qhandle
Expand Down
2 changes: 1 addition & 1 deletion include/libs/function/function.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ typedef struct SInputColumnInfoData {
int32_t startRowIndex; // handle started row index
int32_t numOfRows; // the number of rows needs to be handled
int32_t numOfInputCols; // PTS is not included
bool colDataAggIsSet; // if agg is set or not
bool colDataSMAIsSet; // if agg is set or not
SColumnInfoData *pPTS; // primary timestamp column
SColumnInfoData **pData;
SColumnDataAgg **pColumnDataAgg;
Expand Down
7 changes: 7 additions & 0 deletions include/os/os.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ extern "C" {
#include <sys/utsname.h>
#include <sys/wait.h>
#include <termios.h>
#include <cpuid.h>

#if defined(DARWIN)
#else
Expand Down Expand Up @@ -82,6 +83,12 @@ extern "C" {
#include <wchar.h>
#include <wctype.h>

#if __AVX__
#include <immintrin.h>
#elif __SSE4_2__
#include <nmmintrin.h>
#endif

#include "osThread.h"

#include "osAtomic.h"
Expand Down
32 changes: 16 additions & 16 deletions include/os/osDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,22 +168,22 @@ void syslog(int unused, const char *format, ...);
} \
} while (0)

#define DEFAULT_DOUBLE_COMP(x, y) \
do { \
if (isnan(x) && isnan(y)) { \
return 0; \
} \
if (isnan(x)) { \
return -1; \
} \
if (isnan(y)) { \
return 1; \
} \
if ((x) == (y)) { \
return 0; \
} else { \
return (x) < (y) ? -1 : 1; \
} \
#define DEFAULT_DOUBLE_COMP(x, y) \
do { \
if (isnan(x) && isnan(y)) { \
return 0; \
} \
if (isnan(x)) { \
return -1; \
} \
if (isnan(y)) { \
return 1; \
} \
if (fabs((x) - (y)) <= DBL_EPSILON) { \
return 0; \
} else { \
return (x) < (y) ? -1 : 1; \
} \
} while (0)

#define DEFAULT_FLOAT_COMP(x, y) DEFAULT_DOUBLE_COMP(x, y)
Expand Down
5 changes: 5 additions & 0 deletions include/os/osEnv.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ extern int64_t tsStreamMax;
extern float tsNumOfCores;
extern int64_t tsTotalMemoryKB;
extern char *tsProcPath;
extern char tsSIMDEnable;
extern char tsSSE42Enable;
extern char tsAVXEnable;
extern char tsAVX2Enable;
extern char tsFMAEnable;

extern char configDir[];
extern char tsDataDir[];
Expand Down
1 change: 1 addition & 0 deletions include/os/osMemory.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ void taosMemoryFree(void *ptr);
int64_t taosMemorySize(void *ptr);
void taosPrintBackTrace();
void taosMemoryTrim(int32_t size);
void *taosMemoryMallocAlign(uint32_t alignment, int64_t size);

#define taosMemoryFreeClear(ptr) \
do { \
Expand Down
1 change: 1 addition & 0 deletions include/os/osSysinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ int32_t taosGetOsReleaseName(char *releaseName, int32_t maxLen);
int32_t taosGetCpuInfo(char *cpuModel, int32_t maxLen, float *numOfCores);
int32_t taosGetCpuCores(float *numOfCores);
void taosGetCpuUsage(double *cpu_system, double *cpu_engine);
int32_t taosGetCpuInstructions(char* sse42, char* avx, char* avx2, char* fma);
int32_t taosGetTotalMemory(int64_t *totalKB);
int32_t taosGetProcMemory(int64_t *usedKB);
int32_t taosGetSysMemory(int64_t *usedKB);
Expand Down
9 changes: 9 additions & 0 deletions include/util/tarray.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,15 @@ static FORCE_INLINE void* taosArrayPush(SArray* pArray, const void* pData) {
return taosArrayAddBatch(pArray, pData, 1);
}

/**
* @brief reserve the capacity of the array
*
* @param pArray
* @param num
* @return void* the start position of the reserved memory
*/
void* taosArrayReserve(SArray* pArray, int32_t num);

/**
*
* @param pArray
Expand Down
2 changes: 1 addition & 1 deletion include/util/tlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ void *tdListFree(SList *list);
void tdListPrependNode(SList *list, SListNode *node);
void tdListAppendNode(SList *list, SListNode *node);
int32_t tdListPrepend(SList *list, void *data);
int32_t tdListAppend(SList *list, void *data);
int32_t tdListAppend(SList *list, const void *data);
SListNode *tdListPopHead(SList *list);
SListNode *tdListPopTail(SList *list);
SListNode *tdListGetHead(SList *list);
Expand Down
Loading