Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3e96e645
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3e96e645
编写于
7月 27, 2021
作者:
M
markswang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-5534]<fix>:fix the coverity medium risk of client
上级
eaed6da8
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
70 addition
and
56 deletion
+70
-56
src/client/src/tscAsync.c
src/client/src/tscAsync.c
+0
-3
src/client/src/tscLocal.c
src/client/src/tscLocal.c
+6
-2
src/client/src/tscParseInsert.c
src/client/src/tscParseInsert.c
+1
-1
src/client/src/tscParseLineProtocol.c
src/client/src/tscParseLineProtocol.c
+0
-4
src/client/src/tscPrepare.c
src/client/src/tscPrepare.c
+3
-1
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+9
-7
src/client/src/tscServer.c
src/client/src/tscServer.c
+7
-2
src/client/src/tscStream.c
src/client/src/tscStream.c
+1
-1
src/client/src/tscSubquery.c
src/client/src/tscSubquery.c
+3
-0
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+4
-13
src/query/inc/qTableMeta.h
src/query/inc/qTableMeta.h
+1
-1
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+8
-3
src/query/src/qPlan.c
src/query/src/qPlan.c
+1
-1
src/query/src/qResultbuf.c
src/query/src/qResultbuf.c
+3
-2
src/query/src/qScript.c
src/query/src/qScript.c
+5
-3
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+15
-9
src/query/src/qTableMeta.c
src/query/src/qTableMeta.c
+1
-1
src/query/src/queryMain.c
src/query/src/queryMain.c
+1
-1
src/util/inc/tlist.h
src/util/inc/tlist.h
+1
-1
未找到文件。
src/client/src/tscAsync.c
浏览文件 @
3e96e645
...
...
@@ -493,9 +493,6 @@ void tscTableMetaCallBack(void *param, TAOS_RES *res, int code) {
return
;
}
taosReleaseRef
(
tscObjRef
,
pSql
->
self
);
return
;
_error:
pRes
->
code
=
code
;
tscAsyncResultOnError
(
pSql
);
...
...
src/client/src/tscLocal.c
浏览文件 @
3e96e645
...
...
@@ -851,15 +851,19 @@ static int32_t tscProcessServStatus(SSqlObj *pSql) {
SSqlObj
*
pHb
=
(
SSqlObj
*
)
taosAcquireRef
(
tscObjRef
,
pObj
->
hbrid
);
if
(
pHb
!=
NULL
)
{
pSql
->
res
.
code
=
pHb
->
res
.
code
;
taosReleaseRef
(
tscObjRef
,
pObj
->
hbrid
);
}
if
(
pSql
->
res
.
code
==
TSDB_CODE_RPC_NETWORK_UNAVAIL
)
{
taosReleaseRef
(
tscObjRef
,
pObj
->
hbrid
);
return
pSql
->
res
.
code
;
}
pSql
->
res
.
code
=
checkForOnlineNode
(
pHb
);
if
(
pHb
!=
NULL
)
{
pSql
->
res
.
code
=
checkForOnlineNode
(
pHb
);
}
if
(
pSql
->
res
.
code
==
TSDB_CODE_RPC_NETWORK_UNAVAIL
)
{
taosReleaseRef
(
tscObjRef
,
pObj
->
hbrid
);
return
pSql
->
res
.
code
;
}
...
...
src/client/src/tscParseInsert.c
浏览文件 @
3e96e645
...
...
@@ -2105,7 +2105,7 @@ static void parseFileSendDataBlock(void *param, TAOS_RES *tres, int32_t numOfRow
pParentSql
->
fp
=
pParentSql
->
fetchFp
;
// all data has been sent to vnode, call user function
int32_t
v
=
(
code
!=
TSDB_CODE_SUCCESS
)
?
code
:
(
int32_t
)
pParentSql
->
res
.
numOfRows
;
int32_t
v
=
(
int32_t
)
pParentSql
->
res
.
numOfRows
;
(
*
pParentSql
->
fp
)(
pParentSql
->
param
,
pParentSql
,
v
);
return
;
}
...
...
src/client/src/tscParseLineProtocol.c
浏览文件 @
3e96e645
...
...
@@ -438,10 +438,6 @@ int32_t loadTableMeta(TAOS* taos, char* tableName, SSmlSTableSchema* schema) {
char
fullTableName
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
memset
(
fullTableName
,
0
,
tListLen
(
fullTableName
));
tNameExtractFullName
(
&
sname
,
fullTableName
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
tscFreeSqlObj
(
pSql
);
return
code
;
}
tscFreeSqlObj
(
pSql
);
schema
->
tags
=
taosArrayInit
(
8
,
sizeof
(
SSchema
));
...
...
src/client/src/tscPrepare.c
浏览文件 @
3e96e645
...
...
@@ -1773,7 +1773,9 @@ int taos_stmt_close(TAOS_STMT* stmt) {
}
tscDestroyDataBlock
(
pStmt
->
mtb
.
lastBlock
,
rmMeta
);
pStmt
->
mtb
.
pTableBlockHashList
=
tscDestroyBlockHashTable
(
pStmt
->
mtb
.
pTableBlockHashList
,
rmMeta
);
taosHashCleanup
(
pStmt
->
pSql
->
cmd
.
insertParam
.
pTableBlockHashList
);
if
(
pStmt
->
pSql
){
taosHashCleanup
(
pStmt
->
pSql
->
cmd
.
insertParam
.
pTableBlockHashList
);
}
pStmt
->
pSql
->
cmd
.
insertParam
.
pTableBlockHashList
=
NULL
;
taosArrayDestroy
(
pStmt
->
mtb
.
tags
);
tfree
(
pStmt
->
mtb
.
sqlstr
);
...
...
src/client/src/tscSQLParser.c
浏览文件 @
3e96e645
...
...
@@ -6860,7 +6860,8 @@ static int32_t doAddGroupbyColumnsOnDemand(SSqlCmd* pCmd, SQueryInfo* pQueryInfo
tagSchema
=
tscGetTableTagSchema
(
pTableMetaInfo
->
pTableMeta
);
}
SSchema
*
s
=
NULL
;
SSchema
tmp
=
{.
type
=
0
,
.
name
=
""
,
.
colId
=
0
,
.
bytes
=
0
};
SSchema
*
s
=
&
tmp
;
for
(
int32_t
i
=
0
;
i
<
pQueryInfo
->
groupbyExpr
.
numOfGroupCols
;
++
i
)
{
SColIndex
*
pColIndex
=
taosArrayGet
(
pQueryInfo
->
groupbyExpr
.
columnInfo
,
i
);
...
...
@@ -6870,7 +6871,9 @@ static int32_t doAddGroupbyColumnsOnDemand(SSqlCmd* pCmd, SQueryInfo* pQueryInfo
s
=
tGetTbnameColumnSchema
();
}
else
{
if
(
TSDB_COL_IS_TAG
(
pColIndex
->
flag
))
{
s
=
&
tagSchema
[
colIndex
];
if
(
tagSchema
){
s
=
&
tagSchema
[
colIndex
];
}
}
else
{
s
=
&
pSchema
[
colIndex
];
}
...
...
@@ -8276,17 +8279,16 @@ static int32_t doLoadAllTableMeta(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNod
const
char
*
name
=
tNameGetTableName
(
&
pTableMetaInfo
->
name
);
STableMetaVgroupInfo
*
p
=
taosHashGet
(
pCmd
->
pTableMetaMap
,
name
,
strlen
(
name
));
if
(
!
p
){
tscError
(
"taosHashGet meta null. name:%s"
,
name
);
return
TSDB_CODE_TSC_APP_ERROR
;
}
pTableMetaInfo
->
pTableMeta
=
tscTableMetaDup
(
p
->
pTableMeta
);
assert
(
pTableMetaInfo
->
pTableMeta
!=
NULL
);
if
(
p
->
pVgroupInfo
!=
NULL
)
{
pTableMetaInfo
->
vgroupList
=
tscVgroupsInfoDup
(
p
->
pVgroupInfo
);
}
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
}
return
TSDB_CODE_SUCCESS
;
...
...
src/client/src/tscServer.c
浏览文件 @
3e96e645
...
...
@@ -691,7 +691,9 @@ static char *doSerializeTableInfo(SQueryTableMsg *pQueryMsg, SSqlObj *pSql, STab
tscDumpEpSetFromVgroupInfo
(
&
pSql
->
epSet
,
&
vgroupInfo
);
}
pSql
->
epSet
.
inUse
=
rand
()
%
pSql
->
epSet
.
numOfEps
;
if
(
pSql
->
epSet
.
numOfEps
>
0
){
pSql
->
epSet
.
inUse
=
rand
()
%
pSql
->
epSet
.
numOfEps
;
}
pQueryMsg
->
head
.
vgId
=
htonl
(
vgId
);
STableIdInfo
*
pTableIdInfo
=
(
STableIdInfo
*
)
pMsg
;
...
...
@@ -968,7 +970,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
}
}
if
(
query
.
numOfTags
>
0
)
{
if
(
query
.
numOfTags
>
0
&&
query
.
tagColList
!=
NULL
)
{
for
(
int32_t
i
=
0
;
i
<
query
.
numOfTags
;
++
i
)
{
SColumnInfo
*
pTag
=
&
query
.
tagColList
[
i
];
...
...
@@ -2351,6 +2353,9 @@ int tscProcessSTableVgroupRsp(SSqlObj *pSql) {
break
;
}
if
(
!
pInfo
){
continue
;
}
int32_t
size
=
0
;
pInfo
->
vgroupList
=
createVgroupInfoFromMsg
(
pMsg
,
&
size
,
pSql
->
self
);
pMsg
+=
size
;
...
...
src/client/src/tscStream.c
浏览文件 @
3e96e645
...
...
@@ -271,7 +271,7 @@ static void tscProcessStreamRetrieveResult(void *param, TAOS_RES *res, int numOf
if
(
pSql
==
NULL
||
numOfRows
<
0
)
{
int64_t
retryDelayTime
=
tscGetRetryDelayTime
(
pStream
,
pStream
->
interval
.
sliding
,
pStream
->
precision
);
tscError
(
"
0x%"
PRIx64
" stream:%p, retrieve data failed, code:0x%08x, retry in %"
PRId64
" ms"
,
pSql
->
self
,
pStream
,
numOfRows
,
retryDelayTime
);
tscError
(
"
stream:%p, retrieve data failed, code:0x%08x, retry in %"
PRId64
" ms"
,
pStream
,
numOfRows
,
retryDelayTime
);
tscSetRetryTimer
(
pStream
,
pStream
->
pSql
,
retryDelayTime
);
return
;
...
...
src/client/src/tscSubquery.c
浏览文件 @
3e96e645
...
...
@@ -2723,6 +2723,9 @@ void tscHandleSubqueryError(SRetrieveSupport *trsupport, SSqlObj *pSql, int numO
}
static
void
tscAllDataRetrievedFromDnode
(
SRetrieveSupport
*
trsupport
,
SSqlObj
*
pSql
)
{
if
(
trsupport
->
pExtMemBuffer
==
NULL
){
return
;
}
int32_t
idx
=
trsupport
->
subqueryIndex
;
SSqlObj
*
pParentSql
=
trsupport
->
pParentSql
;
tOrderDescriptor
*
pDesc
=
trsupport
->
pOrderDescriptor
;
...
...
src/client/src/tscUtil.c
浏览文件 @
3e96e645
...
...
@@ -275,16 +275,6 @@ bool tscIsProjectionQuery(SQueryInfo* pQueryInfo) {
f
!=
TSDB_FUNC_DERIVATIVE
)
{
return
false
;
}
if
(
f
<
0
)
{
SUdfInfo
*
pUdfInfo
=
taosArrayGet
(
pQueryInfo
->
pUdfInfo
,
-
1
*
f
-
1
);
if
(
pUdfInfo
->
funcType
==
TSDB_UDF_TYPE_AGGREGATE
)
{
return
false
;
}
continue
;
}
}
return
true
;
...
...
@@ -3420,7 +3410,7 @@ STableMetaInfo* tscAddTableMetaInfo(SQueryInfo* pQueryInfo, SName* name, STableM
return
NULL
;
}
if
(
pTagCols
!=
NULL
)
{
if
(
pTagCols
!=
NULL
&&
pTableMetaInfo
->
pTableMeta
!=
NULL
)
{
tscColumnListCopy
(
pTableMetaInfo
->
tagColList
,
pTagCols
,
pTableMetaInfo
->
pTableMeta
->
id
.
uid
);
}
...
...
@@ -3851,7 +3841,8 @@ void executeQuery(SSqlObj* pSql, SQueryInfo* pQueryInfo) {
SSqlObj
*
pNew
=
(
SSqlObj
*
)
calloc
(
1
,
sizeof
(
SSqlObj
));
if
(
pNew
==
NULL
)
{
terrno
=
TSDB_CODE_TSC_OUT_OF_MEMORY
;
// return NULL;
tscError
(
"pNew == NULL, out of memory"
);
return
;
}
pNew
->
pTscObj
=
pSql
->
pTscObj
;
...
...
@@ -4339,7 +4330,7 @@ uint32_t tscGetTableMetaSize(STableMeta* pTableMeta) {
assert
(
pTableMeta
!=
NULL
);
int32_t
totalCols
=
0
;
if
(
pTableMeta
->
tableInfo
.
numOfColumns
>=
0
&&
pTableMeta
->
tableInfo
.
numOfTags
>=
0
)
{
if
(
pTableMeta
->
tableInfo
.
numOfColumns
>=
0
)
{
totalCols
=
pTableMeta
->
tableInfo
.
numOfColumns
+
pTableMeta
->
tableInfo
.
numOfTags
;
}
...
...
src/query/inc/qTableMeta.h
浏览文件 @
3e96e645
...
...
@@ -60,7 +60,7 @@ typedef struct STableComInfo {
typedef
struct
STableMeta
{
int32_t
vgId
;
STableId
id
;
uint8_t
tableType
;
int8_t
tableType
;
char
sTableName
[
TSDB_TABLE_FNAME_LEN
];
// super table name
uint64_t
suid
;
// super table id
int16_t
sversion
;
...
...
src/query/src/qExecutor.c
浏览文件 @
3e96e645
...
...
@@ -30,6 +30,7 @@
#include "tcompare.h"
#include "tscompression.h"
#include "qScript.h"
#include "tscLog.h"
#define IS_MASTER_SCAN(runtime) ((runtime)->scanFlag == MASTER_SCAN)
#define IS_REVERSE_SCAN(runtime) ((runtime)->scanFlag == REVERSE_SCAN)
...
...
@@ -750,7 +751,7 @@ static int32_t getNumOfRowsInTimeWindow(SQueryRuntimeEnv* pRuntimeEnv, SDataBloc
int32_t
step
=
GET_FORWARD_DIRECTION_FACTOR
(
order
);
if
(
QUERY_IS_ASC_QUERY
(
pQueryAttr
))
{
if
(
ekey
<
pDataBlockInfo
->
window
.
ekey
)
{
if
(
ekey
<
pDataBlockInfo
->
window
.
ekey
&&
pPrimaryColumn
)
{
num
=
getForwardStepsInBlock
(
pDataBlockInfo
->
rows
,
searchFn
,
ekey
,
startPos
,
order
,
pPrimaryColumn
);
if
(
updateLastKey
)
{
// update the last key
item
->
lastKey
=
pPrimaryColumn
[
startPos
+
(
num
-
1
)]
+
step
;
...
...
@@ -762,7 +763,7 @@ static int32_t getNumOfRowsInTimeWindow(SQueryRuntimeEnv* pRuntimeEnv, SDataBloc
}
}
}
else
{
// desc
if
(
ekey
>
pDataBlockInfo
->
window
.
skey
)
{
if
(
ekey
>
pDataBlockInfo
->
window
.
skey
&&
pPrimaryColumn
)
{
num
=
getForwardStepsInBlock
(
pDataBlockInfo
->
rows
,
searchFn
,
ekey
,
startPos
,
order
,
pPrimaryColumn
);
if
(
updateLastKey
)
{
// update the last key
item
->
lastKey
=
pPrimaryColumn
[
startPos
-
(
num
-
1
)]
+
step
;
...
...
@@ -1299,6 +1300,10 @@ static void doWindowBorderInterpolation(SOperatorInfo* pOperatorInfo, SSDataBloc
assert
(
pBlock
!=
NULL
);
int32_t
step
=
GET_FORWARD_DIRECTION_FACTOR
(
pQueryAttr
->
order
.
order
);
if
(
pBlock
->
pDataBlock
==
NULL
){
tscError
(
"pBlock->pDataBlock == NULL"
);
return
;
}
SColumnInfoData
*
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
0
);
TSKEY
*
tsCols
=
(
TSKEY
*
)(
pColInfo
->
pData
);
...
...
@@ -7540,7 +7545,7 @@ SGroupbyExpr *createGroupbyExprFromMsg(SQueryTableMsg *pQueryMsg, SColIndex *pCo
int32_t
doCreateFilterInfo
(
SColumnInfo
*
pCols
,
int32_t
numOfCols
,
int32_t
numOfFilterCols
,
SSingleColumnFilterInfo
**
pFilterInfo
,
uint64_t
qId
)
{
*
pFilterInfo
=
calloc
(
1
,
sizeof
(
SSingleColumnFilterInfo
)
*
numOfFilterCols
);
if
(
pFilterInfo
==
NULL
)
{
if
(
*
pFilterInfo
==
NULL
)
{
return
TSDB_CODE_QRY_OUT_OF_MEMORY
;
}
...
...
src/query/src/qPlan.c
浏览文件 @
3e96e645
...
...
@@ -40,7 +40,7 @@ static SQueryNode* createQueryNode(int32_t type, const char* name, SQueryNode**
pNode
->
info
.
type
=
type
;
pNode
->
info
.
name
=
strdup
(
name
);
if
(
pTableInfo
->
id
.
uid
!=
0
)
{
// it is a true table
if
(
pTableInfo
->
id
.
uid
!=
0
&&
pTableInfo
->
tableName
)
{
// it is a true table
pNode
->
tableInfo
.
id
=
pTableInfo
->
id
;
pNode
->
tableInfo
.
tableName
=
strdup
(
pTableInfo
->
tableName
);
}
...
...
src/query/src/qResultbuf.c
浏览文件 @
3e96e645
...
...
@@ -78,8 +78,9 @@ static char* doDecompressData(void* data, int32_t srcSize, int32_t *dst, SDiskba
}
*
dst
=
tsDecompressString
(
data
,
srcSize
,
1
,
pResultBuf
->
assistBuf
,
pResultBuf
->
pageSize
,
ONE_STAGE_COMP
,
NULL
,
0
);
memcpy
(
data
,
pResultBuf
->
assistBuf
,
*
dst
);
if
(
*
dst
>
0
)
{
memcpy
(
data
,
pResultBuf
->
assistBuf
,
*
dst
);
}
return
data
;
}
...
...
src/query/src/qScript.c
浏览文件 @
3e96e645
...
...
@@ -377,9 +377,11 @@ ScriptEnv* getScriptEnvFromPool() {
return
NULL
;
}
SListNode
*
pNode
=
tdListPopHead
(
pool
->
scriptEnvs
);
tdListNodeGetData
(
pool
->
scriptEnvs
,
pNode
,
(
void
*
)(
&
pEnv
));
listNodeFree
(
pNode
);
if
(
pNode
){
tdListNodeGetData
(
pool
->
scriptEnvs
,
pNode
,
(
void
*
)(
&
pEnv
));
listNodeFree
(
pNode
);
}
pool
->
cSize
--
;
pthread_mutex_unlock
(
&
pool
->
mutex
);
return
pEnv
;
...
...
src/query/src/qSqlParser.c
浏览文件 @
3e96e645
...
...
@@ -142,14 +142,17 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
}
if
(
optrType
==
TK_NULL
)
{
pToken
->
type
=
TSDB_DATA_TYPE_NULL
;
tVariantCreate
(
&
pSqlExpr
->
value
,
pToken
);
if
(
pToken
){
pToken
->
type
=
TSDB_DATA_TYPE_NULL
;
tVariantCreate
(
&
pSqlExpr
->
value
,
pToken
);
}
pSqlExpr
->
tokenId
=
optrType
;
pSqlExpr
->
type
=
SQL_NODE_VALUE
;
}
else
if
(
optrType
==
TK_INTEGER
||
optrType
==
TK_STRING
||
optrType
==
TK_FLOAT
||
optrType
==
TK_BOOL
)
{
toTSDBType
(
pToken
->
type
);
tVariantCreate
(
&
pSqlExpr
->
value
,
pToken
);
if
(
pToken
)
{
toTSDBType
(
pToken
->
type
);
tVariantCreate
(
&
pSqlExpr
->
value
,
pToken
);
}
pSqlExpr
->
tokenId
=
optrType
;
pSqlExpr
->
type
=
SQL_NODE_VALUE
;
}
else
if
(
optrType
==
TK_NOW
)
{
...
...
@@ -162,9 +165,11 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
}
else
if
(
optrType
==
TK_VARIABLE
)
{
// use nanosecond by default
// TODO set value after getting database precision
int32_t
ret
=
parseAbsoluteDuration
(
pToken
->
z
,
pToken
->
n
,
&
pSqlExpr
->
value
.
i64
,
TSDB_TIME_PRECISION_NANO
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
terrno
=
TSDB_CODE_TSC_SQL_SYNTAX_ERROR
;
if
(
pToken
)
{
int32_t
ret
=
parseAbsoluteDuration
(
pToken
->
z
,
pToken
->
n
,
&
pSqlExpr
->
value
.
i64
,
TSDB_TIME_PRECISION_NANO
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
terrno
=
TSDB_CODE_TSC_SQL_SYNTAX_ERROR
;
}
}
pSqlExpr
->
flags
|=
1
<<
EXPR_FLAG_NS_TIMESTAMP
;
...
...
@@ -340,8 +345,9 @@ static FORCE_INLINE int32_t tStrTokenCompare(SStrToken* left, SStrToken* right)
return
(
left
->
type
==
right
->
type
&&
left
->
n
==
right
->
n
&&
strncasecmp
(
left
->
z
,
right
->
z
,
left
->
n
)
==
0
)
?
0
:
1
;
}
// this function is not used for temporary
int32_t
tSqlExprCompare
(
tSqlExpr
*
left
,
tSqlExpr
*
right
)
{
if
((
left
==
NULL
&&
right
)
||
(
left
&&
right
==
NULL
))
{
if
((
left
==
NULL
&&
right
)
||
(
left
&&
right
==
NULL
)
||
(
left
==
NULL
&&
right
==
NULL
)
)
{
return
1
;
}
...
...
src/query/src/qTableMeta.c
浏览文件 @
3e96e645
...
...
@@ -72,7 +72,7 @@ SSchema* tscGetColumnSchemaById(STableMeta* pTableMeta, int16_t colId) {
}
STableMeta
*
tscCreateTableMetaFromMsg
(
STableMetaMsg
*
pTableMetaMsg
)
{
assert
(
pTableMetaMsg
!=
NULL
&&
pTableMetaMsg
->
numOfColumns
>=
2
&&
pTableMetaMsg
->
numOfTags
>=
0
);
assert
(
pTableMetaMsg
!=
NULL
&&
pTableMetaMsg
->
numOfColumns
>=
2
);
int32_t
schemaSize
=
(
pTableMetaMsg
->
numOfColumns
+
pTableMetaMsg
->
numOfTags
)
*
sizeof
(
SSchema
);
STableMeta
*
pTableMeta
=
calloc
(
1
,
sizeof
(
STableMeta
)
+
schemaSize
);
...
...
src/query/src/queryMain.c
浏览文件 @
3e96e645
...
...
@@ -261,7 +261,7 @@ int32_t qRetrieveQueryResultInfo(qinfo_t qinfo, bool* buildRes, void* pRspContex
SQInfo
*
pQInfo
=
(
SQInfo
*
)
qinfo
;
if
(
pQInfo
==
NULL
||
!
isValidQInfo
(
pQInfo
))
{
qError
(
"QInfo
:0x%"
PRIx64
" invalid qhandle"
,
pQInfo
->
qId
);
qError
(
"QInfo
invalid qhandle"
);
return
TSDB_CODE_QRY_INVALID_QHANDLE
;
}
...
...
src/util/inc/tlist.h
浏览文件 @
3e96e645
...
...
@@ -44,7 +44,7 @@ typedef struct {
#define listNEles(l) (l)->numOfEles
#define listEleSize(l) (l)->eleSize
#define isListEmpty(l) ((l)->numOfEles == 0)
#define listNodeFree(n) free(n)
;
#define listNodeFree(n) free(n)
SList
*
tdListNew
(
int
eleSize
);
void
*
tdListFree
(
SList
*
list
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录