Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
d35e4d0e
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,发现更多精彩内容 >>
提交
d35e4d0e
编写于
4月 14, 2015
作者:
A
Alexey Arno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbms: Server: Code cleanups. [#METR-15090]
上级
341fed3e
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
24 addition
and
20 deletion
+24
-20
dbms/include/DB/Interpreters/InterpreterOptimizeQuery.h
dbms/include/DB/Interpreters/InterpreterOptimizeQuery.h
+4
-4
dbms/include/DB/Storages/IStorage.h
dbms/include/DB/Storages/IStorage.h
+3
-3
dbms/include/DB/Storages/StorageBuffer.h
dbms/include/DB/Storages/StorageBuffer.h
+1
-1
dbms/include/DB/Storages/StorageMaterializedView.h
dbms/include/DB/Storages/StorageMaterializedView.h
+1
-1
dbms/include/DB/Storages/StorageMergeTree.h
dbms/include/DB/Storages/StorageMergeTree.h
+3
-2
dbms/include/DB/Storages/StorageReplicatedMergeTree.h
dbms/include/DB/Storages/StorageReplicatedMergeTree.h
+1
-1
dbms/src/IO/tests/cached_compressed_read_buffer.cpp
dbms/src/IO/tests/cached_compressed_read_buffer.cpp
+2
-2
dbms/src/Storages/StorageBuffer.cpp
dbms/src/Storages/StorageBuffer.cpp
+1
-1
dbms/src/Storages/StorageMaterializedView.cpp
dbms/src/Storages/StorageMaterializedView.cpp
+2
-2
dbms/src/Storages/StorageReplicatedMergeTree.cpp
dbms/src/Storages/StorageReplicatedMergeTree.cpp
+6
-3
未找到文件。
dbms/include/DB/Interpreters/InterpreterOptimizeQuery.h
浏览文件 @
d35e4d0e
...
...
@@ -15,21 +15,21 @@ class InterpreterOptimizeQuery
{
public:
InterpreterOptimizeQuery
(
ASTPtr
query_ptr_
,
Context
&
context_
)
:
query_ptr
(
query_ptr_
),
context
(
context_
),
aio_threshold
(
context_
.
getSettings
().
min_bytes_to_use_direct_io
)
{}
:
query_ptr
(
query_ptr_
),
context
(
context_
)
{
}
void
execute
()
{
const
ASTOptimizeQuery
&
ast
=
typeid_cast
<
const
ASTOptimizeQuery
&>
(
*
query_ptr
);
StoragePtr
table
=
context
.
getTable
(
ast
.
database
,
ast
.
table
);
auto
table_lock
=
table
->
lockStructure
(
true
);
table
->
optimize
(
aio_threshold
);
table
->
optimize
(
&
context
.
getSettingsRef
()
);
}
private:
ASTPtr
query_ptr
;
Context
context
;
size_t
aio_threshold
;
};
...
...
dbms/include/DB/Storages/IStorage.h
浏览文件 @
d35e4d0e
...
...
@@ -236,9 +236,9 @@ public:
/** Выполнить какую-либо фоновую работу. Например, объединение кусков в таблице типа MergeTree.
* Возвращает - была ли выполнена какая-либо работа.
*/
bool
optimize
(
size_t
aio_threshold
=
0
)
bool
optimize
(
const
Settings
*
settings
=
nullptr
)
{
return
performOptimize
(
aio_threshold
);
return
performOptimize
(
settings
);
}
/** Получить запрос CREATE TABLE, который описывает данную таблицу.
...
...
@@ -280,7 +280,7 @@ public:
virtual
bool
checkData
()
const
{
throw
DB
::
Exception
(
"Check query is not supported for "
+
getName
()
+
" storage"
);
}
protected:
virtual
bool
performOptimize
(
size_t
aio_threshold
)
virtual
bool
performOptimize
(
const
Settings
*
settings
)
{
throw
Exception
(
"Method optimize is not supported by storage "
+
getName
(),
ErrorCodes
::
NOT_IMPLEMENTED
);
}
...
...
dbms/include/DB/Storages/StorageBuffer.h
浏览文件 @
d35e4d0e
...
...
@@ -124,7 +124,7 @@ private:
void
flushThread
();
bool
performOptimize
(
size_t
aio_threshold
)
override
;
bool
performOptimize
(
const
Settings
*
settings
)
override
;
};
}
dbms/include/DB/Storages/StorageMaterializedView.h
浏览文件 @
d35e4d0e
...
...
@@ -56,7 +56,7 @@ private:
const
ColumnDefaults
&
column_defaults_
,
bool
attach_
);
bool
performOptimize
(
size_t
aio_threshold
)
override
;
bool
performOptimize
(
const
Settings
*
settings
)
override
;
};
}
dbms/include/DB/Storages/StorageMergeTree.h
浏览文件 @
d35e4d0e
...
...
@@ -96,9 +96,10 @@ public:
private:
/** Выполнить очередной шаг объединения кусков.
*/
bool
performOptimize
(
size_t
aio_threshold
)
override
bool
performOptimize
(
const
Settings
*
settings
)
override
{
return
merge
(
aio_threshold
,
true
);
const
auto
&
applied_settings
=
(
settings
!=
nullptr
)
?
*
settings
:
context
.
getSettings
();
return
merge
(
applied_settings
.
min_bytes_to_use_direct_io
,
true
);
}
private:
...
...
dbms/include/DB/Storages/StorageReplicatedMergeTree.h
浏览文件 @
d35e4d0e
...
...
@@ -386,7 +386,7 @@ private:
*/
void
waitForReplicaToProcessLogEntry
(
const
String
&
replica_name
,
const
LogEntry
&
entry
);
bool
performOptimize
(
size_t
aio_threshold
)
override
;
bool
performOptimize
(
const
Settings
*
settings
)
override
;
/// Преобразовать число в строку формате суффиксов автоинкрементных нод в ZooKeeper.
static
String
padIndex
(
UInt64
index
)
...
...
dbms/src/IO/tests/cached_compressed_read_buffer.cpp
浏览文件 @
d35e4d0e
...
...
@@ -25,7 +25,7 @@ int main(int argc, char ** argv)
{
Stopwatch
watch
;
CachedCompressedReadBuffer
in
(
path
,
&
cache
,
0
,
0
,
std
::
numeric_limits
<
size_t
>::
max
()
);
CachedCompressedReadBuffer
in
(
path
,
&
cache
,
0
,
0
);
WriteBufferFromFile
out
(
"/dev/null"
);
copyData
(
in
,
out
);
...
...
@@ -37,7 +37,7 @@ int main(int argc, char ** argv)
{
Stopwatch
watch
;
CachedCompressedReadBuffer
in
(
path
,
&
cache
,
0
,
0
,
std
::
numeric_limits
<
size_t
>::
max
()
);
CachedCompressedReadBuffer
in
(
path
,
&
cache
,
0
,
0
);
WriteBufferFromFile
out
(
"/dev/null"
);
copyData
(
in
,
out
);
...
...
dbms/src/Storages/StorageBuffer.cpp
浏览文件 @
d35e4d0e
...
...
@@ -269,7 +269,7 @@ void StorageBuffer::shutdown()
}
bool
StorageBuffer
::
performOptimize
(
size_t
aio_threshold
)
bool
StorageBuffer
::
performOptimize
(
const
Settings
*
settings
)
{
flushAllBuffers
(
false
);
...
...
dbms/src/Storages/StorageMaterializedView.cpp
浏览文件 @
d35e4d0e
...
...
@@ -129,9 +129,9 @@ void StorageMaterializedView::drop()
}
}
bool
StorageMaterializedView
::
performOptimize
(
size_t
aio_threshold
)
bool
StorageMaterializedView
::
performOptimize
(
const
Settings
*
settings
)
{
return
data
->
optimize
(
aio_threshold
);
return
data
->
optimize
(
settings
);
}
...
...
dbms/src/Storages/StorageReplicatedMergeTree.cpp
浏览文件 @
d35e4d0e
...
...
@@ -2060,7 +2060,7 @@ BlockOutputStreamPtr StorageReplicatedMergeTree::write(ASTPtr query)
}
bool
StorageReplicatedMergeTree
::
performOptimize
(
size_t
aio_threshold
)
bool
StorageReplicatedMergeTree
::
performOptimize
(
const
Settings
*
settings
)
{
/// Померджим какие-нибудь куски из директории unreplicated.
/// TODO: Мерджить реплицируемые куски тоже.
...
...
@@ -2074,12 +2074,15 @@ bool StorageReplicatedMergeTree::performOptimize(size_t aio_threshold)
MergeTreeData
::
DataPartsVector
parts
;
String
merged_name
;
auto
always_can_merge
=
[](
const
MergeTreeData
::
DataPartPtr
&
a
,
const
MergeTreeData
::
DataPartPtr
&
b
)
{
return
true
;
};
auto
always_can_merge
=
[](
const
MergeTreeData
::
DataPartPtr
&
a
,
const
MergeTreeData
::
DataPartPtr
&
b
)
{
return
true
;
};
if
(
!
unreplicated_merger
->
selectPartsToMerge
(
parts
,
merged_name
,
0
,
true
,
true
,
false
,
always_can_merge
))
return
false
;
const
auto
&
merge_entry
=
context
.
getMergeList
().
insert
(
database_name
,
table_name
,
merged_name
);
unreplicated_merger
->
mergeParts
(
parts
,
merged_name
,
*
merge_entry
,
aio_threshold
);
const
auto
&
applied_settings
=
(
settings
!=
nullptr
)
?
*
settings
:
context
.
getSettings
();
unreplicated_merger
->
mergeParts
(
parts
,
merged_name
,
*
merge_entry
,
applied_settings
.
min_bytes_to_use_direct_io
);
return
true
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录