Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
8a60e222
C
ClickHouse
项目概览
2dot5
/
ClickHouse
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
ClickHouse
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8a60e222
编写于
5月 08, 2020
作者:
H
hcz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix OrNull and OrDefault
上级
541cd638
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
0 deletion
+34
-0
src/AggregateFunctions/AggregateFunctionOrFill.h
src/AggregateFunctions/AggregateFunctionOrFill.h
+8
-0
tests/queries/0_stateless/01018_empty_aggregation_filling.reference
...ies/0_stateless/01018_empty_aggregation_filling.reference
+12
-0
tests/queries/0_stateless/01018_empty_aggregation_filling.sql
...s/queries/0_stateless/01018_empty_aggregation_filling.sql
+14
-0
未找到文件。
src/AggregateFunctions/AggregateFunctionOrFill.h
浏览文件 @
8a60e222
...
...
@@ -4,6 +4,8 @@
#include <Columns/ColumnNullable.h>
#include <Common/typeid_cast.h>
#include <DataTypes/DataTypeNullable.h>
#include <IO/ReadHelpers.h>
#include <IO/WriteHelpers.h>
namespace
DB
...
...
@@ -102,6 +104,8 @@ public:
Arena
*
arena
)
const
override
{
nested_function
->
merge
(
place
,
rhs
,
arena
);
place
[
size_of_data
]
|=
rhs
[
size_of_data
];
}
void
serialize
(
...
...
@@ -109,6 +113,8 @@ public:
WriteBuffer
&
buf
)
const
override
{
nested_function
->
serialize
(
place
,
buf
);
writeChar
(
place
[
size_of_data
],
buf
);
}
void
deserialize
(
...
...
@@ -117,6 +123,8 @@ public:
Arena
*
arena
)
const
override
{
nested_function
->
deserialize
(
place
,
buf
,
arena
);
readChar
(
place
[
size_of_data
],
buf
);
}
DataTypePtr
getReturnType
()
const
override
...
...
tests/queries/0_stateless/01018_empty_aggregation_filling.reference
浏览文件 @
8a60e222
...
...
@@ -11,6 +11,12 @@
\N
0
\N
0
\N
0
\N
0
\N
--- Int Non-empty ---
1
1
...
...
@@ -24,6 +30,12 @@ nan
nan
1
1
1
1
nan
nan
1
1
--- Other Types Empty ---
\N
...
...
tests/queries/0_stateless/01018_empty_aggregation_filling.sql
浏览文件 @
8a60e222
...
...
@@ -14,6 +14,13 @@ SELECT stddevSampOrNullIf(x, x > 1) FROM (SELECT 1 AS x);
SELECT
maxOrDefaultIf
(
x
,
x
>
1
)
FROM
(
SELECT
1
AS
x
);
SELECT
maxOrNullIf
(
x
,
x
>
1
)
FROM
(
SELECT
1
AS
x
);
SELECT
avgOrDefaultIfMerge
(
state
)
FROM
(
SELECT
avgOrDefaultIfState
(
x
,
x
>
1
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
avgOrNullIfMerge
(
state
)
FROM
(
SELECT
avgOrNullIfState
(
x
,
x
>
1
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
stddevSampOrDefaultIfMerge
(
state
)
FROM
(
SELECT
stddevSampOrDefaultIfState
(
x
,
x
>
1
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
stddevSampOrNullIfMerge
(
state
)
FROM
(
SELECT
stddevSampOrNullIfState
(
x
,
x
>
1
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
maxOrDefaultIfMerge
(
state
)
FROM
(
SELECT
maxOrDefaultIfState
(
x
,
x
>
1
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
maxOrNullIfMerge
(
state
)
FROM
(
SELECT
maxOrNullIfState
(
x
,
x
>
1
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
'--- Int Non-empty ---'
;
SELECT
arrayReduce
(
'avgOrDefault'
,
[
1
]);
...
...
@@ -30,6 +37,13 @@ SELECT stddevSampOrNullIf(x, x > 0) FROM (SELECT 1 AS x);
SELECT
maxOrDefaultIf
(
x
,
x
>
0
)
FROM
(
SELECT
1
AS
x
);
SELECT
maxOrNullIf
(
x
,
x
>
0
)
FROM
(
SELECT
1
AS
x
);
SELECT
avgOrDefaultIfMerge
(
state
)
FROM
(
SELECT
avgOrDefaultIfState
(
x
,
x
>
0
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
avgOrNullIfMerge
(
state
)
FROM
(
SELECT
avgOrNullIfState
(
x
,
x
>
0
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
stddevSampOrDefaultIfMerge
(
state
)
FROM
(
SELECT
stddevSampOrDefaultIfState
(
x
,
x
>
0
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
stddevSampOrNullIfMerge
(
state
)
FROM
(
SELECT
stddevSampOrNullIfState
(
x
,
x
>
0
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
maxOrDefaultIfMerge
(
state
)
FROM
(
SELECT
maxOrDefaultIfState
(
x
,
x
>
0
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
maxOrNullIfMerge
(
state
)
FROM
(
SELECT
maxOrNullIfState
(
x
,
x
>
0
)
AS
state
FROM
(
SELECT
1
AS
x
));
SELECT
'--- Other Types Empty ---'
;
SELECT
arrayReduce
(
'maxOrDefault'
,
arrayPopBack
([
'hello'
]));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录