mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-17 03:42:48 +00:00
85 lines
4.9 KiB
SQL
85 lines
4.9 KiB
SQL
-- Tags: no-replicated-database
|
|
-- no-replicated-database: It messes up the output and this test explicitly checks the replicated database
|
|
|
|
CREATE TABLE test
|
|
(
|
|
str String,
|
|
column_with_codec String CODEC(ZSTD),
|
|
column_with_alias String MATERIALIZED concat(str, 'a' AS a),
|
|
)
|
|
ENGINE = MergeTree()
|
|
ORDER BY tuple();
|
|
|
|
-- Cannot have a different expression with the same alias
|
|
ALTER TABLE test ADD COLUMN invalid_column String MATERIALIZED concat(str, 'b' AS a); -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test ADD COLUMN invalid_column String DEFAULT concat(str, 'b' AS a); -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
-- Cannot specify codec for column type ALIAS
|
|
ALTER TABLE test MODIFY COLUMN column_with_codec String ALIAS str; -- { serverError BAD_ARGUMENTS }
|
|
-- alias is defined exactly the same
|
|
ALTER TABLE test ADD COLUMN valid_column_1 String DEFAULT concat(str, 'a' AS a);
|
|
-- different alias
|
|
ALTER TABLE test ADD COLUMN valid_column_2 String MATERIALIZED concat(str, 'c' AS c);
|
|
-- do one insert to make sure we can insert into the table
|
|
INSERT INTO test(str, column_with_codec) VALUES ('test', 'test2');
|
|
SELECT str, column_with_alias, valid_column_1, valid_column_2 FROM test;
|
|
DROP TABLE test;
|
|
|
|
CREATE TABLE test2
|
|
(
|
|
str String,
|
|
column_with_codec String CODEC(ZSTD),
|
|
column_with_alias String MATERIALIZED concat(str, 'a' AS a),
|
|
)
|
|
ENGINE = ReplicatedMergeTree('/clickhouse/03224_invalid_alter/{database}/{table}', 'r1')
|
|
ORDER BY tuple();
|
|
|
|
ALTER TABLE test2 ADD COLUMN invalid_column String MATERIALIZED concat(str, 'b' AS a); -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test2 ADD COLUMN invalid_column String DEFAULT concat(str, 'b' AS a); -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test2 MODIFY COLUMN column_with_codec String ALIAS str; -- { serverError BAD_ARGUMENTS }
|
|
ALTER TABLE test2 ADD COLUMN valid_column_1 String DEFAULT concat(str, 'a' AS a);
|
|
ALTER TABLE test2 ADD COLUMN valid_column_2 String MATERIALIZED concat(str, 'c' AS c);
|
|
INSERT INTO test2(str, column_with_codec) VALUES ('test2', 'test22');
|
|
SELECT str, column_with_alias, valid_column_1, valid_column_2 FROM test2;
|
|
|
|
DROP DATABASE {CLICKHOUSE_DATABASE:Identifier};
|
|
|
|
CREATE DATABASE {CLICKHOUSE_DATABASE:Identifier} ON CLUSTER test_shard_localhost ENGINE = Atomic;
|
|
|
|
CREATE TABLE test3 ON CLUSTER test_shard_localhost
|
|
(
|
|
str String,
|
|
column_with_codec String CODEC(ZSTD),
|
|
column_with_alias String MATERIALIZED concat(str, 'a' AS a),
|
|
)
|
|
ENGINE = ReplicatedMergeTree('/clickhouse/03224_invalid_alter/{database}_atomic/{table}', 'r1')
|
|
ORDER BY tuple();
|
|
|
|
ALTER TABLE test3 ON CLUSTER test_shard_localhost ADD COLUMN invalid_column String MATERIALIZED concat(str, 'b' AS a) FORMAT Null SETTINGS distributed_ddl_output_mode='throw'; -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test3 ON CLUSTER test_shard_localhost ADD COLUMN invalid_column String DEFAULT concat(str, 'b' AS a) FORMAT Null SETTINGS distributed_ddl_output_mode='throw'; -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test3 ON CLUSTER test_shard_localhost MODIFY COLUMN column_with_codec String ALIAS str FORMAT Null SETTINGS distributed_ddl_output_mode='throw'; -- { serverError BAD_ARGUMENTS }
|
|
ALTER TABLE test3 ON CLUSTER test_shard_localhost ADD COLUMN valid_column_1 String DEFAULT concat(str, 'a' AS a);
|
|
ALTER TABLE test3 ON CLUSTER test_shard_localhost ADD COLUMN valid_column_2 String MATERIALIZED concat(str, 'c' AS c);
|
|
INSERT INTO test3(str, column_with_codec) VALUES ('test3', 'test32');
|
|
SELECT str, column_with_alias, valid_column_1, valid_column_2 FROM test3;
|
|
|
|
DROP DATABASE {CLICKHOUSE_DATABASE:Identifier};
|
|
CREATE DATABASE {CLICKHOUSE_DATABASE:Identifier} ENGINE = Replicated('/clickhouse/03224_invalid_alter/{database}_replicated', 'shard1', 'replica1') FORMAT Null;
|
|
|
|
CREATE TABLE test4
|
|
(
|
|
str String,
|
|
column_with_codec String CODEC(ZSTD),
|
|
column_with_alias String MATERIALIZED concat(str, 'a' AS a),
|
|
)
|
|
ENGINE = ReplicatedMergeTree()
|
|
ORDER BY tuple()
|
|
FORMAT Null;
|
|
|
|
ALTER TABLE test4 ADD COLUMN invalid_column String MATERIALIZED concat(str, 'b' AS a) FORMAT Null SETTINGS distributed_ddl_output_mode='throw'; -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test4 ADD COLUMN invalid_column String DEFAULT concat(str, 'b' AS a) FORMAT Null SETTINGS distributed_ddl_output_mode='throw'; -- { serverError MULTIPLE_EXPRESSIONS_FOR_ALIAS }
|
|
ALTER TABLE test4 MODIFY COLUMN column_with_codec String ALIAS str FORMAT Null SETTINGS distributed_ddl_output_mode='throw'; -- { serverError BAD_ARGUMENTS }
|
|
ALTER TABLE test4 ADD COLUMN valid_column_1 String DEFAULT concat(str, 'a' AS a) FORMAT Null SETTINGS distributed_ddl_output_mode='throw';
|
|
ALTER TABLE test4 ADD COLUMN valid_column_2 String MATERIALIZED concat(str, 'c' AS c) FORMAT Null SETTINGS distributed_ddl_output_mode='throw';
|
|
INSERT INTO test4(str, column_with_codec) VALUES ('test4', 'test42');
|
|
SELECT str, column_with_alias, valid_column_1, valid_column_2 FROM test4;
|