This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
     new 3f82abf0c9 [1.2][improvement](JDBC Catalog)Added Presto connection to 
Presto/Trino (#20731)
3f82abf0c9 is described below

commit 3f82abf0c9507607e9db138d58da31e6a938a3ff
Author: zy-kkk <zhong...@qq.com>
AuthorDate: Tue Jun 13 11:38:07 2023 +0800

    [1.2][improvement](JDBC Catalog)Added Presto connection to Presto/Trino 
(#20731)
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java | 4 ++++
 fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcTable.java    | 1 +
 .../src/main/java/org/apache/doris/external/jdbc/JdbcClient.java    | 6 ++++++
 gensrc/thrift/Types.thrift                                          | 3 ++-
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java
index ed09ff5861..7e6acc0f66 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java
@@ -69,6 +69,7 @@ public class JdbcResource extends Resource {
     public static final String JDBC_CLICKHOUSE = "jdbc:clickhouse";
     public static final String JDBC_SAP_HANA = "jdbc:sap";
     public static final String JDBC_TRINO = "jdbc:trino";
+    public static final String JDBC_PRESTO = "jdbc:presto";
 
     public static final String MYSQL = "MYSQL";
     public static final String POSTGRESQL = "POSTGRESQL";
@@ -77,6 +78,7 @@ public class JdbcResource extends Resource {
     public static final String CLICKHOUSE = "CLICKHOUSE";
     public static final String SAP_HANA = "SAP_HANA";
     public static final String TRINO = "TRINO";
+    public static final String PRESTO = "PRESTO";
 
     public static final String JDBC_PROPERTIES_PREFIX = "jdbc.";
     public static final String JDBC_URL = "jdbc_url";
@@ -267,6 +269,8 @@ public class JdbcResource extends Resource {
             return SAP_HANA;
         } else if (url.startsWith(JDBC_TRINO)) {
             return TRINO;
+        } else if (url.startsWith(JDBC_PRESTO)) {
+            return PRESTO;
         }
         throw new DdlException("Unsupported jdbc database type, please check 
jdbcUrl: " + url);
     }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcTable.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcTable.java
index aeaa1fd60b..f2fe6e4798 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcTable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcTable.java
@@ -76,6 +76,7 @@ public class JdbcTable extends Table {
         tempMap.put("clickhouse", TOdbcTableType.CLICKHOUSE);
         tempMap.put("sap_hana", TOdbcTableType.SAP_HANA);
         tempMap.put("trino", TOdbcTableType.TRINO);
+        tempMap.put("presto", TOdbcTableType.PRESTO);
         TABLE_TYPE_MAP = Collections.unmodifiableMap(tempMap);
     }
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java 
b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java
index 3f635fc762..2cd6c0ab64 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcClient.java
@@ -200,6 +200,7 @@ public class JdbcClient {
                     rs = stmt.executeQuery("SELECT SCHEMA_NAME FROM 
SYS.SCHEMAS WHERE HAS_PRIVILEGES = 'TRUE'");
                     break;
                 case JdbcResource.TRINO:
+                case JdbcResource.PRESTO:
                     rs = stmt.executeQuery("SHOW SCHEMAS");
                     break;
                 default:
@@ -235,6 +236,7 @@ public class JdbcClient {
                 case JdbcResource.SQLSERVER:
                 case JdbcResource.SAP_HANA:
                 case JdbcResource.TRINO:
+                case JdbcResource.PRESTO:
                     databaseNames.add(conn.getSchema());
                     break;
                 default:
@@ -277,6 +279,7 @@ public class JdbcClient {
                     rs = databaseMetaData.getTables(null, dbName, null, 
hanaTypes);
                     break;
                 case JdbcResource.TRINO:
+                case JdbcResource.PRESTO:
                     rs = databaseMetaData.getTables(catalogName, dbName, null, 
types);
                     break;
                 default:
@@ -324,6 +327,7 @@ public class JdbcClient {
                     rs = databaseMetaData.getTables(null, dbName, null, 
hanaTypes);
                     break;
                 case JdbcResource.TRINO:
+                case JdbcResource.PRESTO:
                     rs = databaseMetaData.getTables(catalogName, dbName, null, 
types);
                     break;
                 default:
@@ -408,6 +412,7 @@ public class JdbcClient {
                     rs = databaseMetaData.getColumns(null, dbName, 
modifiedTableName, null);
                     break;
                 case JdbcResource.TRINO:
+                case JdbcResource.PRESTO:
                     rs = databaseMetaData.getColumns(catalogName, dbName, 
tableName, null);
                     break;
                 default:
@@ -464,6 +469,7 @@ public class JdbcClient {
             case JdbcResource.SAP_HANA:
                 return saphanaTypeToDoris(fieldSchema);
             case JdbcResource.TRINO:
+            case JdbcResource.PRESTO:
                 return trinoTypeToDoris(fieldSchema);
             default:
                 throw new JdbcClientException("Unknown database type");
diff --git a/gensrc/thrift/Types.thrift b/gensrc/thrift/Types.thrift
index 6794433d7b..1870560e52 100644
--- a/gensrc/thrift/Types.thrift
+++ b/gensrc/thrift/Types.thrift
@@ -373,7 +373,8 @@ enum TOdbcTableType {
     MONGODB,
     CLICKHOUSE,
     SAP_HANA,
-    TRINO
+    TRINO,
+    PRESTO
 }
 
 struct TJdbcExecutorCtorParams {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to