Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
969331c4
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
969331c4
编写于
11月 25, 2022
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: do some internal refactor.
上级
f4f27741
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
32 deletion
+9
-32
source/libs/function/src/detail/tminmax.c
source/libs/function/src/detail/tminmax.c
+9
-32
未找到文件。
source/libs/function/src/detail/tminmax.c
浏览文件 @
969331c4
...
...
@@ -495,29 +495,6 @@ static void handleInt64Col(const void* data, int32_t start, int32_t numOfRows, S
}
}
static
void
handleUint8Col
(
SColumnInfoData
*
pCol
,
int32_t
start
,
int32_t
numOfRows
,
SMinmaxResInfo
*
pBuf
,
bool
isMinFunc
)
{
const
uint8_t
*
pData
=
(
uint8_t
*
)
pCol
->
pData
;
uint8_t
*
val
=
(
uint8_t
*
)
&
pBuf
->
v
;
// AVX2 version to speedup the loop
if
(
tsAVX2Enable
&&
tsSIMDEnable
)
{
*
val
=
i8VectorCmpAVX2
(
pData
,
numOfRows
,
isMinFunc
,
false
);
}
else
{
if
(
!
pBuf
->
assign
)
{
*
val
=
pData
[
0
];
}
if
(
isMinFunc
)
{
// min
__COMPARE_EXTRACT_MIN
(
start
,
start
+
numOfRows
,
*
val
,
pData
);
}
else
{
__COMPARE_EXTRACT_MAX
(
start
,
start
+
numOfRows
,
*
val
,
pData
);
}
}
pBuf
->
assign
=
true
;
}
static
void
handleFloatCol
(
SColumnInfoData
*
pCol
,
int32_t
start
,
int32_t
numOfRows
,
SMinmaxResInfo
*
pBuf
,
bool
isMinFunc
)
{
float
*
pData
=
(
float
*
)
pCol
->
pData
;
float
*
val
=
(
float
*
)
&
pBuf
->
v
;
...
...
@@ -746,7 +723,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
ASSERT
(
pInput
->
numOfRows
==
pInput
->
totalRows
&&
numOfElems
>=
0
);
if
(
numOfElems
==
0
)
{
return
numOfElems
;
goto
_over
;
}
void
*
tval
=
NULL
;
...
...
@@ -857,7 +834,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
}
else
{
numOfElems
=
numOfRows
;
switch
(
pCol
->
info
.
type
)
{
switch
(
pCol
->
info
.
type
)
{
case
TSDB_DATA_TYPE_BOOL
:
case
TSDB_DATA_TYPE_TINYINT
:
{
handleInt8Col
(
pCol
->
pData
,
start
,
numOfRows
,
pBuf
,
isMinFunc
,
true
);
...
...
@@ -884,11 +861,11 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
break
;
}
case
TSDB_DATA_TYPE_UINT
:
{
handleInt
16
Col
(
pCol
->
pData
,
start
,
numOfRows
,
pBuf
,
isMinFunc
,
false
);
handleInt
32
Col
(
pCol
->
pData
,
start
,
numOfRows
,
pBuf
,
isMinFunc
,
false
);
break
;
}
case
TSDB_DATA_TYPE_UBIGINT
:
{
handleInt
16
Col
(
pCol
->
pData
,
start
,
numOfRows
,
pBuf
,
isMinFunc
,
false
);
handleInt
64
Col
(
pCol
->
pData
,
start
,
numOfRows
,
pBuf
,
isMinFunc
,
false
);
break
;
}
case
TSDB_DATA_TYPE_FLOAT
:
{
...
...
@@ -900,12 +877,12 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
break
;
}
}
}
_over:
if
(
numOfElems
==
0
&&
pCtx
->
subsidiaries
.
num
>
0
&&
!
pBuf
->
nullTupleSaved
)
{
pBuf
->
nullTuplePos
=
saveTupleData
(
pCtx
,
pInput
->
startRowIndex
,
pCtx
->
pSrcBlock
,
NULL
);
pBuf
->
nullTupleSaved
=
true
;
}
_over:
if
(
numOfElems
==
0
&&
pCtx
->
subsidiaries
.
num
>
0
&&
!
pBuf
->
nullTupleSaved
)
{
pBuf
->
nullTuplePos
=
saveTupleData
(
pCtx
,
pInput
->
startRowIndex
,
pCtx
->
pSrcBlock
,
NULL
);
pBuf
->
nullTupleSaved
=
true
;
}
return
numOfElems
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录