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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]