Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
44dcaf25
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
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看板
提交
44dcaf25
编写于
8月 29, 2022
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix type convertion issue
上级
d18e7cd7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
8 deletion
+36
-8
source/libs/scalar/src/sclvector.c
source/libs/scalar/src/sclvector.c
+2
-2
source/util/src/tcompare.c
source/util/src/tcompare.c
+34
-6
未找到文件。
source/libs/scalar/src/sclvector.c
浏览文件 @
44dcaf25
...
@@ -909,11 +909,11 @@ int32_t vectorConvertImpl(const SScalarParam* pIn, SScalarParam* pOut, int32_t*
...
@@ -909,11 +909,11 @@ int32_t vectorConvertImpl(const SScalarParam* pIn, SScalarParam* pOut, int32_t*
int8_t
gConvertTypes
[
TSDB_DATA_TYPE_BLOB
+
1
][
TSDB_DATA_TYPE_BLOB
+
1
]
=
{
int8_t
gConvertTypes
[
TSDB_DATA_TYPE_BLOB
+
1
][
TSDB_DATA_TYPE_BLOB
+
1
]
=
{
/* NULL BOOL TINY SMAL INT BIG FLOA DOUB VARC TIME NCHA UTIN USMA UINT UBIG JSON VARB DECI BLOB */
/* NULL BOOL TINY SMAL INT BIG FLOA DOUB VARC TIME NCHA UTIN USMA UINT UBIG JSON VARB DECI BLOB */
/*NULL*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/*NULL*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/*BOOL*/
0
,
0
,
0
,
3
,
4
,
5
,
6
,
7
,
7
,
9
,
7
,
0
,
12
,
13
,
14
,
0
,
7
,
0
,
0
,
/*BOOL*/
0
,
0
,
2
,
3
,
4
,
5
,
6
,
7
,
7
,
9
,
7
,
11
,
12
,
13
,
14
,
0
,
7
,
0
,
0
,
/*TINY*/
0
,
0
,
0
,
3
,
4
,
5
,
6
,
7
,
7
,
9
,
7
,
3
,
4
,
5
,
7
,
0
,
7
,
0
,
0
,
/*TINY*/
0
,
0
,
0
,
3
,
4
,
5
,
6
,
7
,
7
,
9
,
7
,
3
,
4
,
5
,
7
,
0
,
7
,
0
,
0
,
/*SMAL*/
0
,
0
,
0
,
0
,
4
,
5
,
6
,
7
,
7
,
9
,
7
,
3
,
4
,
5
,
7
,
0
,
7
,
0
,
0
,
/*SMAL*/
0
,
0
,
0
,
0
,
4
,
5
,
6
,
7
,
7
,
9
,
7
,
3
,
4
,
5
,
7
,
0
,
7
,
0
,
0
,
/*INT */
0
,
0
,
0
,
0
,
0
,
5
,
6
,
7
,
7
,
9
,
7
,
4
,
4
,
5
,
7
,
0
,
7
,
0
,
0
,
/*INT */
0
,
0
,
0
,
0
,
0
,
5
,
6
,
7
,
7
,
9
,
7
,
4
,
4
,
5
,
7
,
0
,
7
,
0
,
0
,
/*BIGI*/
0
,
0
,
0
,
0
,
0
,
0
,
6
,
7
,
7
,
0
,
7
,
5
,
5
,
5
,
7
,
0
,
7
,
0
,
0
,
/*BIGI*/
0
,
0
,
0
,
0
,
0
,
0
,
6
,
7
,
7
,
9
,
7
,
5
,
5
,
5
,
7
,
0
,
7
,
0
,
0
,
/*FLOA*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
7
,
7
,
6
,
7
,
6
,
6
,
6
,
6
,
0
,
7
,
0
,
0
,
/*FLOA*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
7
,
7
,
6
,
7
,
6
,
6
,
6
,
6
,
0
,
7
,
0
,
0
,
/*DOUB*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
0
,
7
,
0
,
0
,
/*DOUB*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
0
,
7
,
0
,
0
,
/*VARC*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
9
,
8
,
7
,
7
,
7
,
7
,
0
,
0
,
0
,
0
,
/*VARC*/
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
9
,
8
,
7
,
7
,
7
,
7
,
0
,
0
,
0
,
0
,
...
...
source/util/src/tcompare.c
浏览文件 @
44dcaf25
...
@@ -570,9 +570,23 @@ int32_t compareFloatInt64(const void *pLeft, const void *pRight) {
...
@@ -570,9 +570,23 @@ int32_t compareFloatInt64(const void *pLeft, const void *pRight) {
int32_t
compareFloatDouble
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int32_t
compareFloatDouble
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
float
left
=
GET_FLOAT_VAL
(
pLeft
);
float
left
=
GET_FLOAT_VAL
(
pLeft
);
double
right
=
GET_DOUBLE_VAL
(
pRight
);
double
right
=
GET_DOUBLE_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
if
(
isnan
(
left
)
&&
isnan
(
right
))
{
return
0
;
return
0
;
}
if
(
isnan
(
left
))
{
return
-
1
;
}
if
(
isnan
(
right
))
{
return
1
;
}
if
(
FLT_EQUAL
(
left
,
right
))
{
return
0
;
}
return
FLT_GREATER
(
left
,
right
)
?
1
:
-
1
;
}
}
int32_t
compareFloatUint8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int32_t
compareFloatUint8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
...
@@ -642,9 +656,23 @@ int32_t compareDoubleInt64(const void *pLeft, const void *pRight) {
...
@@ -642,9 +656,23 @@ int32_t compareDoubleInt64(const void *pLeft, const void *pRight) {
int32_t
compareDoubleFloat
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int32_t
compareDoubleFloat
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
double
left
=
GET_DOUBLE_VAL
(
pLeft
);
double
left
=
GET_DOUBLE_VAL
(
pLeft
);
float
right
=
GET_FLOAT_VAL
(
pRight
);
float
right
=
GET_FLOAT_VAL
(
pRight
);
if
(
left
>
right
)
return
1
;
if
(
left
<
right
)
return
-
1
;
if
(
isnan
(
left
)
&&
isnan
(
right
))
{
return
0
;
return
0
;
}
if
(
isnan
(
left
))
{
return
-
1
;
}
if
(
isnan
(
right
))
{
return
1
;
}
if
(
FLT_EQUAL
(
left
,
right
))
{
return
0
;
}
return
FLT_GREATER
(
left
,
right
)
?
1
:
-
1
;
}
}
int32_t
compareDoubleUint8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
int32_t
compareDoubleUint8
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录