Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
cb2f09ed
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看板
未验证
提交
cb2f09ed
编写于
2月 26, 2023
作者:
D
dapan1121
提交者:
GitHub
2月 26, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #20139 from taosdata/fix/TD-22664-3.0
fix: fix coverity issue
上级
e4e7f1ec
9342d796
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
1 addition
and
54 deletion
+1
-54
include/common/ttypes.h
include/common/ttypes.h
+0
-4
source/common/src/tvariant.c
source/common/src/tvariant.c
+0
-33
source/libs/scalar/src/filter.c
source/libs/scalar/src/filter.c
+1
-17
未找到文件。
include/common/ttypes.h
浏览文件 @
cb2f09ed
...
...
@@ -53,10 +53,6 @@ typedef struct {
#define varDataNetLen(v) (htons(((VarDataLenT *)(v))[0]))
#define varDataNetTLen(v) (sizeof(VarDataLenT) + varDataNetLen(v))
// this data type is internally used only in 'in' query to hold the values
#define TSDB_DATA_TYPE_POINTER_ARRAY (1000)
#define TSDB_DATA_TYPE_VALUE_ARRAY (1001)
#define GET_TYPED_DATA(_v, _finalType, _type, _data) \
do { \
switch (_type) { \
...
...
source/common/src/tvariant.c
浏览文件 @
cb2f09ed
...
...
@@ -145,19 +145,6 @@ void taosVariantDestroy(SVariant *pVar) {
pVar
->
nLen
=
0
;
}
// NOTE: this is only for string array
if
(
pVar
->
nType
==
TSDB_DATA_TYPE_POINTER_ARRAY
)
{
size_t
num
=
taosArrayGetSize
(
pVar
->
arr
);
for
(
size_t
i
=
0
;
i
<
num
;
i
++
)
{
void
*
p
=
taosArrayGetP
(
pVar
->
arr
,
i
);
taosMemoryFree
(
p
);
}
taosArrayDestroy
(
pVar
->
arr
);
pVar
->
arr
=
NULL
;
}
else
if
(
pVar
->
nType
==
TSDB_DATA_TYPE_VALUE_ARRAY
)
{
taosArrayDestroy
(
pVar
->
arr
);
pVar
->
arr
=
NULL
;
}
}
void
taosVariantAssign
(
SVariant
*
pDst
,
const
SVariant
*
pSrc
)
{
...
...
@@ -180,28 +167,8 @@ void taosVariantAssign(SVariant *pDst, const SVariant *pSrc) {
if
(
IS_NUMERIC_TYPE
(
pSrc
->
nType
)
||
(
pSrc
->
nType
==
TSDB_DATA_TYPE_BOOL
))
{
pDst
->
i
=
pSrc
->
i
;
}
else
if
(
pSrc
->
nType
==
TSDB_DATA_TYPE_POINTER_ARRAY
)
{
// this is only for string array
size_t
num
=
taosArrayGetSize
(
pSrc
->
arr
);
pDst
->
arr
=
taosArrayInit
(
num
,
sizeof
(
char
*
));
for
(
size_t
i
=
0
;
i
<
num
;
i
++
)
{
char
*
p
=
(
char
*
)
taosArrayGetP
(
pSrc
->
arr
,
i
);
char
*
n
=
taosStrdup
(
p
);
taosArrayPush
(
pDst
->
arr
,
&
n
);
}
}
else
if
(
pSrc
->
nType
==
TSDB_DATA_TYPE_VALUE_ARRAY
)
{
size_t
num
=
taosArrayGetSize
(
pSrc
->
arr
);
pDst
->
arr
=
taosArrayInit
(
num
,
sizeof
(
int64_t
));
pDst
->
nLen
=
pSrc
->
nLen
;
ASSERT
(
pSrc
->
nLen
==
num
);
for
(
size_t
i
=
0
;
i
<
num
;
i
++
)
{
int64_t
*
p
=
taosArrayGet
(
pSrc
->
arr
,
i
);
taosArrayPush
(
pDst
->
arr
,
p
);
}
}
if
(
pDst
->
nType
!=
TSDB_DATA_TYPE_POINTER_ARRAY
&&
pDst
->
nType
!=
TSDB_DATA_TYPE_VALUE_ARRAY
)
{
pDst
->
nLen
=
tDataTypes
[
pDst
->
nType
].
bytes
;
}
}
int32_t
taosVariantCompare
(
const
SVariant
*
p1
,
const
SVariant
*
p2
)
{
...
...
source/libs/scalar/src/filter.c
浏览文件 @
cb2f09ed
...
...
@@ -1651,12 +1651,7 @@ void filterDumpInfoToString(SFilterInfo *info, const char *msg, int32_t options)
SValueNode
*
var
=
(
SValueNode
*
)
field
->
desc
;
SDataType
*
dType
=
&
var
->
node
.
resType
;
// if (dType->type == TSDB_DATA_TYPE_VALUE_ARRAY) {
// qDebug("VAL%d => [type:TS][val:[%" PRIi64 "] - [%" PRId64 "]]", i, *(int64_t *)field->data,
// *(((int64_t *)field->data) + 1));
// } else {
qDebug
(
"VAL%d => [type:%d][val:%"
PRIx64
"]"
,
i
,
dType
->
type
,
var
->
datum
.
i
);
// TODO
//}
}
else
if
(
field
->
data
)
{
qDebug
(
"VAL%d => [type:NIL][val:NIL]"
,
i
);
// TODO
}
...
...
@@ -1975,20 +1970,9 @@ int32_t fltInitValFieldData(SFilterInfo *info) {
bytes
=
(
len
+
1
)
*
TSDB_NCHAR_SIZE
+
VARSTR_HEADER_SIZE
;
fi
->
data
=
taosMemoryCalloc
(
1
,
bytes
);
}
else
{
if
(
dType
->
type
==
TSDB_DATA_TYPE_VALUE_ARRAY
)
{
// TIME RANGE
/*
fi->data = taosMemoryCalloc(dType->bytes, tDataTypes[type].bytes);
for (int32_t a = 0; a < dType->bytes; ++a) {
int64_t *v = taosArrayGet(var->arr, a);
assignVal((char *)fi->data + a * tDataTypes[type].bytes, (char *)v, 0, type);
}
*/
continue
;
}
else
{
fi
->
data
=
taosMemoryCalloc
(
1
,
sizeof
(
int64_t
));
}
}
if
(
dType
->
type
==
type
)
{
assignVal
(
fi
->
data
,
nodesGetValueFromNode
(
var
),
dType
->
bytes
,
type
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录