Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
53341036
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,发现更多精彩内容 >>
提交
53341036
编写于
12月 27, 2019
作者:
A
alesapin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
More usage of StorageInMemoryMetadata
上级
2d40b331
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
19 addition
and
15 deletion
+19
-15
dbms/src/Storages/AlterCommands.cpp
dbms/src/Storages/AlterCommands.cpp
+9
-0
dbms/src/Storages/AlterCommands.h
dbms/src/Storages/AlterCommands.h
+6
-6
dbms/src/Storages/MergeTree/MergeTreeData.cpp
dbms/src/Storages/MergeTree/MergeTreeData.cpp
+1
-2
dbms/src/Storages/MergeTree/registerStorageMergeTree.cpp
dbms/src/Storages/MergeTree/registerStorageMergeTree.cpp
+3
-4
dbms/src/Storages/StorageInMemoryMetadata.h
dbms/src/Storages/StorageInMemoryMetadata.h
+0
-3
未找到文件。
dbms/src/Storages/AlterCommands.cpp
浏览文件 @
53341036
...
...
@@ -605,6 +605,11 @@ void AlterCommands::prepare(const StorageInMemoryMetadata & metadata, const Cont
{
if
(
!
command
)
{
#if !__clang__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
/// We completely sure, that we initialize all required fields
AlterCommand
aux_command
{
.
type
=
AlterCommand
::
MODIFY_COLUMN
,
.
column_name
=
column
.
name
,
...
...
@@ -612,6 +617,10 @@ void AlterCommands::prepare(const StorageInMemoryMetadata & metadata, const Cont
.
default_kind
=
column
.
default_desc
.
kind
,
.
default_expression
=
column
.
default_desc
.
expression
};
#if !__clang__
# pragma GCC diagnostic pop
#endif
/// column has no associated alter command, let's create it
/// add a new alter command to modify existing column
this
->
emplace_back
(
aux_command
);
...
...
dbms/src/Storages/AlterCommands.h
浏览文件 @
53341036
...
...
@@ -41,7 +41,7 @@ struct AlterCommand
String
partition_name
;
/// For ADD and MODIFY, a new column type.
DataTypePtr
data_type
;
DataTypePtr
data_type
=
nullptr
;
ColumnDefaultKind
default_kind
{};
ASTPtr
default_expression
{};
...
...
@@ -59,29 +59,29 @@ struct AlterCommand
bool
if_not_exists
=
false
;
/// For MODIFY_ORDER_BY
ASTPtr
order_by
;
ASTPtr
order_by
=
nullptr
;
/// For ADD INDEX
ASTPtr
index_decl
;
ASTPtr
index_decl
=
nullptr
;
String
after_index_name
;
/// For ADD/DROP INDEX
String
index_name
;
// For ADD CONSTRAINT
ASTPtr
constraint_decl
;
ASTPtr
constraint_decl
=
nullptr
;
// For ADD/DROP CONSTRAINT
String
constraint_name
;
/// For MODIFY TTL
ASTPtr
ttl
;
ASTPtr
ttl
=
nullptr
;
/// indicates that this command should not be applied, for example in case of if_exists=true and column doesn't exist.
bool
ignore
=
false
;
/// For ADD and MODIFY
CompressionCodecPtr
codec
;
CompressionCodecPtr
codec
=
nullptr
;
/// For MODIFY SETTING
SettingsChanges
settings_changes
;
...
...
dbms/src/Storages/MergeTree/MergeTreeData.cpp
浏览文件 @
53341036
...
...
@@ -1452,8 +1452,7 @@ void MergeTreeData::checkAlterIsPossible(const AlterCommands & commands, const S
}
}
setProperties
(
metadata
.
order_by_ast
,
metadata
.
primary_key_ast
,
metadata
.
columns
,
metadata
.
indices
,
metadata
.
constraints
,
/* only_check = */
true
);
setProperties
(
metadata
,
/* only_check = */
true
);
setTTLExpressions
(
metadata
.
columns
.
getColumnTTLs
(),
metadata
.
ttl_for_table_ast
,
/* only_check = */
true
);
...
...
dbms/src/Storages/MergeTree/registerStorageMergeTree.cpp
浏览文件 @
53341036
...
...
@@ -643,16 +643,15 @@ static StoragePtr create(const StorageFactory::Arguments & args)
throw
Exception
(
"You must set the setting `allow_experimental_data_skipping_indices` to 1 "
\
"before using data skipping indices."
,
ErrorCodes
::
BAD_ARGUMENTS
);
StorageInMemoryMetadata
metadata
{
StorageInMemoryMetadata
metadata
{
.
columns
=
args
.
columns
,
.
indices
=
indices_description
,
.
constraints
=
args
.
constraints
,
.
partition_by_ast
=
partition_by_ast
,
.
order_by_ast
=
order_by_ast
,
.
primary_key_ast
=
primary_key_ast
,
.
sample_by_ast
=
sample_by_ast
,
.
ttl_for_table_ast
=
ttl_table_ast
,
.
sample_by_ast
=
sample_by_ast
,
.
settings_ast
=
settings_ast
,
};
if
(
replicated
)
...
...
@@ -663,7 +662,7 @@ static StoragePtr create(const StorageFactory::Arguments & args)
else
return
StorageMergeTree
::
create
(
args
.
database_name
,
args
.
table_name
,
args
.
relative_data_path
,
metadata
,
args
.
attach
,
args
.
context
,
date_column_name
,
partition_by_ast
,
order_by_ast
,
merging_params
,
std
::
move
(
storage_settings
),
date_column_name
,
merging_params
,
std
::
move
(
storage_settings
),
args
.
has_force_restore_data_flag
);
}
...
...
dbms/src/Storages/StorageInMemoryMetadata.h
浏览文件 @
53341036
...
...
@@ -35,7 +35,4 @@ struct StorageInMemoryMetadata
ASTPtr
settings_ast
=
nullptr
;
};
ASTPtr
metadataToAST
(
const
StorageInMemoryMetadata
&
metadata
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录