Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
398ccbcc
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看板
未验证
提交
398ccbcc
编写于
11月 08, 2022
作者:
D
dapan1121
提交者:
GitHub
11月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #17957 from taosdata/fix/compareIssue
fix: fix compare invalid read issues
上级
c0162669
fc73d39a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
20 deletion
+20
-20
source/libs/scalar/src/filter.c
source/libs/scalar/src/filter.c
+2
-2
source/util/src/tcompare.c
source/util/src/tcompare.c
+18
-18
未找到文件。
source/libs/scalar/src/filter.c
浏览文件 @
398ccbcc
...
...
@@ -1169,7 +1169,7 @@ int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
SScalarParam
out
=
{.
columnData
=
taosMemoryCalloc
(
1
,
sizeof
(
SColumnInfoData
))};
out
.
columnData
->
info
.
type
=
type
;
out
.
columnData
->
info
.
bytes
=
tDataTypes
[
type
].
bytes
;
out
.
columnData
->
info
.
bytes
=
tDataTypes
[
TSDB_DATA_TYPE_BIGINT
].
bytes
;
//reserved space for simple_copy
for
(
int32_t
i
=
0
;
i
<
listNode
->
pNodeList
->
length
;
++
i
)
{
SValueNode
*
valueNode
=
(
SValueNode
*
)
cell
->
pNode
;
...
...
@@ -1191,7 +1191,7 @@ int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
filterAddField
(
info
,
NULL
,
(
void
**
)
&
out
.
columnData
->
pData
,
FLD_TYPE_VALUE
,
&
right
,
len
,
true
);
out
.
columnData
->
pData
=
NULL
;
}
else
{
void
*
data
=
taosMemoryCalloc
(
1
,
tDataTypes
[
type
].
bytes
);
void
*
data
=
taosMemoryCalloc
(
1
,
tDataTypes
[
TSDB_DATA_TYPE_BIGINT
].
bytes
);
//reserved space for simple_copy
if
(
NULL
==
data
)
{
FLT_ERR_RET
(
TSDB_CODE_QRY_OUT_OF_MEMORY
);
}
...
...
source/util/src/tcompare.c
浏览文件 @
398ccbcc
...
...
@@ -249,7 +249,7 @@ int32_t compareJsonVal(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Int16
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
int16_t
right
=
GET_INT16_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -257,7 +257,7 @@ int32_t compareInt8Int16(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Int32
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
int32_t
right
=
GET_INT32_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -265,7 +265,7 @@ int32_t compareInt8Int32(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Int64
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
int64_t
right
=
GET_INT64_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -273,7 +273,7 @@ int32_t compareInt8Int64(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Float
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
float
right
=
GET_FLOAT_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -281,7 +281,7 @@ int32_t compareInt8Float(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Double
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
double
right
=
GET_DOUBLE_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -289,7 +289,7 @@ int32_t compareInt8Double(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Uint8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
uint8_t
right
=
GET_UINT8_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -297,7 +297,7 @@ int32_t compareInt8Uint8(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Uint16
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
uint16_t
right
=
GET_UINT16_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -305,7 +305,7 @@ int32_t compareInt8Uint16(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Uint32
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
uint32_t
right
=
GET_UINT32_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -313,7 +313,7 @@ int32_t compareInt8Uint32(const void *pLeft, const void *pRight) {
}
int32_t
compareInt8Uint64
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int8_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int8_t
left
=
GET_INT
8
_VAL
(
pLeft
);
uint64_t
right
=
GET_UINT64_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -321,7 +321,7 @@ int32_t compareInt8Uint64(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Int8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
int8_t
right
=
GET_INT8_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -329,7 +329,7 @@ int32_t compareInt16Int8(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Int32
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
int32_t
right
=
GET_INT32_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -337,7 +337,7 @@ int32_t compareInt16Int32(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Int64
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
int64_t
right
=
GET_INT64_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -345,7 +345,7 @@ int32_t compareInt16Int64(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Float
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
float
right
=
GET_FLOAT_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -353,7 +353,7 @@ int32_t compareInt16Float(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Double
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
double
right
=
GET_DOUBLE_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -361,7 +361,7 @@ int32_t compareInt16Double(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Uint8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
uint8_t
right
=
GET_UINT8_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -369,7 +369,7 @@ int32_t compareInt16Uint8(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Uint16
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
uint16_t
right
=
GET_UINT16_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -377,7 +377,7 @@ int32_t compareInt16Uint16(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Uint32
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
uint32_t
right
=
GET_UINT32_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
@@ -385,7 +385,7 @@ int32_t compareInt16Uint32(const void *pLeft, const void *pRight) {
}
int32_t
compareInt16Uint64
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int16_t
left
=
GET_INT
32
_VAL
(
pLeft
);
int16_t
left
=
GET_INT
16
_VAL
(
pLeft
);
uint64_t
right
=
GET_UINT64_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录