Skip to content

Commit 0aa70a9

Browse files
luwei16HappenLee
authored andcommitted
[Fix] (schema change) forbid adding time type column (apache#28751)
1 parent e85fb52 commit 0aa70a9

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java

+4
Original file line numberDiff line numberDiff line change
@@ -951,6 +951,10 @@ private boolean addColumnInternal(OlapTable olapTable, Column newColumn, ColumnP
951951
}
952952
}
953953

954+
if (newColumn.getType().isTime() || newColumn.getType().isTimeV2()) {
955+
throw new DdlException("Time type is not supported for olap table");
956+
}
957+
954958
// hll must be used in agg_keys
955959
if (newColumn.getType().isHllType() && KeysType.AGG_KEYS != olapTable.getKeysType()) {
956960
throw new DdlException("HLL type column can only be in Aggregation data model table: " + newColName);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
18+
suite("check_time_type", "p0") {
19+
def tableName = "check_time_type"
20+
21+
sql """
22+
drop table IF exists ${tableName}
23+
"""
24+
25+
sql """
26+
CREATE TABLE ${tableName}
27+
(
28+
k1 INT,
29+
k2 int,
30+
v1 INT,
31+
v2 INT,
32+
v3 varchar(32)
33+
)
34+
UNIQUE KEY (k1, k2)
35+
DISTRIBUTED BY HASH(k2) BUCKETS 1
36+
PROPERTIES (
37+
'light_schema_change' = 'true',
38+
'replication_num' = '1'
39+
)
40+
"""
41+
42+
sql """
43+
insert into ${tableName} values (1, 2, 3, 4, 'a');
44+
"""
45+
46+
test {
47+
sql """ alter table ${tableName} add column new_col time """
48+
exception "errCode = 2, detailMessage = Time type is not supported for olap table"
49+
}
50+
51+
sql """
52+
select * from ${tableName}
53+
"""
54+
}
55+

0 commit comments

Comments
 (0)