Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
cf3f69f5
提交
cf3f69f5
authored
6 年前
作者:
Evgenij Ryazanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Extract AbstractAggregate.appendTailConditions()
上级
7d2fd6e9
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
17 行增加
和
30 行删除
+17
-30
AbstractAggregate.java
...c/main/org/h2/expression/aggregate/AbstractAggregate.java
+10
-0
Aggregate.java
h2/src/main/org/h2/expression/aggregate/Aggregate.java
+6
-23
JavaAggregate.java
h2/src/main/org/h2/expression/aggregate/JavaAggregate.java
+1
-7
没有找到文件。
h2/src/main/org/h2/expression/aggregate/AbstractAggregate.java
浏览文件 @
cf3f69f5
...
@@ -47,4 +47,14 @@ public abstract class AbstractAggregate extends Expression {
...
@@ -47,4 +47,14 @@ public abstract class AbstractAggregate extends Expression {
}
}
}
}
protected
StringBuilder
appendTailConditions
(
StringBuilder
builder
)
{
if
(
filterCondition
!=
null
)
{
builder
.
append
(
" FILTER (WHERE "
).
append
(
filterCondition
.
getSQL
()).
append
(
')'
);
}
if
(
over
!=
null
)
{
builder
.
append
(
' '
).
append
(
over
.
getSQL
());
}
return
builder
;
}
}
}
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/aggregate/Aggregate.java
浏览文件 @
cf3f69f5
...
@@ -626,13 +626,7 @@ public class Aggregate extends AbstractAggregate {
...
@@ -626,13 +626,7 @@ public class Aggregate extends AbstractAggregate {
buff
.
append
(
" SEPARATOR "
).
append
(
groupConcatSeparator
.
getSQL
());
buff
.
append
(
" SEPARATOR "
).
append
(
groupConcatSeparator
.
getSQL
());
}
}
buff
.
append
(
')'
);
buff
.
append
(
')'
);
if
(
filterCondition
!=
null
)
{
return
appendTailConditions
(
buff
.
builder
()).
toString
();
buff
.
append
(
" FILTER (WHERE "
).
append
(
filterCondition
.
getSQL
()).
append
(
')'
);
}
if
(
over
!=
null
)
{
buff
.
append
(
' '
).
append
(
over
.
getSQL
());
}
return
buff
.
toString
();
}
}
private
String
getSQLArrayAggregate
()
{
private
String
getSQLArrayAggregate
()
{
...
@@ -650,13 +644,7 @@ public class Aggregate extends AbstractAggregate {
...
@@ -650,13 +644,7 @@ public class Aggregate extends AbstractAggregate {
}
}
}
}
buff
.
append
(
')'
);
buff
.
append
(
')'
);
if
(
filterCondition
!=
null
)
{
return
appendTailConditions
(
buff
.
builder
()).
toString
();
buff
.
append
(
" FILTER (WHERE "
).
append
(
filterCondition
.
getSQL
()).
append
(
')'
);
}
if
(
over
!=
null
)
{
buff
.
append
(
' '
).
append
(
over
.
getSQL
());
}
return
buff
.
toString
();
}
}
@Override
@Override
...
@@ -726,18 +714,13 @@ public class Aggregate extends AbstractAggregate {
...
@@ -726,18 +714,13 @@ public class Aggregate extends AbstractAggregate {
default
:
default
:
throw
DbException
.
throwInternalError
(
"type="
+
type
);
throw
DbException
.
throwInternalError
(
"type="
+
type
);
}
}
StringBuilder
builder
=
new
StringBuilder
().
append
(
text
);
if
(
distinct
)
{
if
(
distinct
)
{
text
+=
"(DISTINCT "
+
on
.
getSQL
()
+
')'
;
builder
.
append
(
"(DISTINCT "
).
append
(
on
.
getSQL
()).
append
(
')'
)
;
}
else
{
}
else
{
text
+=
StringUtils
.
enclose
(
on
.
getSQL
());
builder
.
append
(
StringUtils
.
enclose
(
on
.
getSQL
()));
}
if
(
filterCondition
!=
null
)
{
text
+=
" FILTER (WHERE "
+
filterCondition
.
getSQL
()
+
')'
;
}
if
(
over
!=
null
)
{
text
+=
' '
+
over
.
getSQL
();
}
}
return
text
;
return
appendTailConditions
(
builder
).
toString
()
;
}
}
private
Index
getMinMaxColumnIndex
()
{
private
Index
getMinMaxColumnIndex
()
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/expression/aggregate/JavaAggregate.java
浏览文件 @
cf3f69f5
...
@@ -83,13 +83,7 @@ public class JavaAggregate extends AbstractAggregate {
...
@@ -83,13 +83,7 @@ public class JavaAggregate extends AbstractAggregate {
buff
.
append
(
e
.
getSQL
());
buff
.
append
(
e
.
getSQL
());
}
}
buff
.
append
(
')'
);
buff
.
append
(
')'
);
if
(
filterCondition
!=
null
)
{
return
appendTailConditions
(
buff
.
builder
()).
toString
();
buff
.
append
(
" FILTER (WHERE "
).
append
(
filterCondition
.
getSQL
()).
append
(
')'
);
}
if
(
over
!=
null
)
{
buff
.
append
(
' '
).
append
(
over
.
getSQL
());
}
return
buff
.
toString
();
}
}
@Override
@Override
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论