Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
Questdb
提交
4f491349
Q
Questdb
项目概览
jobily
/
Questdb
12 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
Questdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4f491349
编写于
5月 09, 2016
作者:
V
Vlad Ilyushchenko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
removed unnecessary recursion
上级
41ec9a04
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
21 deletion
+20
-21
core/src/main/java/com/questdb/ql/parser/QueryCompiler.java
core/src/main/java/com/questdb/ql/parser/QueryCompiler.java
+18
-19
roadmap.md
roadmap.md
+2
-2
未找到文件。
core/src/main/java/com/questdb/ql/parser/QueryCompiler.java
浏览文件 @
4f491349
...
...
@@ -1316,27 +1316,26 @@ public class QueryCompiler {
private
void
optimiseSubQueries
(
QueryModel
model
,
JournalReaderFactory
factory
)
throws
JournalException
,
ParserException
{
QueryModel
nm
=
model
.
getNestedModel
();
collectSelectedColumns
(
nm
,
factory
);
processAndConditions
(
model
,
model
.
getWhereClause
());
literalMatcher
.
of
(
model
.
getAlias
()
!=
null
?
model
.
getAlias
().
token
:
null
);
ExprNode
nmWhere
=
nm
.
getWhereClause
();
ExprNode
thisWhere
=
null
;
ObjList
<
ExprNode
>
w
=
model
.
getParsedWhere
();
for
(
int
i
=
0
,
n
=
w
.
size
();
i
<
n
;
i
++)
{
ExprNode
node
=
w
.
getQuick
(
i
);
if
(
literalMatcher
.
matches
(
node
,
selectedColumnAliases
))
{
nmWhere
=
concatFilters
(
nmWhere
,
node
);
}
else
{
thisWhere
=
concatFilters
(
thisWhere
,
node
);
while
(
nm
!=
null
)
{
collectSelectedColumns
(
nm
,
factory
);
processAndConditions
(
model
,
model
.
getWhereClause
());
literalMatcher
.
of
(
model
.
getAlias
()
!=
null
?
model
.
getAlias
().
token
:
null
);
ExprNode
nmWhere
=
nm
.
getWhereClause
();
ExprNode
thisWhere
=
null
;
ObjList
<
ExprNode
>
w
=
model
.
getParsedWhere
();
for
(
int
i
=
0
,
n
=
w
.
size
();
i
<
n
;
i
++)
{
ExprNode
node
=
w
.
getQuick
(
i
);
if
(
literalMatcher
.
matches
(
node
,
selectedColumnAliases
))
{
nmWhere
=
concatFilters
(
nmWhere
,
node
);
}
else
{
thisWhere
=
concatFilters
(
thisWhere
,
node
);
}
}
}
nm
.
setWhereClause
(
nmWhere
);
model
.
setWhereClause
(
thisWhere
);
if
(
nm
.
getNestedModel
()
!=
null
)
{
optimiseSubQueries
(
nm
,
factory
);
nm
.
setWhereClause
(
nmWhere
);
model
.
setWhereClause
(
thisWhere
);
nm
=
nm
.
getNestedModel
();
}
}
...
...
roadmap.md
浏览文件 @
4f491349
...
...
@@ -19,8 +19,8 @@ __lang__
-
[x] query parameters
-
[x] support for comments (both block /
* *
/ and line --)
-
[ ] analytical clauses
-
[
] __subquery optimiser (in progress)__
-
[ ]
order by optimiser
-
[
x] subquery optimiser
-
[ ]
__order by optimiser (in progress)__
__server__
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录