This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 9025a6ec5b1 [Fix] (schema change) forbid adding time type column
(#28751) (#29173)
9025a6ec5b1 is described below
commit 9025a6ec5b1d874444729688607ca0eb37e6e393
Author: Luwei <[email protected]>
AuthorDate: Thu Dec 28 10:32:51 2023 +0800
[Fix] (schema change) forbid adding time type column (#28751) (#29173)
---
.../apache/doris/alter/SchemaChangeHandler.java | 4 ++
.../suites/schema_change_p0/check_time_type.groovy | 55 ++++++++++++++++++++++
2 files changed, 59 insertions(+)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
index 0eccda8ae63..a0cd2c1bb57 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
@@ -950,6 +950,10 @@ public class SchemaChangeHandler extends AlterHandler {
}
}
+ if (newColumn.getType().isTime() || newColumn.getType().isTimeV2()) {
+ throw new DdlException("Time type is not supported for olap
table");
+ }
+
// hll must be used in agg_keys
if (newColumn.getType().isHllType() && KeysType.AGG_KEYS !=
olapTable.getKeysType()) {
throw new DdlException("HLL type column can only be in Aggregation
data model table: " + newColName);
diff --git a/regression-test/suites/schema_change_p0/check_time_type.groovy
b/regression-test/suites/schema_change_p0/check_time_type.groovy
new file mode 100644
index 00000000000..e15a6fc711d
--- /dev/null
+++ b/regression-test/suites/schema_change_p0/check_time_type.groovy
@@ -0,0 +1,55 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("check_time_type", "p0") {
+ def tableName = "check_time_type"
+
+ sql """
+ drop table IF exists ${tableName}
+ """
+
+ sql """
+ CREATE TABLE ${tableName}
+ (
+ k1 INT,
+ k2 int,
+ v1 INT,
+ v2 INT,
+ v3 varchar(32)
+ )
+ UNIQUE KEY (k1, k2)
+ DISTRIBUTED BY HASH(k2) BUCKETS 1
+ PROPERTIES (
+ 'light_schema_change' = 'true',
+ 'replication_num' = '1'
+ )
+ """
+
+ sql """
+ insert into ${tableName} values (1, 2, 3, 4, 'a');
+ """
+
+ test {
+ sql """ alter table ${tableName} add column new_col time """
+ exception "errCode = 2, detailMessage = Time type is not supported for
olap table"
+ }
+
+ sql """
+ select * from ${tableName}
+ """
+}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]