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