Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
ec4eff29
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ec4eff29
编写于
1月 05, 2021
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add malloc
上级
040e4354
变更
18
显示空白变更内容
内联
并排
Showing
18 changed file
with
132 addition
and
126 deletion
+132
-126
src/client/src/TSDBJNIConnector.c
src/client/src/TSDBJNIConnector.c
+2
-2
src/dnode/src/dnodeSystem.c
src/dnode/src/dnodeSystem.c
+2
-0
src/kit/shell/src/shellMain.c
src/kit/shell/src/shellMain.c
+3
-0
src/kit/taosdemo/taosdemo.c
src/kit/taosdemo/taosdemo.c
+3
-1
src/os/inc/osMemory.h
src/os/inc/osMemory.h
+1
-1
src/os/src/detail/osMemory.c
src/os/src/detail/osMemory.c
+4
-5
src/query/src/qAggMain.c
src/query/src/qAggMain.c
+1
-1
src/query/src/qAst.c
src/query/src/qAst.c
+6
-6
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+38
-38
src/query/src/qExtbuffer.c
src/query/src/qExtbuffer.c
+8
-8
src/query/src/qFill.c
src/query/src/qFill.c
+7
-7
src/query/src/qHistogram.c
src/query/src/qHistogram.c
+6
-6
src/query/src/qParserImpl.c
src/query/src/qParserImpl.c
+23
-23
src/query/src/qPercentile.c
src/query/src/qPercentile.c
+3
-3
src/query/src/qResultbuf.c
src/query/src/qResultbuf.c
+5
-5
src/query/src/qTsbuf.c
src/query/src/qTsbuf.c
+14
-14
src/query/src/qUtil.c
src/query/src/qUtil.c
+3
-3
src/query/src/sql.c
src/query/src/sql.c
+3
-3
未找到文件。
src/client/src/TSDBJNIConnector.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
}
...
...
src/dnode/src/dnodeSystem.c
浏览文件 @
ec4eff29
...
...
@@ -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
)
{
...
...
src/kit/shell/src/shellMain.c
浏览文件 @
ec4eff29
...
...
@@ -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
);
}
...
...
src/kit/taosdemo/taosdemo.c
浏览文件 @
ec4eff29
...
...
@@ -612,6 +612,8 @@ int main(int argc, char *argv[]) {
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
);
...
...
src/os/inc/osMemory.h
浏览文件 @
ec4eff29
...
...
@@ -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); \
...
...
src/os/src/detail/osMemory.c
浏览文件 @
ec4eff29
...
...
@@ -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
));
...
...
src/query/src/qAggMain.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
}
...
...
src/query/src/qAst.c
浏览文件 @
ec4eff29
...
...
@@ -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
);
...
...
src/query/src/qExecutor.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
...
...
src/query/src/qExtbuffer.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
}
...
...
src/query/src/qFill.c
浏览文件 @
ec4eff29
...
...
@@ -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
);
...
...
src/query/src/qHistogram.c
浏览文件 @
ec4eff29
...
...
@@ -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
)
{
...
...
src/query/src/qParserImpl.c
浏览文件 @
ec4eff29
...
...
@@ -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
);
...
...
src/query/src/qPercentile.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
...
...
src/query/src/qResultbuf.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
}
...
...
src/query/src/qTsbuf.c
浏览文件 @
ec4eff29
...
...
@@ -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
;
...
...
src/query/src/qUtil.c
浏览文件 @
ec4eff29
...
...
@@ -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
{
...
...
src/query/src/sql.c
浏览文件 @
ec4eff29
...
...
@@ -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
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录