From 9faceb0c057b9e83716486141d0814c538e27ecb Mon Sep 17 00:00:00 2001 From: jkee <jkee@yandex-team.ru> Date: Thu, 19 Mar 2015 00:11:38 +0300 Subject: [PATCH] METR-15511: url format match spec --- README.md | 8 ++++++++ .../ru/yandex/metrika/clickhouse/CHConnection.java | 7 +++---- .../java/ru/yandex/metrika/clickhouse/CHDriver.java | 11 ++++++++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 11272404..141c6214 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,14 @@ ClickHouse JDBC driver Пока что в ÑоÑтоÑнии "как-то работает". +### URL + +Пока нет фейловера и лоадбаланÑа, урл проÑтой. + +`jdbc:clickhouse:host:port` + +Ðапример: `jdbc:clickhouse:localhost:8123` + ### Сборка jar можно Ñобрать через diff --git a/src/main/java/ru/yandex/metrika/clickhouse/CHConnection.java b/src/main/java/ru/yandex/metrika/clickhouse/CHConnection.java index f78e89ce..ef738d1a 100644 --- a/src/main/java/ru/yandex/metrika/clickhouse/CHConnection.java +++ b/src/main/java/ru/yandex/metrika/clickhouse/CHConnection.java @@ -4,7 +4,6 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import ru.yandex.metrika.clickhouse.config.ClickHouseSource; -import java.net.URI; import java.sql.*; import java.util.Map; import java.util.Properties; @@ -25,9 +24,9 @@ public class CHConnection implements Connection { @Override public Statement createStatement() throws SQLException { - URI uri = URI.create(url); - String host = uri.getHost(); - int port = uri.getPort(); + String hostPort = url.substring("jdbc:clickhouse:".length()); + String host = hostPort.substring(0, hostPort.indexOf(':')); + String port = hostPort.substring(hostPort.indexOf(':') + 1); ClickHouseSource source = new ClickHouseSource(host, port); diff --git a/src/main/java/ru/yandex/metrika/clickhouse/CHDriver.java b/src/main/java/ru/yandex/metrika/clickhouse/CHDriver.java index af4ec6e7..abc2b374 100644 --- a/src/main/java/ru/yandex/metrika/clickhouse/CHDriver.java +++ b/src/main/java/ru/yandex/metrika/clickhouse/CHDriver.java @@ -6,6 +6,15 @@ import java.sql.*; import java.util.Properties; /** + * + * URL Format + * + * пока что примитивный + * + * jdbc:clickhouse:host:port + * + * например, jdbc:clickhouse:localhost:8123 + * * Created by jkee on 14.03.15. */ public class CHDriver implements Driver { @@ -29,7 +38,7 @@ public class CHDriver implements Driver { @Override public boolean acceptsURL(String url) throws SQLException { - return true; + return url.startsWith("jdbc:clickhouse:"); } @Override -- GitLab