Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
c6b9580e
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,发现更多精彩内容 >>
提交
c6b9580e
编写于
4月 30, 2020
作者:
N
Nikolai Kochetov
提交者:
Alexey Milovidov
5月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create local context for query analyzing in PushingToViewsBlockOutputStream.
上级
df17eda9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
5 deletion
+8
-5
src/DataStreams/PushingToViewsBlockOutputStream.cpp
src/DataStreams/PushingToViewsBlockOutputStream.cpp
+7
-3
src/Interpreters/SyntaxAnalyzer.cpp
src/Interpreters/SyntaxAnalyzer.cpp
+1
-2
未找到文件。
src/DataStreams/PushingToViewsBlockOutputStream.cpp
浏览文件 @
c6b9580e
...
...
@@ -66,9 +66,13 @@ PushingToViewsBlockOutputStream::PushingToViewsBlockOutputStream(
std
::
unique_ptr
<
ASTInsertQuery
>
insert
=
std
::
make_unique
<
ASTInsertQuery
>
();
insert
->
table_id
=
inner_table_id
;
Context
local_context
=
*
views_context
;
local_context
.
addViewSource
(
StorageValues
::
create
(
storage
->
getStorageID
(),
storage
->
getColumns
(),
Block
(),
storage
->
getVirtuals
()));
/// Get list of columns we get from select query.
auto
header
=
InterpreterSelectQuery
(
query
,
*
views_context
,
SelectQueryOptions
().
analyze
())
.
getSampleBlock
();
auto
header
=
InterpreterSelectQuery
(
query
,
local_context
,
SelectQueryOptions
().
analyze
()).
getSampleBlock
();
/// Insert only columns returned by select.
auto
list
=
std
::
make_shared
<
ASTExpressionList
>
();
...
...
@@ -81,7 +85,7 @@ PushingToViewsBlockOutputStream::PushingToViewsBlockOutputStream(
insert
->
columns
=
std
::
move
(
list
);
ASTPtr
insert_query_ptr
(
insert
.
release
());
InterpreterInsertQuery
interpreter
(
insert_query_ptr
,
*
views
_context
);
InterpreterInsertQuery
interpreter
(
insert_query_ptr
,
local
_context
);
BlockIO
io
=
interpreter
.
execute
();
out
=
io
.
out
;
}
...
...
src/Interpreters/SyntaxAnalyzer.cpp
浏览文件 @
c6b9580e
...
...
@@ -801,8 +801,7 @@ SyntaxAnalyzerResultPtr SyntaxAnalyzer::analyzeSelect(
removeUnneededColumnsFromSelectClause
(
select_query
,
required_result_columns
,
remove_duplicates
);
/// Executing scalar subqueries - replacing them with constant values.
if
(
!
select_options
.
only_analyze
)
executeScalarSubqueries
(
query
,
context
,
subquery_depth
,
result
.
scalars
);
executeScalarSubqueries
(
query
,
context
,
subquery_depth
,
result
.
scalars
);
{
optimizeIf
(
query
,
result
.
aliases
,
settings
.
optimize_if_chain_to_miltiif
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录