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]

Reply via email to