From 8969c19cd41192705ddd8b2034b305513234a665 Mon Sep 17 00:00:00 2001 From: xueweizhang Date: Wed, 21 Dec 2022 08:56:43 +0800 Subject: [PATCH] [fix](jdbc) fix create table like table of jdbc error (#15179) when create table like table of jdbc, it will get error like 'errCode = 2, detailMessage = Failed to execute CREATE TABLE LIKE baseall_mysql. Reason: errCode = 2, detailMessage = property table_type must be set' this pr fix it. --- .../src/main/java/org/apache/doris/catalog/Env.java | 3 ++- .../mysql/test_external_resource_mysql.groovy | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index eb4f6d93ab..a8a1c8b78f 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -3112,7 +3112,8 @@ public class Env { addTableComment(jdbcTable, sb); sb.append("\nPROPERTIES (\n"); sb.append("\"resource\" = \"").append(jdbcTable.getResourceName()).append("\",\n"); - sb.append("\"table\" = \"").append(jdbcTable.getJdbcTable()).append("\""); + sb.append("\"table\" = \"").append(jdbcTable.getJdbcTable()).append("\",\n"); + sb.append("\"table_type\" = \"").append(jdbcTable.getJdbcTypeName()).append("\""); sb.append("\n)"); } diff --git a/regression-test/suites/external_table_emr_p2/mysql/test_external_resource_mysql.groovy b/regression-test/suites/external_table_emr_p2/mysql/test_external_resource_mysql.groovy index ac58b351ae..d64a478ad7 100644 --- a/regression-test/suites/external_table_emr_p2/mysql/test_external_resource_mysql.groovy +++ b/regression-test/suites/external_table_emr_p2/mysql/test_external_resource_mysql.groovy @@ -26,6 +26,7 @@ suite("test_external_resource_mysql", "p2") { String mysqlResourceName = "jdbc_resource_mysql_57" String mysqlDatabaseName01 = "external_mysql_database01" String mysqlTableName01 = "external_mysql_table01" + String mysqlTableName02 = "external_mysql_table02" sql """drop resource if exists ${mysqlResourceName};""" sql """ @@ -58,7 +59,14 @@ suite("test_external_resource_mysql", "p2") { def res = sql """select count(*) from ${mysqlTableName01};""" logger.info("recoding select: " + res.toString()) + sql """ + CREATE EXTERNAL TABLE ${mysqlTableName02} LIKE ${mysqlTableName01}; + """ + res = sql """select count(*) from ${mysqlTableName02};""" + logger.info("recoding select: " + res.toString()) + sql """drop table if exists ${mysqlTableName01}""" + sql """drop table if exists ${mysqlTableName02}""" sql """drop database if exists ${mysqlDatabaseName01};""" } @@ -70,3 +78,4 @@ suite("test_external_resource_mysql", "p2") { +