mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-19 16:20:50 +00:00
1) Update checking MergeTree storage. 2) Remove unused code segment. 3) Update the test
This commit is contained in:
parent
4aa9459c63
commit
c01e63fd2b
@ -811,6 +811,11 @@ InterpreterCreateQuery::TableProperties InterpreterCreateQuery::getTableProperti
|
||||
|
||||
/// as_storage->getColumns() and setEngine(...) must be called under structure lock of other_table for CREATE ... AS other_table.
|
||||
as_storage_lock = as_storage->lockForShare(getContext()->getCurrentQueryId(), getContext()->getSettingsRef().lock_acquire_timeout);
|
||||
if (create.is_clone_as && !endsWith(as_storage->getName(), "MergeTree"))
|
||||
{
|
||||
throw Exception(ErrorCodes::SUPPORT_IS_DISABLED, "Only support CLONE AS with tables of the MergeTree family");
|
||||
}
|
||||
|
||||
auto as_storage_metadata = as_storage->getInMemoryMetadataPtr();
|
||||
properties.columns = as_storage_metadata->getColumns();
|
||||
|
||||
@ -828,10 +833,6 @@ InterpreterCreateQuery::TableProperties InterpreterCreateQuery::getTableProperti
|
||||
{
|
||||
/// Only MergeTree support TTL
|
||||
properties.columns.resetColumnTTLs();
|
||||
if (create.is_clone_as)
|
||||
{
|
||||
throw Exception(ErrorCodes::SUPPORT_IS_DISABLED, "Only support CLONE AS with tables of the MergeTree family");
|
||||
}
|
||||
}
|
||||
|
||||
properties.constraints = as_storage_metadata->getConstraints();
|
||||
@ -1960,18 +1961,6 @@ BlockIO InterpreterCreateQuery::fillTableIfNeeded(const ASTCreateQuery & create)
|
||||
&& (!(create.is_materialized_view || create.is_window_view) || create.is_populate))
|
||||
{
|
||||
String as_database_name = getContext()->resolveDatabase(create.as_database);
|
||||
StorageID as_table_id = {as_database_name, as_table_saved};
|
||||
StoragePtr as_table = DatabaseCatalog::instance().tryGetTable(as_table_id, getContext());
|
||||
if (!as_table)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
auto merge_tree_table = std::dynamic_pointer_cast<MergeTreeData>(as_table);
|
||||
if (!merge_tree_table)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
auto partition = std::make_shared<ASTPartition>();
|
||||
partition->all = true;
|
||||
|
@ -24,8 +24,8 @@ CREATE TABLE default.foo_replicated_merge_tree\n(\n `x` Int8,\n `y` String
|
||||
1 a
|
||||
2 b
|
||||
s1 r1 OK 0 0
|
||||
CREATE TABLE imdb_03231.foo_merge_tree\n(\n `x` Int8,\n `y` String\n)\nENGINE = MergeTree\nPRIMARY KEY x\nORDER BY x\nSETTINGS index_granularity = 8192
|
||||
from imdb_03231.foo_merge_tree
|
||||
CREATE TABLE default_1.foo_merge_tree\n(\n `x` Int8,\n `y` String\n)\nENGINE = MergeTree\nPRIMARY KEY x\nORDER BY x\nSETTINGS index_granularity = 8192
|
||||
from foo_merge_tree
|
||||
1 a
|
||||
2 b
|
||||
s1 r1 OK 0 0
|
||||
|
@ -71,17 +71,18 @@ DROP TABLE IF EXISTS foo_replicated_merge_tree;
|
||||
DROP TABLE IF EXISTS clone_as_foo_replicated_merge_tree;
|
||||
|
||||
-- CLONE AS with a Replicated database
|
||||
DROP DATABASE IF EXISTS imdb_03231;
|
||||
DROP DATABASE IF EXISTS {CLICKHOUSE_DATABASE_1:Identifier};
|
||||
|
||||
CREATE DATABASE imdb_03231 ENGINE = Replicated('/test/databases/{database}/imdb_03231', 's1', 'r1');
|
||||
CREATE DATABASE {CLICKHOUSE_DATABASE_1:Identifier} ENGINE = Replicated('/test/databases/{database}/test_03231', 's1', 'r1');
|
||||
USE {CLICKHOUSE_DATABASE_1:Identifier};
|
||||
|
||||
CREATE TABLE imdb_03231.foo_merge_tree (x Int8, y String) ENGINE=MergeTree PRIMARY KEY x;
|
||||
SHOW CREATE TABLE imdb_03231.foo_merge_tree;
|
||||
INSERT INTO imdb_03231.foo_merge_tree VALUES (1, 'a'), (2, 'b');
|
||||
SELECT 'from imdb_03231.foo_merge_tree';
|
||||
SELECT * FROM imdb_03231.foo_merge_tree;
|
||||
CREATE TABLE imdb_03231.clone_as_foo_merge_tree CLONE AS imdb_03231.foo_merge_tree; -- { serverError SUPPORT_IS_DISABLED }
|
||||
CREATE TABLE foo_merge_tree (x Int8, y String) ENGINE=MergeTree PRIMARY KEY x;
|
||||
SHOW CREATE TABLE foo_merge_tree;
|
||||
INSERT INTO foo_merge_tree VALUES (1, 'a'), (2, 'b');
|
||||
SELECT 'from foo_merge_tree';
|
||||
SELECT * FROM foo_merge_tree;
|
||||
CREATE TABLE clone_as_foo_merge_tree CLONE AS foo_merge_tree; -- { serverError SUPPORT_IS_DISABLED }
|
||||
|
||||
DROP TABLE IF EXISTS imdb_03231.clone_as_foo_merge_tree;
|
||||
DROP TABLE IF EXISTS imdb_03231.foo_merge_tree;
|
||||
DROP DATABASE IF EXISTS imdb_03231;
|
||||
DROP TABLE IF EXISTS clone_as_foo_merge_tree;
|
||||
DROP TABLE IF EXISTS foo_merge_tree;
|
||||
DROP DATABASE IF EXISTS {CLICKHOUSE_DATABASE_1:Identifier};
|
Loading…
Reference in New Issue
Block a user