From 4530b531e700b45bd6436289b62da005fe62f308 Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Fri, 16 Dec 2022 21:54:35 +0800 Subject: [PATCH] [fix](type) forbid time type when creating table (#15093) --- .../main/java/org/apache/doris/analysis/CreateTableStmt.java | 4 ++++ .../src/test/java/org/apache/doris/alter/AlterTest.java | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java index 606448a23b..1f43193035 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java @@ -401,6 +401,10 @@ public class CreateTableStmt extends DdlStmt { } } + if (columnDef.getType().isTime() || columnDef.getType().isTimeV2()) { + throw new AnalysisException("Time type is not supported for olap table"); + } + if (columnDef.getType().isObjectStored()) { hasObjectStored = true; objectStoredColumn = columnDef.getName(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/alter/AlterTest.java b/fe/fe-core/src/test/java/org/apache/doris/alter/AlterTest.java index d8c6f1e7fb..b5d435203e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/alter/AlterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/alter/AlterTest.java @@ -118,7 +118,8 @@ public class AlterTest { + "PROPERTIES('replication_num' = '1');"); createTable( - "CREATE TABLE test.tbl6\n" + "(\n" + " k1 datetime(3),\n" + " k2 time(3),\n" + " v1 int \n," + "CREATE TABLE test.tbl6\n" + "(\n" + " k1 datetime(3),\n" + " k2 datetime(3),\n" + + " v1 int \n," + " v2 datetime(3)\n" + ") ENGINE=OLAP\n" + "UNIQUE KEY (k1,k2)\n" + "PARTITION BY RANGE(k1)\n" + "(\n" + " PARTITION p1 values less than('2020-02-01 00:00:00'),\n" @@ -410,7 +411,7 @@ public class AlterTest { alterTable(stmt, true); // no conflict - stmt = "alter table test.tbl6 add column k3 int, add column k4 time(6)"; + stmt = "alter table test.tbl6 add column k3 int, add column k4 datetime(6)"; alterTable(stmt, false); waitSchemaChangeJobDone(false);