Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
993a5e44
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,发现更多精彩内容 >>
提交
993a5e44
编写于
12月 30, 2017
作者:
A
Alexey Milovidov
提交者:
alexey-milovidov
12月 30, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Inverted dependencies in StorageFactory (continued) [#CLICKHOUSE-2].
上级
ffca152c
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
89 addition
and
129 deletion
+89
-129
dbms/src/Storages/StorageCatBoostPool.cpp
dbms/src/Storages/StorageCatBoostPool.cpp
+0
-8
dbms/src/Storages/StorageCatBoostPool.h
dbms/src/Storages/StorageCatBoostPool.h
+1
-4
dbms/src/Storages/StorageDistributed.cpp
dbms/src/Storages/StorageDistributed.cpp
+2
-21
dbms/src/Storages/StorageDistributed.h
dbms/src/Storages/StorageDistributed.h
+2
-12
dbms/src/Storages/StorageStripeLog.cpp
dbms/src/Storages/StorageStripeLog.cpp
+1
-1
dbms/src/Storages/StorageStripeLog.h
dbms/src/Storages/StorageStripeLog.h
+1
-1
dbms/src/Storages/StorageTinyLog.cpp
dbms/src/Storages/StorageTinyLog.cpp
+2
-2
dbms/src/Storages/StorageTinyLog.h
dbms/src/Storages/StorageTinyLog.h
+1
-1
dbms/tests/queries/0_stateless/00261_storage_aliases_and_array_join.sql
...ries/0_stateless/00261_storage_aliases_and_array_join.sql
+63
-63
dbms/tests/queries/0_stateless/00262_alter_alias.sql
dbms/tests/queries/0_stateless/00262_alter_alias.sql
+16
-16
未找到文件。
dbms/src/Storages/StorageCatBoostPool.cpp
浏览文件 @
993a5e44
...
...
@@ -90,14 +90,6 @@ static void checkCreationIsAllowed(const String & base_path, const String & path
ErrorCodes
::
DATABASE_ACCESS_DENIED
);
}
StoragePtr
StorageCatBoostPool
::
create
(
const
Context
&
context
,
const
String
&
column_description_file_name
,
const
String
&
data_description_file_name
)
{
return
ext
::
shared_ptr_helper
<
StorageCatBoostPool
>::
create
(
context
,
column_description_file_name
,
data_description_file_name
);
}
StorageCatBoostPool
::
StorageCatBoostPool
(
const
Context
&
context
,
String
column_description_file_name_
,
...
...
dbms/src/Storages/StorageCatBoostPool.h
浏览文件 @
993a5e44
...
...
@@ -7,12 +7,9 @@
namespace
DB
{
class
StorageCatBoostPool
:
p
rivate
ext
::
shared_ptr_helper
<
StorageCatBoostPool
>
,
public
IStorage
class
StorageCatBoostPool
:
p
ublic
ext
::
shared_ptr_helper
<
StorageCatBoostPool
>
,
public
IStorage
{
public:
static
StoragePtr
create
(
const
Context
&
context
,
const
String
&
column_description_file_name
,
const
String
&
data_description_file_name
);
std
::
string
getName
()
const
override
{
return
"CatBoostPool"
;
}
std
::
string
getTableName
()
const
override
{
return
table_name
;
}
...
...
dbms/src/Storages/StorageDistributed.cpp
浏览文件 @
993a5e44
...
...
@@ -129,25 +129,6 @@ void initializeFileNamesIncrement(const std::string & path, SimpleIncrement & in
StorageDistributed
::~
StorageDistributed
()
=
default
;
StorageDistributed
::
StorageDistributed
(
const
std
::
string
&
name_
,
const
NamesAndTypesList
&
columns_
,
const
String
&
remote_database_
,
const
String
&
remote_table_
,
const
String
&
cluster_name_
,
const
Context
&
context_
,
const
ASTPtr
&
sharding_key_
,
const
String
&
data_path_
)
:
name
(
name_
),
columns
(
columns_
),
remote_database
(
remote_database_
),
remote_table
(
remote_table_
),
context
(
context_
),
cluster_name
(
cluster_name_
),
has_sharding_key
(
sharding_key_
),
sharding_key_expr
(
sharding_key_
?
ExpressionAnalyzer
(
sharding_key_
,
context
,
nullptr
,
columns
).
getActions
(
false
)
:
nullptr
),
sharding_key_column_name
(
sharding_key_
?
sharding_key_
->
getColumnName
()
:
String
{}),
path
(
data_path_
.
empty
()
?
""
:
(
data_path_
+
escapeForFileName
(
name
)
+
'/'
))
{
}
StorageDistributed
::
StorageDistributed
(
const
std
::
string
&
name_
,
const
NamesAndTypesList
&
columns_
,
...
...
@@ -180,8 +161,8 @@ StoragePtr StorageDistributed::createWithOwnCluster(
const
Context
&
context_
)
{
auto
res
=
ext
::
shared_ptr_helper
<
StorageDistributed
>::
create
(
name_
,
columns_
,
remote_database_
,
remote_
table_
,
String
{},
context_
);
name_
,
columns_
,
NamesAndTypesList
(),
NamesAndTypesList
(),
ColumnDefaults
()
,
remote_
database_
,
remote_table_
,
String
{},
context_
,
ASTPtr
(),
String
()
);
res
->
owned_cluster
=
owned_cluster_
;
...
...
dbms/src/Storages/StorageDistributed.h
浏览文件 @
993a5e44
...
...
@@ -128,16 +128,6 @@ public:
SimpleIncrement
file_names_increment
;
protected:
StorageDistributed
(
const
std
::
string
&
name_
,
const
NamesAndTypesList
&
columns_
,
const
String
&
remote_database_
,
const
String
&
remote_table_
,
const
String
&
cluster_name_
,
const
Context
&
context_
,
const
ASTPtr
&
sharding_key_
=
nullptr
,
const
String
&
data_path_
=
String
{});
StorageDistributed
(
const
std
::
string
&
name_
,
const
NamesAndTypesList
&
columns_
,
...
...
@@ -148,8 +138,8 @@ protected:
const
String
&
remote_table_
,
const
String
&
cluster_name_
,
const
Context
&
context_
,
const
ASTPtr
&
sharding_key_
=
nullptr
,
const
String
&
data_path_
=
String
{}
);
const
ASTPtr
&
sharding_key_
,
const
String
&
data_path_
);
};
}
dbms/src/Storages/StorageStripeLog.cpp
浏览文件 @
993a5e44
...
...
@@ -286,7 +286,7 @@ void registerStorageStripeLog(StorageFactory & factory)
return
StorageStripeLog
::
create
(
args
.
data_path
,
args
.
table_name
,
args
.
columns
,
args
.
materialized_columns
,
args
.
alias_columns
,
args
.
column_defaults
,
args
.
context
.
getSettings
().
max_compress_block_size
);
args
.
attach
,
args
.
context
.
getSettings
().
max_compress_block_size
);
});
}
...
...
dbms/src/Storages/StorageStripeLog.h
浏览文件 @
993a5e44
...
...
@@ -74,7 +74,7 @@ protected:
const
NamesAndTypesList
&
alias_columns_
,
const
ColumnDefaults
&
column_defaults_
,
bool
attach
,
size_t
max_compress_block_size_
=
DEFAULT_MAX_COMPRESS_BLOCK_SIZE
);
size_t
max_compress_block_size_
);
};
}
dbms/src/Storages/StorageTinyLog.cpp
浏览文件 @
993a5e44
...
...
@@ -403,7 +403,7 @@ bool StorageTinyLog::checkData() const
}
void
registerTinyLog
(
StorageFactory
&
factory
)
void
register
Storage
TinyLog
(
StorageFactory
&
factory
)
{
factory
.
registerStorage
(
"TinyLog"
,
[](
const
StorageFactory
::
Arguments
&
args
)
{
...
...
@@ -415,7 +415,7 @@ void registerTinyLog(StorageFactory & factory)
return
StorageTinyLog
::
create
(
args
.
data_path
,
args
.
table_name
,
args
.
columns
,
args
.
materialized_columns
,
args
.
alias_columns
,
args
.
column_defaults
,
args
.
context
.
getSettings
().
max_compress_block_size
);
args
.
attach
,
args
.
context
.
getSettings
().
max_compress_block_size
);
});
}
...
...
dbms/src/Storages/StorageTinyLog.h
浏览文件 @
993a5e44
...
...
@@ -77,7 +77,7 @@ protected:
const
NamesAndTypesList
&
alias_columns_
,
const
ColumnDefaults
&
column_defaults_
,
bool
attach
,
size_t
max_compress_block_size_
=
DEFAULT_MAX_COMPRESS_BLOCK_SIZE
);
size_t
max_compress_block_size_
);
};
}
dbms/tests/queries/0_stateless/00261_storage_aliases_and_array_join.sql
浏览文件 @
993a5e44
drop
table
if
exists
aliases_test
;
drop
table
if
exists
test
.
aliases_test
;
create
table
aliases_test
(
create
table
test
.
aliases_test
(
date
Date
,
id
UInt64
,
array
default
[
'zero'
,
'one'
,
'two'
],
d1
default
array
,
...
...
@@ -11,104 +11,104 @@ a4 alias arrayMap(x -> toString(x), range(3)), a5 alias a4, a6 alias a5,
`struct.a4`
alias
arrayMap
(
x
->
toString
(
x
),
range
(
3
)),
`struct.a5`
alias
struct
.
a4
,
`struct.a6`
alias
struct
.
a5
)
engine
=
MergeTree
(
date
,
id
,
1
);
insert
into
aliases_test
(
id
)
values
(
0
);
insert
into
test
.
aliases_test
(
id
)
values
(
0
);
select
'-- Ensure ALIAS columns are not selected by asterisk'
;
select
*
from
aliases_test
;
select
*
from
test
.
aliases_test
;
select
'-- select DEFAULT and ALIAS arrays'
;
select
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
;
select
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
;
select
'-- select DEFAULT and ALIAS nested columns'
;
select
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
;
select
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
;
select
d1
,
a1
from
aliases_test
array
join
d1
,
a1
;
select
d1
,
a1
from
aliases_test
array
join
d1
,
a1
as
a2
;
select
d1
,
a1
from
aliases_test
array
join
d1
as
d2
,
a1
;
select
d1
,
a1
from
test
.
aliases_test
array
join
d1
,
a1
;
select
d1
,
a1
from
test
.
aliases_test
array
join
d1
,
a1
as
a2
;
select
d1
,
a1
from
test
.
aliases_test
array
join
d1
as
d2
,
a1
;
select
'-- array join, but request the original columns'
;
select
d1
,
a1
from
aliases_test
array
join
d1
as
d2
,
a1
as
a2
;
select
d1
,
a1
from
test
.
aliases_test
array
join
d1
as
d2
,
a1
as
a2
;
select
'-- array join, do not use the result'
;
select
array
from
aliases_test
array
join
d1
,
a1
;
select
array
from
aliases_test
array
join
d1
as
d2
,
a1
as
a1
;
select
array
from
test
.
aliases_test
array
join
d1
,
a1
;
select
array
from
test
.
aliases_test
array
join
d1
as
d2
,
a1
as
a1
;
select
'-- select DEFAULT and ALIAS arrays, array joining one at a time'
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
d1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a2
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a3
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a4
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a5
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a6
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
d1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a2
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a3
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a4
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a5
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a6
;
select
'-- select DEFAULT and ALIAS arrays, array joining one at a time and aliasing result with original name'
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
d1
as
d1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a1
as
a1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a2
as
a2
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a3
as
a3
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a4
as
a4
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a5
as
a5
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
aliases_test
array
join
a6
as
a6
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
d1
as
d1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a1
as
a1
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a2
as
a2
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a3
as
a3
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a4
as
a4
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a5
as
a5
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
from
test
.
aliases_test
array
join
a6
as
a6
;
select
'-- select DEFAULT and ALIAS arrays and array join result, aliased as `joined`'
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
d1
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
a1
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
a2
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
a3
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
a4
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
a5
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
aliases_test
array
join
a6
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
d1
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
a1
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
a2
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
a3
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
a4
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
a5
as
joined
;
select
array
,
d1
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
joined
from
test
.
aliases_test
array
join
a6
as
joined
;
select
'-- select DEFAULT and ALIAS nested columns, array joining one at a time'
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
d1
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a1
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a2
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a3
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a4
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a5
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a6
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
d1
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a1
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a2
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a3
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a4
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a5
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a6
;
select
'-- select DEFAULT and ALIAS nested columns, array joining one at a time and aliasing result with original name'
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
d1
as
`struct.d1`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a1
as
`struct.a1`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a2
as
`struct.a2`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a3
as
`struct.a3`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a4
as
`struct.a4`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a5
as
`struct.a5`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
.
a6
as
`struct.a6`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
d1
as
`struct.d1`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a1
as
`struct.a1`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a2
as
`struct.a2`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a3
as
`struct.a3`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a4
as
`struct.a4`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a5
as
`struct.a5`
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
.
a6
as
`struct.a6`
;
select
'-- select DEFAULT and ALIAS nested columns and array join result, aliased as `joined`'
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
d1
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
a1
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
a2
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
a3
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
a4
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
a5
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
aliases_test
array
join
struct
.
a6
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
d1
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
a1
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
a2
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
a3
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
a4
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
a5
as
joined
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
joined
from
test
.
aliases_test
array
join
struct
.
a6
as
joined
;
select
'-- array join whole nested table'
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
;
select
'-- array join whole nested table not using the result'
;
select
array
from
aliases_test
array
join
struct
;
select
array
from
test
.
aliases_test
array
join
struct
;
select
'-- array join whole nested table, aliasing with original name'
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
as
struct
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
as
struct
;
select
'-- array join whole nested table, aliasing with original name not using the result'
;
select
array
from
aliases_test
array
join
struct
as
struct
;
select
array
from
test
.
aliases_test
array
join
struct
as
struct
;
select
'-- array join whole nested table, aliasing as `class`'
;
select
array
,
class
.
d1
,
class
.
a1
,
class
.
a2
,
class
.
a3
,
class
.
a4
,
class
.
a5
,
class
.
a6
from
aliases_test
array
join
struct
as
class
;
select
array
,
class
.
d1
,
class
.
a1
,
class
.
a2
,
class
.
a3
,
class
.
a4
,
class
.
a5
,
class
.
a6
from
test
.
aliases_test
array
join
struct
as
class
;
select
'-- array join whole nested table, aliasing as `class` and not using the result'
;
select
array
from
aliases_test
array
join
struct
as
class
;
select
array
from
test
.
aliases_test
array
join
struct
as
class
;
select
'-- array join whole nested table, aliasing as `class` but requesting the original columns'
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
aliases_test
array
join
struct
as
class
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
from
test
.
aliases_test
array
join
struct
as
class
;
select
array
,
struct
.
d1
,
struct
.
a1
,
struct
.
a2
,
struct
.
a3
,
struct
.
a4
,
struct
.
a5
,
struct
.
a6
,
class
.
d1
,
class
.
a1
,
class
.
a2
,
class
.
a3
,
class
.
a4
,
class
.
a5
,
class
.
a6
from
aliases_test
array
join
struct
as
class
;
from
test
.
aliases_test
array
join
struct
as
class
;
drop
table
aliases_test
;
drop
table
test
.
aliases_test
;
dbms/tests/queries/0_stateless/00262_alter_alias.sql
浏览文件 @
993a5e44
drop
table
if
exists
aliases_test
;
drop
table
if
exists
test
.
aliases_test
;
create
table
aliases_test
(
date
default
today
(),
id
default
rand
(),
array
default
[
0
,
1
,
2
])
engine
=
MergeTree
(
date
,
id
,
1
);
create
table
test
.
aliases_test
(
date
default
today
(),
id
default
rand
(),
array
default
[
0
,
1
,
2
])
engine
=
MergeTree
(
date
,
id
,
1
);
insert
into
aliases_test
(
id
)
values
(
0
);
select
array
from
aliases_test
;
insert
into
test
.
aliases_test
(
id
)
values
(
0
);
select
array
from
test
.
aliases_test
;
alter
table
aliases_test
modify
column
array
alias
[
0
,
1
,
2
];
select
array
from
aliases_test
;
alter
table
test
.
aliases_test
modify
column
array
alias
[
0
,
1
,
2
];
select
array
from
test
.
aliases_test
;
alter
table
aliases_test
modify
column
array
default
[
0
,
1
,
2
];
select
array
from
aliases_test
;
alter
table
test
.
aliases_test
modify
column
array
default
[
0
,
1
,
2
];
select
array
from
test
.
aliases_test
;
alter
table
aliases_test
add
column
struct
.
key
default
[
0
,
1
,
2
],
add
column
struct
.
value
default
array
;
select
struct
.
key
,
struct
.
value
from
aliases_test
;
alter
table
test
.
aliases_test
add
column
struct
.
key
default
[
0
,
1
,
2
],
add
column
struct
.
value
default
array
;
select
struct
.
key
,
struct
.
value
from
test
.
aliases_test
;
alter
table
aliases_test
modify
column
struct
.
value
alias
array
;
select
struct
.
key
,
struct
.
value
from
aliases_test
;
alter
table
test
.
aliases_test
modify
column
struct
.
value
alias
array
;
select
struct
.
key
,
struct
.
value
from
test
.
aliases_test
;
select
struct
.
key
,
struct
.
value
from
aliases_test
array
join
struct
;
select
struct
.
key
,
struct
.
value
from
aliases_test
array
join
struct
as
struct
;
select
class
.
key
,
class
.
value
from
aliases_test
array
join
struct
as
class
;
select
struct
.
key
,
struct
.
value
from
test
.
aliases_test
array
join
struct
;
select
struct
.
key
,
struct
.
value
from
test
.
aliases_test
array
join
struct
as
struct
;
select
class
.
key
,
class
.
value
from
test
.
aliases_test
array
join
struct
as
class
;
drop
table
aliases_test
;
drop
table
test
.
aliases_test
;
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录