Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
d2fcf5ae
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,发现更多精彩内容 >>
提交
d2fcf5ae
编写于
6月 09, 2020
作者:
A
alesapin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixes for gcc
上级
936cc9d5
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
33 addition
and
33 deletion
+33
-33
src/Storages/MergeTree/MergeTreeData.cpp
src/Storages/MergeTree/MergeTreeData.cpp
+8
-8
src/Storages/MergeTree/MergeTreeData.h
src/Storages/MergeTree/MergeTreeData.h
+1
-1
src/Storages/StorageBuffer.cpp
src/Storages/StorageBuffer.cpp
+4
-4
src/Storages/StorageDistributed.cpp
src/Storages/StorageDistributed.cpp
+4
-4
src/Storages/StorageMergeTree.cpp
src/Storages/StorageMergeTree.cpp
+12
-12
src/Storages/StorageNull.cpp
src/Storages/StorageNull.cpp
+4
-4
未找到文件。
src/Storages/MergeTree/MergeTreeData.cpp
浏览文件 @
d2fcf5ae
...
...
@@ -118,7 +118,7 @@ const char * DELETE_ON_DESTROY_MARKER_PATH = "delete-on-destroy.txt";
MergeTreeData
::
MergeTreeData
(
const
StorageID
&
table_id_
,
const
String
&
relative_data_path_
,
const
StorageInMemoryMetadata
&
metadata
,
const
StorageInMemoryMetadata
&
metadata
_
,
Context
&
context_
,
const
String
&
date_column_name
,
const
MergingParams
&
merging_params_
,
...
...
@@ -142,21 +142,21 @@ MergeTreeData::MergeTreeData(
if
(
relative_data_path
.
empty
())
throw
Exception
(
"MergeTree storages require data path"
,
ErrorCodes
::
INCORRECT_FILE_NAME
);
setSettingsChanges
(
metadata
.
settings_changes
);
setSettingsChanges
(
metadata
_
.
settings_changes
);
const
auto
settings
=
getSettings
();
setProperties
(
metadata
,
/*only_check*/
false
,
attach
);
setProperties
(
metadata
_
,
/*only_check*/
false
,
attach
);
/// NOTE: using the same columns list as is read when performing actual merges.
merging_params
.
check
(
getColumns
().
getAllPhysical
());
if
(
metadata
.
sampling_key
.
definition_ast
!=
nullptr
)
if
(
metadata
_
.
sampling_key
.
definition_ast
!=
nullptr
)
{
const
auto
&
pk_sample_block
=
getPrimaryKey
().
sample_block
;
if
(
!
pk_sample_block
.
has
(
metadata
.
sampling_key
.
column_names
[
0
])
&&
!
attach
if
(
!
pk_sample_block
.
has
(
metadata
_
.
sampling_key
.
column_names
[
0
])
&&
!
attach
&&
!
settings
->
compatibility_allow_sampling_expression_not_in_primary_key
)
/// This is for backward compatibility.
throw
Exception
(
"Sampling expression must be present in the primary key"
,
ErrorCodes
::
BAD_ARGUMENTS
);
setSamplingKey
(
metadata
.
sampling_key
);
setSamplingKey
(
metadata
_
.
sampling_key
);
}
MergeTreeDataFormatVersion
min_format_version
(
0
);
...
...
@@ -181,11 +181,11 @@ MergeTreeData::MergeTreeData(
else
{
is_custom_partitioned
=
true
;
initPartitionKey
(
metadata
.
partition_key
);
initPartitionKey
(
metadata
_
.
partition_key
);
min_format_version
=
MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING
;
}
setTTLExpressions
(
metadata
.
columns
,
metadata
.
table_ttl
);
setTTLExpressions
(
metadata
_
.
columns
,
metadata_
.
table_ttl
);
/// format_file always contained on any data path
PathWithDisk
version_file
;
...
...
src/Storages/MergeTree/MergeTreeData.h
浏览文件 @
d2fcf5ae
...
...
@@ -323,7 +323,7 @@ public:
/// attach - whether the existing table is attached or the new table is created.
MergeTreeData
(
const
StorageID
&
table_id_
,
const
String
&
relative_data_path_
,
const
StorageInMemoryMetadata
&
metadata
,
const
StorageInMemoryMetadata
&
metadata
_
,
Context
&
context_
,
const
String
&
date_column_name
,
const
MergingParams
&
merging_params_
,
...
...
src/Storages/StorageBuffer.cpp
浏览文件 @
d2fcf5ae
...
...
@@ -775,10 +775,10 @@ void StorageBuffer::alter(const AlterCommands & params, const Context & context,
/// So that no blocks of the old structure remain.
optimize
({}
/*query*/
,
{}
/*partition_id*/
,
false
/*final*/
,
false
/*deduplicate*/
,
context
);
StorageInMemoryMetadata
metadata
=
getInMemoryMetadata
();
params
.
apply
(
metadata
,
context
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
metadata
);
setColumns
(
std
::
move
(
metadata
.
columns
));
StorageInMemoryMetadata
new_
metadata
=
getInMemoryMetadata
();
params
.
apply
(
new_
metadata
,
context
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
new_
metadata
);
setColumns
(
std
::
move
(
new_
metadata
.
columns
));
}
...
...
src/Storages/StorageDistributed.cpp
浏览文件 @
d2fcf5ae
...
...
@@ -559,10 +559,10 @@ void StorageDistributed::alter(const AlterCommands & params, const Context & con
auto
table_id
=
getStorageID
();
checkAlterIsPossible
(
params
,
context
.
getSettingsRef
());
StorageInMemoryMetadata
metadata
=
getInMemoryMetadata
();
params
.
apply
(
metadata
,
context
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
metadata
);
setColumns
(
std
::
move
(
metadata
.
columns
));
StorageInMemoryMetadata
new_
metadata
=
getInMemoryMetadata
();
params
.
apply
(
new_
metadata
,
context
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
new_
metadata
);
setColumns
(
std
::
move
(
new_
metadata
.
columns
));
}
...
...
src/Storages/StorageMergeTree.cpp
浏览文件 @
d2fcf5ae
...
...
@@ -52,7 +52,7 @@ namespace ActionLocks
StorageMergeTree
::
StorageMergeTree
(
const
StorageID
&
table_id_
,
const
String
&
relative_data_path_
,
const
StorageInMemoryMetadata
&
metadata
,
const
StorageInMemoryMetadata
&
metadata
_
,
bool
attach
,
Context
&
context_
,
const
String
&
date_column_name
,
...
...
@@ -62,7 +62,7 @@ StorageMergeTree::StorageMergeTree(
:
MergeTreeData
(
table_id_
,
relative_data_path_
,
metadata
,
metadata
_
,
context_
,
date_column_name
,
merging_params_
,
...
...
@@ -256,20 +256,20 @@ void StorageMergeTree::alter(
{
auto
table_id
=
getStorageID
();
StorageInMemoryMetadata
metadata
=
getInMemoryMetadata
();
auto
maybe_mutation_commands
=
commands
.
getMutationCommands
(
metadata
,
context
.
getSettingsRef
().
materialize_ttl_after_modify
,
context
);
StorageInMemoryMetadata
new_
metadata
=
getInMemoryMetadata
();
auto
maybe_mutation_commands
=
commands
.
getMutationCommands
(
new_
metadata
,
context
.
getSettingsRef
().
materialize_ttl_after_modify
,
context
);
String
mutation_file_name
;
Int64
mutation_version
=
-
1
;
commands
.
apply
(
metadata
,
context
);
commands
.
apply
(
new_
metadata
,
context
);
/// This alter can be performed at metadata level only
/// This alter can be performed at
new_
metadata level only
if
(
commands
.
isSettingsAlter
())
{
lockStructureExclusively
(
table_lock_holder
,
context
.
getCurrentQueryId
(),
context
.
getSettingsRef
().
lock_acquire_timeout
);
changeSettings
(
metadata
.
settings_changes
,
table_lock_holder
);
changeSettings
(
new_
metadata
.
settings_changes
,
table_lock_holder
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
metadata
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
new_
metadata
);
}
else
{
...
...
@@ -278,13 +278,13 @@ void StorageMergeTree::alter(
auto
merges_block
=
getActionLock
(
ActionLocks
::
PartsMerge
);
lockStructureExclusively
(
table_lock_holder
,
context
.
getCurrentQueryId
(),
context
.
getSettingsRef
().
lock_acquire_timeout
);
changeSettings
(
metadata
.
settings_changes
,
table_lock_holder
);
changeSettings
(
new_
metadata
.
settings_changes
,
table_lock_holder
);
/// Reinitialize primary key because primary key column types might have changed.
setProperties
(
metadata
);
setProperties
(
new_
metadata
);
setTTLExpressions
(
metadata
.
columns
,
metadata
.
table_ttl
);
setTTLExpressions
(
new_metadata
.
columns
,
new_
metadata
.
table_ttl
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
metadata
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
new_
metadata
);
if
(
!
maybe_mutation_commands
.
empty
())
mutation_version
=
startMutation
(
maybe_mutation_commands
,
mutation_file_name
);
...
...
src/Storages/StorageNull.cpp
浏览文件 @
d2fcf5ae
...
...
@@ -51,10 +51,10 @@ void StorageNull::alter(
lockStructureExclusively
(
table_lock_holder
,
context
.
getCurrentQueryId
(),
context
.
getSettingsRef
().
lock_acquire_timeout
);
auto
table_id
=
getStorageID
();
StorageInMemoryMetadata
metadata
=
getInMemoryMetadata
();
params
.
apply
(
metadata
,
context
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
metadata
);
setColumns
(
std
::
move
(
metadata
.
columns
));
StorageInMemoryMetadata
new_
metadata
=
getInMemoryMetadata
();
params
.
apply
(
new_
metadata
,
context
);
DatabaseCatalog
::
instance
().
getDatabase
(
table_id
.
database_name
)
->
alterTable
(
context
,
table_id
,
new_
metadata
);
setColumns
(
std
::
move
(
new_
metadata
.
columns
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录