diff --git a/src/main/java/com/alibaba/druid/util/JdbcConstants.java b/src/main/java/com/alibaba/druid/util/JdbcConstants.java index 4e4ced1755..8b7757b334 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcConstants.java +++ b/src/main/java/com/alibaba/druid/util/JdbcConstants.java @@ -109,6 +109,7 @@ public interface JdbcConstants { String ALIYUN_DRDS = "aliyun_drds"; String PRESTO = "presto"; + String PRESTO_DRIVER = "com.facebook.presto.jdbc.PrestoDriver"; String ELASTIC_SEARCH = "elastic_search"; diff --git a/src/main/java/com/alibaba/druid/util/JdbcUtils.java b/src/main/java/com/alibaba/druid/util/JdbcUtils.java index 4b955dd74f..5f49498328 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcUtils.java +++ b/src/main/java/com/alibaba/druid/util/JdbcUtils.java @@ -470,7 +470,9 @@ public final class JdbcUtils implements JdbcConstants { return JdbcConstants.ELASTIC_SEARCH_DRIVER; } else if (rawUrl.startsWith("jdbc:clickhouse:")) { return JdbcConstants.CLICKHOUSE_DRIVER; - } else { + } else if(rawUrl.startsWith("jdbc:presto:")) { + return JdbcConstants.PRESTO_DRIVER; + }else { throw new SQLException("unkow jdbc driver : " + rawUrl); } } @@ -563,6 +565,8 @@ public final class JdbcUtils implements JdbcConstants { return ELASTIC_SEARCH; } else if (rawUrl.startsWith("jdbc:clickhouse:")) { return CLICKHOUSE; + }else if (rawUrl.startsWith("jdbc:presto:")) { + return PRESTO; } else { return null; } diff --git a/src/main/java/com/alibaba/druid/wall/WallFilter.java b/src/main/java/com/alibaba/druid/wall/WallFilter.java index 4b005c7d35..7a3c2f3776 100644 --- a/src/main/java/com/alibaba/druid/wall/WallFilter.java +++ b/src/main/java/com/alibaba/druid/wall/WallFilter.java @@ -124,7 +124,8 @@ public class WallFilter extends FilterAdapter implements WallFilterMBean { if (JdbcUtils.MYSQL.equals(dbType) || // JdbcUtils.MARIADB.equals(dbType) || // - JdbcUtils.H2.equals(dbType)) { + JdbcUtils.H2.equals(dbType)|| + JdbcUtils.PRESTO.equals(dbType)) { if (config == null) { config = new WallConfig(MySqlWallProvider.DEFAULT_CONFIG_DIR); }