Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
7d011561
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,发现更多精彩内容 >>
提交
7d011561
编写于
9月 03, 2013
作者:
A
Alexey Milovidov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbms: addition to prev. revision [#CONV-8665].
上级
06946679
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
16 addition
and
12 deletion
+16
-12
dbms/include/DB/Interpreters/InterpreterShowProcesslistQuery.h
...include/DB/Interpreters/InterpreterShowProcesslistQuery.h
+2
-2
dbms/include/DB/Interpreters/executeQuery.h
dbms/include/DB/Interpreters/executeQuery.h
+2
-0
dbms/src/Interpreters/InterpreterShowTablesQuery.cpp
dbms/src/Interpreters/InterpreterShowTablesQuery.cpp
+2
-2
dbms/src/Interpreters/executeQuery.cpp
dbms/src/Interpreters/executeQuery.cpp
+9
-7
dbms/src/Server/TCPHandler.cpp
dbms/src/Server/TCPHandler.cpp
+1
-1
未找到文件。
dbms/include/DB/Interpreters/InterpreterShowProcesslistQuery.h
浏览文件 @
7d011561
...
...
@@ -23,7 +23,7 @@ public:
BlockIO
execute
()
{
return
executeQuery
(
getRewrittenQuery
(),
context
);
return
executeQuery
(
getRewrittenQuery
(),
context
,
true
);
}
BlockInputStreamPtr
executeAndFormat
(
WriteBuffer
&
buf
)
...
...
@@ -31,7 +31,7 @@ public:
String
query
=
getRewrittenQuery
();
ReadBufferFromString
in
(
query
);
BlockInputStreamPtr
query_plan
;
executeQuery
(
in
,
buf
,
context
,
query_plan
);
executeQuery
(
in
,
buf
,
context
,
query_plan
,
true
);
return
query_plan
;
}
...
...
dbms/include/DB/Interpreters/executeQuery.h
浏览文件 @
7d011561
...
...
@@ -16,6 +16,7 @@ void executeQuery(
WriteBuffer
&
ostr
,
/// Куда писать результат
Context
&
context
,
/// БД, таблицы, типы данных, движки таблиц, функции, агрегатные функции...
BlockInputStreamPtr
&
query_plan
,
/// Сюда может быть записано описание, как выполнялся запрос
bool
internal
=
false
,
/// Если true - значит запрос порождён из другого запроса, и не нужно его регистировать в ProcessList-е.
QueryProcessingStage
::
Enum
stage
=
QueryProcessingStage
::
Complete
);
/// До какой стадии выполнять SELECT запрос.
...
...
@@ -36,6 +37,7 @@ void executeQuery(
BlockIO
executeQuery
(
const
String
&
query
,
/// Текст запроса, без данных INSERT-а (если есть). Данные INSERT-а следует писать в BlockIO::out.
Context
&
context
,
bool
internal
=
false
,
QueryProcessingStage
::
Enum
stage
=
QueryProcessingStage
::
Complete
);
}
dbms/src/Interpreters/InterpreterShowTablesQuery.cpp
浏览文件 @
7d011561
...
...
@@ -48,7 +48,7 @@ String InterpreterShowTablesQuery::getRewrittenQuery()
BlockIO
InterpreterShowTablesQuery
::
execute
()
{
return
executeQuery
(
getRewrittenQuery
(),
context
);
return
executeQuery
(
getRewrittenQuery
(),
context
,
true
);
}
...
...
@@ -57,7 +57,7 @@ BlockInputStreamPtr InterpreterShowTablesQuery::executeAndFormat(WriteBuffer & b
String
query
=
getRewrittenQuery
();
ReadBufferFromString
in
(
query
);
BlockInputStreamPtr
query_plan
;
executeQuery
(
in
,
buf
,
context
,
query_plan
);
executeQuery
(
in
,
buf
,
context
,
query_plan
,
true
);
return
query_plan
;
}
...
...
dbms/src/Interpreters/executeQuery.cpp
浏览文件 @
7d011561
...
...
@@ -22,6 +22,7 @@ void executeQuery(
WriteBuffer
&
ostr
,
Context
&
context
,
BlockInputStreamPtr
&
query_plan
,
bool
internal
,
QueryProcessingStage
::
Enum
stage
)
{
ParserQuery
parser
;
...
...
@@ -72,7 +73,7 @@ void executeQuery(
/// Положим запрос в список процессов. Но запрос SHOW PROCESSLIST класть не будем.
ProcessList
::
EntryPtr
process_list_entry
;
if
(
NULL
==
dynamic_cast
<
const
ASTShowProcesslistQuery
*>
(
&*
ast
))
if
(
!
internal
&&
NULL
==
dynamic_cast
<
const
ASTShowProcesslistQuery
*>
(
&*
ast
))
process_list_entry
=
context
.
getProcessList
().
insert
(
query
);
/// Проверка ограничений.
...
...
@@ -101,6 +102,7 @@ void executeQuery(
BlockIO
executeQuery
(
const
String
&
query
,
Context
&
context
,
bool
internal
,
QueryProcessingStage
::
Enum
stage
)
{
ParserQuery
parser
;
...
...
@@ -121,12 +123,6 @@ BlockIO executeQuery(
+
", expected "
+
(
parse_res
?
"end of query"
:
expected
)
+
"."
,
ErrorCodes
::
SYNTAX_ERROR
);
BlockIO
res
;
/// Положим запрос в список процессов. Но запрос SHOW PROCESSLIST класть не будем.
if
(
NULL
==
dynamic_cast
<
const
ASTShowProcesslistQuery
*>
(
&*
ast
))
res
.
process_list_entry
=
context
.
getProcessList
().
insert
(
query
);
/// Проверка ограничений.
checkLimits
(
*
ast
,
context
.
getSettingsRef
().
limits
);
...
...
@@ -135,6 +131,8 @@ BlockIO executeQuery(
quota
.
checkExceeded
(
current_time
);
BlockIO
res
;
try
{
InterpreterQuery
interpreter
(
ast
,
context
,
stage
);
...
...
@@ -146,6 +144,10 @@ BlockIO executeQuery(
throw
;
}
/// Положим запрос в список процессов. Но запрос SHOW PROCESSLIST класть не будем.
if
(
!
internal
&&
NULL
==
dynamic_cast
<
const
ASTShowProcesslistQuery
*>
(
&*
ast
))
res
.
process_list_entry
=
context
.
getProcessList
().
insert
(
query
);
quota
.
addQuery
(
current_time
);
return
res
;
}
...
...
dbms/src/Server/TCPHandler.cpp
浏览文件 @
7d011561
...
...
@@ -407,7 +407,7 @@ void TCPHandler::receiveQuery()
LOG_DEBUG
(
log
,
"Query: "
<<
state
.
query
);
LOG_DEBUG
(
log
,
"Requested stage: "
<<
QueryProcessingStage
::
toString
(
stage
));
state
.
io
=
executeQuery
(
state
.
query
,
query_context
,
state
.
stage
);
state
.
io
=
executeQuery
(
state
.
query
,
query_context
,
false
,
state
.
stage
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录