Repository: housepower/ClickHouse-Native-JDBC
Pull request #22 (2018-06-14 08:32:01)

ISSUES-19 rename package name
#19 


Patch:
diff --git a/pom.xml b/pom.xml
index b2d2614..944f5e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>org.houseflys</groupId>
+    <groupId>com.github.housepower</groupId>
     <artifactId>clickhouse-native-jdbc</artifactId>
     <version>1.0-SNAPSHOT</version>
 
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseArray.java b/src/main/java/com/github/housepower/jdbc/ClickHouseArray.java
similarity index 80%
rename from src/main/java/org/houseflys/jdbc/ClickHouseArray.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseArray.java
index 2eb534a..073d70b 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseArray.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseArray.java
@@ -1,6 +1,6 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
-import org.houseflys.jdbc.wrapper.SQLArray;
+import com.github.housepower.jdbc.wrapper.SQLArray;
 
 import java.sql.SQLException;
 
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseConnection.java b/src/main/java/com/github/housepower/jdbc/ClickHouseConnection.java
similarity index 80%
rename from src/main/java/org/houseflys/jdbc/ClickHouseConnection.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseConnection.java
index de49a38..ef6f521 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseConnection.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseConnection.java
@@ -1,22 +1,21 @@
-package org.houseflys.jdbc;
-
-import org.houseflys.jdbc.connect.PhysicalConnection;
-import org.houseflys.jdbc.connect.PhysicalInfo;
-import org.houseflys.jdbc.connect.PhysicalInfo.ServerInfo;
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.protocol.EOFStreamResponse;
-import org.houseflys.jdbc.protocol.HelloResponse;
-import org.houseflys.jdbc.protocol.QueryRequest.ClientInfo;
-import org.houseflys.jdbc.protocol.QueryResponse;
-import org.houseflys.jdbc.protocol.RequestOrResponse;
-import org.houseflys.jdbc.settings.ClickHouseConfig;
-import org.houseflys.jdbc.settings.ClickHouseDefines;
-import org.houseflys.jdbc.statement.ClickHouseStatement;
-import org.houseflys.jdbc.statement.ClickHousePreparedInsertStatement;
-import org.houseflys.jdbc.statement.ClickHousePreparedQueryStatement;
-import org.houseflys.jdbc.stream.InputFormat;
-import org.houseflys.jdbc.wrapper.SQLConnection;
+package com.github.housepower.jdbc;
+
+import com.github.housepower.jdbc.connect.PhysicalConnection;
+import com.github.housepower.jdbc.connect.PhysicalInfo;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.protocol.*;
+import com.github.housepower.jdbc.settings.ClickHouseConfig;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.statement.ClickHousePreparedInsertStatement;
+import com.github.housepower.jdbc.statement.ClickHousePreparedQueryStatement;
+import com.github.housepower.jdbc.statement.ClickHouseStatement;
+import com.github.housepower.jdbc.stream.InputFormat;
+import com.github.housepower.jdbc.wrapper.SQLConnection;
+import com.github.housepower.jdbc.protocol.EOFStreamResponse;
+import com.github.housepower.jdbc.protocol.HelloResponse;
+import com.github.housepower.jdbc.protocol.QueryResponse;
+import com.github.housepower.jdbc.protocol.RequestOrResponse;
 
 import java.net.InetSocketAddress;
 import java.sql.*;
@@ -153,22 +152,22 @@ public class ClickHouseConnection extends SQLConnection {
         return new PhysicalInfo(clientInfo(physical, configure), serverInfo(physical, configure), physical);
     }
 
-    private static ClientInfo clientInfo(PhysicalConnection physical, ClickHouseConfig configure) throws SQLException {
+    private static QueryRequest.ClientInfo clientInfo(PhysicalConnection physical, ClickHouseConfig configure) throws SQLException {
         Validate.isTrue(physical.address() instanceof InetSocketAddress);
         InetSocketAddress address = (InetSocketAddress) physical.address();
         String clientName = String.format("%s %s", ClickHouseDefines.NAME, "client");
         String initialAddress = String.format("%s:%d", address.getHostName(), address.getPort());
-        return new ClientInfo(initialAddress, address.getHostName(), clientName);
+        return new QueryRequest.ClientInfo(initialAddress, address.getHostName(), clientName);
     }
 
-    private static ServerInfo serverInfo(PhysicalConnection physical, ClickHouseConfig configure) throws SQLException {
+    private static PhysicalInfo.ServerInfo serverInfo(PhysicalConnection physical, ClickHouseConfig configure) throws SQLException {
         try {
             long reversion = ClickHouseDefines.CLIENT_REVERSION;
             physical.sendHello("client", reversion, configure.database(), configure.username(), configure.password());
 
             HelloResponse response = physical.receiveHello(configure.queryTimeout());
             TimeZone timeZone = TimeZone.getTimeZone(response.serverTimeZone());
-            return new ServerInfo(response.reversion(), timeZone, response.serverDisplayName());
+            return new PhysicalInfo.ServerInfo(response.reversion(), timeZone, response.serverDisplayName());
         } catch (SQLException rethrows) {
             physical.disPhysicalConnection();
             throw rethrows;
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseDriver.java b/src/main/java/com/github/housepower/jdbc/ClickHouseDriver.java
similarity index 89%
rename from src/main/java/org/houseflys/jdbc/ClickHouseDriver.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseDriver.java
index 8d77831..0b820f7 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseDriver.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseDriver.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.sql.DriverManager;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseResultSet.java b/src/main/java/com/github/housepower/jdbc/ClickHouseResultSet.java
similarity index 95%
rename from src/main/java/org/houseflys/jdbc/ClickHouseResultSet.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseResultSet.java
index 553d022..203c6d4 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseResultSet.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseResultSet.java
@@ -1,20 +1,18 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.math.BigDecimal;
-import java.math.BigInteger;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.sql.*;
 import java.util.Calendar;
 import java.util.Iterator;
-import java.util.List;
-
-import org.houseflys.jdbc.data.Column;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.protocol.DataResponse;
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.statement.ClickHouseStatement;
-import org.houseflys.jdbc.wrapper.SQLResultSet;
+
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.Column;
+import com.github.housepower.jdbc.protocol.DataResponse;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.statement.ClickHouseStatement;
+import com.github.housepower.jdbc.wrapper.SQLResultSet;
 
 public class ClickHouseResultSet extends SQLResultSet {
     private int row = -1;
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseResultSetMetaData.java b/src/main/java/com/github/housepower/jdbc/ClickHouseResultSetMetaData.java
similarity index 76%
rename from src/main/java/org/houseflys/jdbc/ClickHouseResultSetMetaData.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseResultSetMetaData.java
index ef650af..06d0304 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseResultSetMetaData.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseResultSetMetaData.java
@@ -1,18 +1,12 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
-import java.sql.Types;
-
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.data.Column;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.data.type.*;
-import org.houseflys.jdbc.data.type.complex.DataTypeArray;
-import org.houseflys.jdbc.data.type.complex.DataTypeDateTime;
-import org.houseflys.jdbc.data.type.complex.DataTypeNullable;
-import org.houseflys.jdbc.data.type.complex.DataTypeTuple;
-import org.houseflys.jdbc.wrapper.SQLResultSetMetaData;
+
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.data.type.complex.DataTypeNullable;
+import com.github.housepower.jdbc.wrapper.SQLResultSetMetaData;
+import com.github.housepower.jdbc.data.IDataType;
 
 public class ClickHouseResultSetMetaData extends SQLResultSetMetaData {
 
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseSQLException.java b/src/main/java/com/github/housepower/jdbc/ClickHouseSQLException.java
similarity index 92%
rename from src/main/java/org/houseflys/jdbc/ClickHouseSQLException.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseSQLException.java
index 32b4bf2..943ef12 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseSQLException.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseSQLException.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.sql.SQLException;
 
diff --git a/src/main/java/org/houseflys/jdbc/ClickHouseStruct.java b/src/main/java/com/github/housepower/jdbc/ClickHouseStruct.java
similarity index 91%
rename from src/main/java/org/houseflys/jdbc/ClickHouseStruct.java
rename to src/main/java/com/github/housepower/jdbc/ClickHouseStruct.java
index 8a96295..f973dff 100644
--- a/src/main/java/org/houseflys/jdbc/ClickHouseStruct.java
+++ b/src/main/java/com/github/housepower/jdbc/ClickHouseStruct.java
@@ -1,7 +1,7 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.wrapper.SQLStruct;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.wrapper.SQLStruct;
 
 import java.sql.SQLException;
 import java.util.Map;
diff --git a/src/main/java/org/houseflys/jdbc/NonRegisterDriver.java b/src/main/java/com/github/housepower/jdbc/NonRegisterDriver.java
similarity index 89%
rename from src/main/java/org/houseflys/jdbc/NonRegisterDriver.java
rename to src/main/java/com/github/housepower/jdbc/NonRegisterDriver.java
index 6daa426..088e36b 100644
--- a/src/main/java/org/houseflys/jdbc/NonRegisterDriver.java
+++ b/src/main/java/com/github/housepower/jdbc/NonRegisterDriver.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
-import org.houseflys.jdbc.settings.ClickHouseConfig;
-import org.houseflys.jdbc.settings.ClickHouseDefines;
-import org.houseflys.jdbc.settings.SettingKey;
+import com.github.housepower.jdbc.settings.ClickHouseConfig;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.settings.SettingKey;
 
 import java.sql.*;
 import java.util.Map;
diff --git a/src/main/java/org/houseflys/jdbc/buffer/BuffedReader.java b/src/main/java/com/github/housepower/jdbc/buffer/BuffedReader.java
similarity index 78%
rename from src/main/java/org/houseflys/jdbc/buffer/BuffedReader.java
rename to src/main/java/com/github/housepower/jdbc/buffer/BuffedReader.java
index 27e0001..f82e3bd 100644
--- a/src/main/java/org/houseflys/jdbc/buffer/BuffedReader.java
+++ b/src/main/java/com/github/housepower/jdbc/buffer/BuffedReader.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/houseflys/jdbc/buffer/BuffedWriter.java b/src/main/java/com/github/housepower/jdbc/buffer/BuffedWriter.java
similarity index 87%
rename from src/main/java/org/houseflys/jdbc/buffer/BuffedWriter.java
rename to src/main/java/com/github/housepower/jdbc/buffer/BuffedWriter.java
index c538233..850bfd2 100644
--- a/src/main/java/org/houseflys/jdbc/buffer/BuffedWriter.java
+++ b/src/main/java/com/github/housepower/jdbc/buffer/BuffedWriter.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/houseflys/jdbc/buffer/CompressedBuffedReader.java b/src/main/java/com/github/housepower/jdbc/buffer/CompressedBuffedReader.java
similarity index 98%
rename from src/main/java/org/houseflys/jdbc/buffer/CompressedBuffedReader.java
rename to src/main/java/com/github/housepower/jdbc/buffer/CompressedBuffedReader.java
index 0b6b570..9cecc3f 100644
--- a/src/main/java/org/houseflys/jdbc/buffer/CompressedBuffedReader.java
+++ b/src/main/java/com/github/housepower/jdbc/buffer/CompressedBuffedReader.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/houseflys/jdbc/buffer/CompressedBuffedWriter.java b/src/main/java/com/github/housepower/jdbc/buffer/CompressedBuffedWriter.java
similarity index 97%
rename from src/main/java/org/houseflys/jdbc/buffer/CompressedBuffedWriter.java
rename to src/main/java/com/github/housepower/jdbc/buffer/CompressedBuffedWriter.java
index d55cfc2..753661d 100644
--- a/src/main/java/org/houseflys/jdbc/buffer/CompressedBuffedWriter.java
+++ b/src/main/java/com/github/housepower/jdbc/buffer/CompressedBuffedWriter.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
+import com.github.housepower.jdbc.misc.CityHash;
 import net.jpountz.lz4.LZ4Compressor;
 import net.jpountz.lz4.LZ4Factory;
-import org.houseflys.jdbc.misc.CityHash;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/houseflys/jdbc/buffer/SocketBuffedReader.java b/src/main/java/com/github/housepower/jdbc/buffer/SocketBuffedReader.java
similarity index 94%
rename from src/main/java/org/houseflys/jdbc/buffer/SocketBuffedReader.java
rename to src/main/java/com/github/housepower/jdbc/buffer/SocketBuffedReader.java
index d94fe33..159ff74 100644
--- a/src/main/java/org/houseflys/jdbc/buffer/SocketBuffedReader.java
+++ b/src/main/java/com/github/housepower/jdbc/buffer/SocketBuffedReader.java
@@ -1,11 +1,11 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
 import java.io.EOFException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.Socket;
 
-import org.houseflys.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
 
 public class SocketBuffedReader implements BuffedReader {
 
diff --git a/src/main/java/org/houseflys/jdbc/buffer/SocketBuffedWriter.java b/src/main/java/com/github/housepower/jdbc/buffer/SocketBuffedWriter.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/buffer/SocketBuffedWriter.java
rename to src/main/java/com/github/housepower/jdbc/buffer/SocketBuffedWriter.java
index 64d513a..3add63a 100644
--- a/src/main/java/org/houseflys/jdbc/buffer/SocketBuffedWriter.java
+++ b/src/main/java/com/github/housepower/jdbc/buffer/SocketBuffedWriter.java
@@ -1,10 +1,10 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.Socket;
 
-import org.houseflys.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
 
 public class SocketBuffedWriter implements BuffedWriter {
 
diff --git a/src/main/java/org/houseflys/jdbc/connect/PhysicalConnection.java b/src/main/java/com/github/housepower/jdbc/connect/PhysicalConnection.java
similarity index 79%
rename from src/main/java/org/houseflys/jdbc/connect/PhysicalConnection.java
rename to src/main/java/com/github/housepower/jdbc/connect/PhysicalConnection.java
index 93e50fb..f31908a 100644
--- a/src/main/java/org/houseflys/jdbc/connect/PhysicalConnection.java
+++ b/src/main/java/com/github/housepower/jdbc/connect/PhysicalConnection.java
@@ -1,14 +1,13 @@
-package org.houseflys.jdbc.connect;
-
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.protocol.*;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.settings.ClickHouseConfig;
-import org.houseflys.jdbc.settings.ClickHouseDefines;
-import org.houseflys.jdbc.protocol.QueryRequest.ClientInfo;
-import org.houseflys.jdbc.settings.SettingKey;
+package com.github.housepower.jdbc.connect;
+
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.protocol.*;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.settings.ClickHouseConfig;
+import com.github.housepower.jdbc.settings.SettingKey;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -19,8 +18,6 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
 
-import static org.houseflys.jdbc.protocol.QueryRequest.COMPLETE_STAGE;
-
 public class PhysicalConnection {
     private final Socket socket;
     private final SocketAddress address;
@@ -54,12 +51,12 @@ public class PhysicalConnection {
         sendRequest(new DataRequest("", data));
     }
 
-    public void sendQuery(String query, ClientInfo info) throws SQLException {
-        sendQuery(UUID.randomUUID().toString(), COMPLETE_STAGE, info, query, new HashMap<SettingKey, Object>());
+    public void sendQuery(String query, QueryRequest.ClientInfo info) throws SQLException {
+        sendQuery(UUID.randomUUID().toString(), QueryRequest.COMPLETE_STAGE, info, query, new HashMap<SettingKey, Object>());
     }
 
-    public void sendQuery(String query, ClientInfo info, Map<SettingKey, Object> settings) throws SQLException {
-        sendQuery(UUID.randomUUID().toString(), COMPLETE_STAGE, info, query, settings);
+    public void sendQuery(String query, QueryRequest.ClientInfo info, Map<SettingKey, Object> settings) throws SQLException {
+        sendQuery(UUID.randomUUID().toString(), QueryRequest.COMPLETE_STAGE, info, query, settings);
     }
 
     public void sendHello(String client, long reversion, String db, String user, String password) throws SQLException {
@@ -111,7 +108,7 @@ public class PhysicalConnection {
         }
     }
 
-    private void sendQuery(String id, int stage, ClientInfo info, String query, Map<SettingKey, Object> settings) throws SQLException {
+    private void sendQuery(String id, int stage, QueryRequest.ClientInfo info, String query, Map<SettingKey, Object> settings) throws SQLException {
         sendRequest(new QueryRequest(id, info, stage, true, query, settings));
     }
 
diff --git a/src/main/java/org/houseflys/jdbc/connect/PhysicalInfo.java b/src/main/java/com/github/housepower/jdbc/connect/PhysicalInfo.java
similarity index 91%
rename from src/main/java/org/houseflys/jdbc/connect/PhysicalInfo.java
rename to src/main/java/com/github/housepower/jdbc/connect/PhysicalInfo.java
index 164ab51..e7fe5c5 100644
--- a/src/main/java/org/houseflys/jdbc/connect/PhysicalInfo.java
+++ b/src/main/java/com/github/housepower/jdbc/connect/PhysicalInfo.java
@@ -1,6 +1,6 @@
-package org.houseflys.jdbc.connect;
+package com.github.housepower.jdbc.connect;
 
-import org.houseflys.jdbc.protocol.QueryRequest.ClientInfo;
+import com.github.housepower.jdbc.protocol.QueryRequest.ClientInfo;
 
 import java.util.TimeZone;
 
diff --git a/src/main/java/org/houseflys/jdbc/data/Block.java b/src/main/java/com/github/housepower/jdbc/data/Block.java
similarity index 90%
rename from src/main/java/org/houseflys/jdbc/data/Block.java
rename to src/main/java/com/github/housepower/jdbc/data/Block.java
index dbaf606..a26834f 100644
--- a/src/main/java/org/houseflys/jdbc/data/Block.java
+++ b/src/main/java/com/github/housepower/jdbc/data/Block.java
@@ -1,9 +1,9 @@
-package org.houseflys.jdbc.data;
+package com.github.housepower.jdbc.data;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.BlockSettings.Setting;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.BlockSettings.Setting;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/data/BlockSettings.java b/src/main/java/com/github/housepower/jdbc/data/BlockSettings.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/data/BlockSettings.java
rename to src/main/java/com/github/housepower/jdbc/data/BlockSettings.java
index b02c317..0ef6e7f 100644
--- a/src/main/java/org/houseflys/jdbc/data/BlockSettings.java
+++ b/src/main/java/com/github/housepower/jdbc/data/BlockSettings.java
@@ -1,7 +1,7 @@
-package org.houseflys.jdbc.data;
+package com.github.housepower.jdbc.data;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/houseflys/jdbc/data/Column.java b/src/main/java/com/github/housepower/jdbc/data/Column.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/data/Column.java
rename to src/main/java/com/github/housepower/jdbc/data/Column.java
index efedaeb..9f6c088 100644
--- a/src/main/java/org/houseflys/jdbc/data/Column.java
+++ b/src/main/java/com/github/housepower/jdbc/data/Column.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.data;
+package com.github.housepower.jdbc.data;
 
 public class Column {
 
diff --git a/src/main/java/org/houseflys/jdbc/data/DataTypeFactory.java b/src/main/java/com/github/housepower/jdbc/data/DataTypeFactory.java
similarity index 76%
rename from src/main/java/org/houseflys/jdbc/data/DataTypeFactory.java
rename to src/main/java/com/github/housepower/jdbc/data/DataTypeFactory.java
index a0c48c5..b78160d 100644
--- a/src/main/java/org/houseflys/jdbc/data/DataTypeFactory.java
+++ b/src/main/java/com/github/housepower/jdbc/data/DataTypeFactory.java
@@ -1,19 +1,19 @@
-package org.houseflys.jdbc.data;
+package com.github.housepower.jdbc.data;
 
-import org.houseflys.jdbc.data.type.complex.*;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.data.type.DataTypeDate;
-import org.houseflys.jdbc.data.type.DataTypeFloat32;
-import org.houseflys.jdbc.data.type.DataTypeFloat64;
-import org.houseflys.jdbc.data.type.DataTypeInt16;
-import org.houseflys.jdbc.data.type.DataTypeInt32;
-import org.houseflys.jdbc.data.type.DataTypeInt64;
-import org.houseflys.jdbc.data.type.DataTypeInt8;
-import org.houseflys.jdbc.data.type.DataTypeString;
-import org.houseflys.jdbc.data.type.DataTypeUUID;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.data.type.DataTypeDate;
+import com.github.housepower.jdbc.data.type.DataTypeFloat64;
+import com.github.housepower.jdbc.data.type.DataTypeInt16;
+import com.github.housepower.jdbc.data.type.DataTypeInt32;
+import com.github.housepower.jdbc.data.type.complex.*;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.type.DataTypeFloat32;
+import com.github.housepower.jdbc.data.type.DataTypeInt64;
+import com.github.housepower.jdbc.data.type.DataTypeInt8;
+import com.github.housepower.jdbc.data.type.DataTypeString;
+import com.github.housepower.jdbc.data.type.DataTypeUUID;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.sql.SQLException;
 import java.util.HashMap;
diff --git a/src/main/java/org/houseflys/jdbc/data/IDataType.java b/src/main/java/com/github/housepower/jdbc/data/IDataType.java
similarity index 74%
rename from src/main/java/org/houseflys/jdbc/data/IDataType.java
rename to src/main/java/com/github/housepower/jdbc/data/IDataType.java
index 251002c..8dbfc37 100644
--- a/src/main/java/org/houseflys/jdbc/data/IDataType.java
+++ b/src/main/java/com/github/housepower/jdbc/data/IDataType.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.data;
+package com.github.housepower.jdbc.data;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeDate.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeDate.java
similarity index 82%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeDate.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeDate.java
index f04cbf7..8a7e1ab 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeDate.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeDate.java
@@ -1,19 +1,18 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.Date;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.concurrent.TimeUnit;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 public class DataTypeDate implements IDataType {
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeFloat32.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeFloat32.java
similarity index 79%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeFloat32.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeFloat32.java
index 8e65ce3..0060968 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeFloat32.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeFloat32.java
@@ -1,17 +1,16 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Types;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedToken;
 
 public class DataTypeFloat32 implements IDataType {
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeFloat64.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeFloat64.java
similarity index 80%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeFloat64.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeFloat64.java
index 19d1fc8..119fe3a 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeFloat64.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeFloat64.java
@@ -1,17 +1,16 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Types;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 public class DataTypeFloat64 implements IDataType {
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt16.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt16.java
similarity index 80%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeInt16.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt16.java
index a371024..0964f37 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt16.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt16.java
@@ -1,15 +1,14 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Types;
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt32.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt32.java
similarity index 81%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeInt32.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt32.java
index e0e53f2..786cb9c 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt32.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt32.java
@@ -1,12 +1,12 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt64.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt64.java
similarity index 81%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeInt64.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt64.java
index 78fd348..64c6d50 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt64.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt64.java
@@ -1,16 +1,16 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
 import java.io.IOException;
 import java.sql.SQLException;
 import java.sql.Types;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedToken;
 
 public class DataTypeInt64 implements IDataType {
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt8.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt8.java
similarity index 80%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeInt8.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt8.java
index 7bdcea3..6b955b4 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeInt8.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeInt8.java
@@ -1,12 +1,12 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeString.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeString.java
similarity index 79%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeString.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeString.java
index fb51579..1ccd272 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeString.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeString.java
@@ -1,12 +1,12 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedToken;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/DataTypeUUID.java b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeUUID.java
similarity index 80%
rename from src/main/java/org/houseflys/jdbc/data/type/DataTypeUUID.java
rename to src/main/java/com/github/housepower/jdbc/data/type/DataTypeUUID.java
index 5884e42..a9b7898 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/DataTypeUUID.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/DataTypeUUID.java
@@ -1,12 +1,12 @@
-package org.houseflys.jdbc.data.type;
+package com.github.housepower.jdbc.data.type;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedToken;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeArray.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeArray.java
similarity index 88%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeArray.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeArray.java
index e8a9bcb..f813647 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeArray.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeArray.java
@@ -1,14 +1,14 @@
-package org.houseflys.jdbc.data.type.complex;
-
-import org.houseflys.jdbc.ClickHouseArray;
-import org.houseflys.jdbc.data.DataTypeFactory;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+package com.github.housepower.jdbc.data.type.complex;
+
+import com.github.housepower.jdbc.ClickHouseArray;
+import com.github.housepower.jdbc.data.DataTypeFactory;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
 import java.sql.Array;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeDateTime.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeDateTime.java
similarity index 87%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeDateTime.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeDateTime.java
index 8770229..9693641 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeDateTime.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeDateTime.java
@@ -1,15 +1,14 @@
-package org.houseflys.jdbc.data.type.complex;
+package com.github.housepower.jdbc.data.type.complex;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Timestamp;
 import java.sql.Types;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeEnum16.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeEnum16.java
similarity index 89%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeEnum16.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeEnum16.java
index f6818e0..85d383d 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeEnum16.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeEnum16.java
@@ -1,21 +1,18 @@
-package org.houseflys.jdbc.data.type.complex;
+package com.github.housepower.jdbc.data.type.complex;
 
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 public class DataTypeEnum16 implements IDataType {
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeEnum8.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeEnum8.java
similarity index 89%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeEnum8.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeEnum8.java
index 2859628..982f3a8 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeEnum8.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeEnum8.java
@@ -1,15 +1,14 @@
-package org.houseflys.jdbc.data.type.complex;
+package com.github.housepower.jdbc.data.type.complex;
 
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.ArrayList;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeFixedString.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeFixedString.java
similarity index 85%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeFixedString.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeFixedString.java
index c9c05e9..391681c 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeFixedString.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeFixedString.java
@@ -1,15 +1,14 @@
-package org.houseflys.jdbc.data.type.complex;
+package com.github.housepower.jdbc.data.type.complex;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.io.IOException;
-import java.sql.Array;
 import java.sql.SQLException;
 import java.sql.Types;
 
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeNullable.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeNullable.java
similarity index 86%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeNullable.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeNullable.java
index 307f5fc..693eb78 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeNullable.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeNullable.java
@@ -1,16 +1,16 @@
-package org.houseflys.jdbc.data.type.complex;
+package com.github.housepower.jdbc.data.type.complex;
 
 import java.io.IOException;
 import java.sql.SQLException;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.data.DataTypeFactory;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.data.DataTypeFactory;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 public class DataTypeNullable implements IDataType {
     private static final Byte IS_NULL = 1;
diff --git a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeTuple.java b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeTuple.java
similarity index 90%
rename from src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeTuple.java
rename to src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeTuple.java
index d0d231a..8e9867f 100644
--- a/src/main/java/org/houseflys/jdbc/data/type/complex/DataTypeTuple.java
+++ b/src/main/java/com/github/housepower/jdbc/data/type/complex/DataTypeTuple.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.data.type.complex;
+package com.github.housepower.jdbc.data.type.complex;
 
 import java.io.IOException;
 import java.sql.SQLException;
@@ -7,15 +7,15 @@ import java.sql.Types;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.IDataType;
-import org.houseflys.jdbc.data.DataTypeFactory;
-import org.houseflys.jdbc.ClickHouseStruct;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.ClickHouseStruct;
+import com.github.housepower.jdbc.data.DataTypeFactory;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.IDataType;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 public class DataTypeTuple implements IDataType {
 
diff --git a/src/main/java/org/houseflys/jdbc/misc/CityHash.java b/src/main/java/com/github/housepower/jdbc/misc/CityHash.java
similarity index 99%
rename from src/main/java/org/houseflys/jdbc/misc/CityHash.java
rename to src/main/java/com/github/housepower/jdbc/misc/CityHash.java
index 1093851..2397ef0 100644
--- a/src/main/java/org/houseflys/jdbc/misc/CityHash.java
+++ b/src/main/java/com/github/housepower/jdbc/misc/CityHash.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.misc;
+package com.github.housepower.jdbc.misc;
 
 //copy https://gist.github.com/tamtam180/2316537
 public class CityHash {
diff --git a/src/main/java/org/houseflys/jdbc/misc/Container.java b/src/main/java/com/github/housepower/jdbc/misc/Container.java
similarity index 90%
rename from src/main/java/org/houseflys/jdbc/misc/Container.java
rename to src/main/java/com/github/housepower/jdbc/misc/Container.java
index d703a4d..694f081 100644
--- a/src/main/java/org/houseflys/jdbc/misc/Container.java
+++ b/src/main/java/com/github/housepower/jdbc/misc/Container.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.misc;
+package com.github.housepower.jdbc.misc;
 
 public class Container<T> {
     private final T left;
diff --git a/src/main/java/org/houseflys/jdbc/misc/Validate.java b/src/main/java/com/github/housepower/jdbc/misc/Validate.java
similarity index 89%
rename from src/main/java/org/houseflys/jdbc/misc/Validate.java
rename to src/main/java/com/github/housepower/jdbc/misc/Validate.java
index b96ccb1..6e4b4ff 100644
--- a/src/main/java/org/houseflys/jdbc/misc/Validate.java
+++ b/src/main/java/com/github/housepower/jdbc/misc/Validate.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.misc;
+package com.github.housepower.jdbc.misc;
 
 import java.sql.SQLException;
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/DataRequest.java b/src/main/java/com/github/housepower/jdbc/protocol/DataRequest.java
similarity index 83%
rename from src/main/java/org/houseflys/jdbc/protocol/DataRequest.java
rename to src/main/java/com/github/housepower/jdbc/protocol/DataRequest.java
index 088fd7c..cea2f66 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/DataRequest.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/DataRequest.java
@@ -1,7 +1,7 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/protocol/DataResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/DataResponse.java
similarity index 81%
rename from src/main/java/org/houseflys/jdbc/protocol/DataResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/DataResponse.java
index 2c9f424..a305f9d 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/DataResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/DataResponse.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/protocol/EOFStreamResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/EOFStreamResponse.java
similarity index 74%
rename from src/main/java/org/houseflys/jdbc/protocol/EOFStreamResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/EOFStreamResponse.java
index 5b5ac82..41f31b9 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/EOFStreamResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/EOFStreamResponse.java
@@ -1,9 +1,9 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 public class EOFStreamResponse extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/ExceptionResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/ExceptionResponse.java
similarity index 81%
rename from src/main/java/org/houseflys/jdbc/protocol/ExceptionResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/ExceptionResponse.java
index d0e00bc..edb6e96 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/ExceptionResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/ExceptionResponse.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.ClickHouseSQLException;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.ClickHouseSQLException;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/protocol/ExtremesResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/ExtremesResponse.java
similarity index 77%
rename from src/main/java/org/houseflys/jdbc/protocol/ExtremesResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/ExtremesResponse.java
index a2068af..4e2fa91 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/ExtremesResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/ExtremesResponse.java
@@ -1,11 +1,11 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 import java.sql.SQLException;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 public class ExtremesResponse extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/HelloRequest.java b/src/main/java/com/github/housepower/jdbc/protocol/HelloRequest.java
similarity index 87%
rename from src/main/java/org/houseflys/jdbc/protocol/HelloRequest.java
rename to src/main/java/com/github/housepower/jdbc/protocol/HelloRequest.java
index 8d25005..38d1b0e 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/HelloRequest.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/HelloRequest.java
@@ -1,9 +1,9 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 
-import org.houseflys.jdbc.settings.ClickHouseDefines;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 public class HelloRequest extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/HelloResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/HelloResponse.java
similarity index 91%
rename from src/main/java/org/houseflys/jdbc/protocol/HelloResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/HelloResponse.java
index f221f40..269df90 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/HelloResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/HelloResponse.java
@@ -1,11 +1,11 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 import java.util.TimeZone;
 
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.settings.ClickHouseDefines;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
 
 public class HelloResponse extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/PingRequest.java b/src/main/java/com/github/housepower/jdbc/protocol/PingRequest.java
similarity index 71%
rename from src/main/java/org/houseflys/jdbc/protocol/PingRequest.java
rename to src/main/java/com/github/housepower/jdbc/protocol/PingRequest.java
index a8e0723..7c0f7bb 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/PingRequest.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/PingRequest.java
@@ -1,6 +1,6 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/PongResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/PongResponse.java
similarity index 73%
rename from src/main/java/org/houseflys/jdbc/protocol/PongResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/PongResponse.java
index 56095b0..fd53e32 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/PongResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/PongResponse.java
@@ -1,8 +1,7 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.misc.Validate;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/protocol/ProfileInfoResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/ProfileInfoResponse.java
similarity index 83%
rename from src/main/java/org/houseflys/jdbc/protocol/ProfileInfoResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/ProfileInfoResponse.java
index 2c65d0f..4744796 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/ProfileInfoResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/ProfileInfoResponse.java
@@ -1,10 +1,10 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 import java.sql.SQLException;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 public class ProfileInfoResponse extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/ProgressResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/ProgressResponse.java
similarity index 85%
rename from src/main/java/org/houseflys/jdbc/protocol/ProgressResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/ProgressResponse.java
index b421c45..1786d8b 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/ProgressResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/ProgressResponse.java
@@ -1,9 +1,9 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 public class ProgressResponse extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/ProtocolType.java b/src/main/java/com/github/housepower/jdbc/protocol/ProtocolType.java
similarity index 91%
rename from src/main/java/org/houseflys/jdbc/protocol/ProtocolType.java
rename to src/main/java/com/github/housepower/jdbc/protocol/ProtocolType.java
index 7c82063..5324755 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/ProtocolType.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/ProtocolType.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 public enum ProtocolType {
     REQUEST_HELLO(0),
diff --git a/src/main/java/org/houseflys/jdbc/protocol/QueryRequest.java b/src/main/java/com/github/housepower/jdbc/protocol/QueryRequest.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/protocol/QueryRequest.java
rename to src/main/java/com/github/housepower/jdbc/protocol/QueryRequest.java
index 88b221e..e45dae0 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/QueryRequest.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/QueryRequest.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.settings.ClickHouseDefines;
-import org.houseflys.jdbc.settings.SettingKey;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.settings.SettingKey;
 
 import java.io.IOException;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/protocol/QueryResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/QueryResponse.java
similarity index 91%
rename from src/main/java/org/houseflys/jdbc/protocol/QueryResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/QueryResponse.java
index f6728bc..47aaa2e 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/QueryResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/QueryResponse.java
@@ -1,9 +1,7 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.data.Block;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/src/main/java/org/houseflys/jdbc/protocol/RequestOrResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/RequestOrResponse.java
similarity index 87%
rename from src/main/java/org/houseflys/jdbc/protocol/RequestOrResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/RequestOrResponse.java
index db71d77..daf2ded 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/RequestOrResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/RequestOrResponse.java
@@ -1,10 +1,10 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 import java.sql.SQLException;
 
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
 
 public abstract class RequestOrResponse {
 
@@ -37,13 +37,13 @@ public abstract class RequestOrResponse {
             case 3:
                 return ProgressResponse.readFrom(deserializer);
             case 4:
-                return PongResponse.readFrom(deserializer);
+                return readFrom(deserializer);
             case 5:
                 return EOFStreamResponse.readFrom(deserializer);
             case 6:
                 return ProfileInfoResponse.readFrom(deserializer);
             case 7:
-                return TotalsResponse.readFrom(deserializer);
+                return readFrom(deserializer);
             case 8:
                 return ExtremesResponse.readFrom(deserializer);
             default:
diff --git a/src/main/java/org/houseflys/jdbc/protocol/TotalsResponse.java b/src/main/java/com/github/housepower/jdbc/protocol/TotalsResponse.java
similarity index 77%
rename from src/main/java/org/houseflys/jdbc/protocol/TotalsResponse.java
rename to src/main/java/com/github/housepower/jdbc/protocol/TotalsResponse.java
index 25adc96..192a8d0 100644
--- a/src/main/java/org/houseflys/jdbc/protocol/TotalsResponse.java
+++ b/src/main/java/com/github/housepower/jdbc/protocol/TotalsResponse.java
@@ -1,11 +1,11 @@
-package org.houseflys.jdbc.protocol;
+package com.github.housepower.jdbc.protocol;
 
 import java.io.IOException;
 import java.sql.SQLException;
 
-import org.houseflys.jdbc.serializer.BinaryDeserializer;
-import org.houseflys.jdbc.serializer.BinarySerializer;
-import org.houseflys.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.serializer.BinaryDeserializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 public class TotalsResponse extends RequestOrResponse {
 
diff --git a/src/main/java/org/houseflys/jdbc/serializer/BinaryDeserializer.java b/src/main/java/com/github/housepower/jdbc/serializer/BinaryDeserializer.java
similarity index 92%
rename from src/main/java/org/houseflys/jdbc/serializer/BinaryDeserializer.java
rename to src/main/java/com/github/housepower/jdbc/serializer/BinaryDeserializer.java
index aeb62f1..70f57e8 100644
--- a/src/main/java/org/houseflys/jdbc/serializer/BinaryDeserializer.java
+++ b/src/main/java/com/github/housepower/jdbc/serializer/BinaryDeserializer.java
@@ -1,12 +1,12 @@
-package org.houseflys.jdbc.serializer;
+package com.github.housepower.jdbc.serializer;
 
 import java.io.IOException;
 import java.net.Socket;
 
-import org.houseflys.jdbc.buffer.BuffedReader;
-import org.houseflys.jdbc.buffer.CompressedBuffedReader;
-import org.houseflys.jdbc.buffer.SocketBuffedReader;
-import org.houseflys.jdbc.misc.Container;
+import com.github.housepower.jdbc.buffer.BuffedReader;
+import com.github.housepower.jdbc.misc.Container;
+import com.github.housepower.jdbc.buffer.CompressedBuffedReader;
+import com.github.housepower.jdbc.buffer.SocketBuffedReader;
 
 public class BinaryDeserializer {
 
diff --git a/src/main/java/org/houseflys/jdbc/serializer/BinarySerializer.java b/src/main/java/com/github/housepower/jdbc/serializer/BinarySerializer.java
similarity index 91%
rename from src/main/java/org/houseflys/jdbc/serializer/BinarySerializer.java
rename to src/main/java/com/github/housepower/jdbc/serializer/BinarySerializer.java
index 83cb81c..8d15e45 100644
--- a/src/main/java/org/houseflys/jdbc/serializer/BinarySerializer.java
+++ b/src/main/java/com/github/housepower/jdbc/serializer/BinarySerializer.java
@@ -1,13 +1,13 @@
-package org.houseflys.jdbc.serializer;
+package com.github.housepower.jdbc.serializer;
 
 import java.io.IOException;
 import java.net.Socket;
 
-import org.houseflys.jdbc.buffer.BuffedWriter;
-import org.houseflys.jdbc.buffer.CompressedBuffedWriter;
-import org.houseflys.jdbc.buffer.SocketBuffedWriter;
-import org.houseflys.jdbc.misc.Container;
-import org.houseflys.jdbc.settings.ClickHouseDefines;
+import com.github.housepower.jdbc.buffer.BuffedWriter;
+import com.github.housepower.jdbc.buffer.CompressedBuffedWriter;
+import com.github.housepower.jdbc.buffer.SocketBuffedWriter;
+import com.github.housepower.jdbc.misc.Container;
+import com.github.housepower.jdbc.settings.ClickHouseDefines;
 
 public class BinarySerializer {
     private final Container<BuffedWriter> container;
diff --git a/src/main/java/org/houseflys/jdbc/settings/ClickHouseConfig.java b/src/main/java/com/github/housepower/jdbc/settings/ClickHouseConfig.java
similarity index 97%
rename from src/main/java/org/houseflys/jdbc/settings/ClickHouseConfig.java
rename to src/main/java/com/github/housepower/jdbc/settings/ClickHouseConfig.java
index 4cc3ceb..f7fcd6b 100644
--- a/src/main/java/org/houseflys/jdbc/settings/ClickHouseConfig.java
+++ b/src/main/java/com/github/housepower/jdbc/settings/ClickHouseConfig.java
@@ -1,6 +1,6 @@
-package org.houseflys.jdbc.settings;
+package com.github.housepower.jdbc.settings;
 
-import org.houseflys.jdbc.misc.Validate;
+import com.github.housepower.jdbc.misc.Validate;
 
 import java.net.URI;
 import java.net.URISyntaxException;
diff --git a/src/main/java/org/houseflys/jdbc/settings/ClickHouseDefines.java b/src/main/java/com/github/housepower/jdbc/settings/ClickHouseDefines.java
similarity index 92%
rename from src/main/java/org/houseflys/jdbc/settings/ClickHouseDefines.java
rename to src/main/java/com/github/housepower/jdbc/settings/ClickHouseDefines.java
index 2c47392..5ddded4 100644
--- a/src/main/java/org/houseflys/jdbc/settings/ClickHouseDefines.java
+++ b/src/main/java/com/github/housepower/jdbc/settings/ClickHouseDefines.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.settings;
+package com.github.housepower.jdbc.settings;
 
 public class ClickHouseDefines {
     public static final String NAME = "ClickHouse";
diff --git a/src/main/java/org/houseflys/jdbc/settings/ISettingType.java b/src/main/java/com/github/housepower/jdbc/settings/ISettingType.java
similarity index 96%
rename from src/main/java/org/houseflys/jdbc/settings/ISettingType.java
rename to src/main/java/com/github/housepower/jdbc/settings/ISettingType.java
index 17d7eed..4b22d48 100644
--- a/src/main/java/org/houseflys/jdbc/settings/ISettingType.java
+++ b/src/main/java/com/github/housepower/jdbc/settings/ISettingType.java
@@ -1,6 +1,6 @@
-package org.houseflys.jdbc.settings;
+package com.github.housepower.jdbc.settings;
 
-import org.houseflys.jdbc.serializer.BinarySerializer;
+import com.github.housepower.jdbc.serializer.BinarySerializer;
 
 import java.io.IOException;
 
diff --git a/src/main/java/com/github/housepower/jdbc/settings/SettingKey.java b/src/main/java/com/github/housepower/jdbc/settings/SettingKey.java
new file mode 100644
index 0000000..a58da98
--- /dev/null
+++ b/src/main/java/com/github/housepower/jdbc/settings/SettingKey.java
@@ -0,0 +1,152 @@
+package com.github.housepower.jdbc.settings;
+
+public enum SettingKey {
+    min_compress_block_size(ISettingType.UInt64, "The actual size of the block to compress, if the uncompressed data less than max_compress_block_size is no less than this value and no less than the volume of data for one mark."),
+    max_compress_block_size(ISettingType.UInt64, "The maximum size of blocks of uncompressed data before compressing for writing to a table."),
+    max_block_size(ISettingType.UInt64, "Maximum block size for reading"),
+    max_insert_block_size(ISettingType.UInt64, "The maximum block size for insertion, if we control the creation of blocks for insertion."),
+    min_insert_block_size_rows(ISettingType.UInt64, "Squash blocks passed to INSERT query to specified size in rows, if blocks are not big enough."),
+    min_insert_block_size_bytes(ISettingType.UInt64, "Squash blocks passed to INSERT query to specified size in bytes, if blocks are not big enough."),
+    max_read_buffer_size(ISettingType.UInt64, "The maximum size of the buffer to read from the filesystem."),
+    max_distributed_connections(ISettingType.UInt64, "The maximum number of connections for distributed processing of one query (should be greater than max_threads)."),
+    max_query_size(ISettingType.UInt64, "Which part of the query can be read into RAM for parsing (the remaining data for INSERT, if any, is read later)"),
+    interactive_delay(ISettingType.UInt64, "The interval in microseconds to check if the request is cancelled, and to send progress info."),
+    connect_timeout(ISettingType.Seconds, "Connection timeout if there are no replicas."),
+    connect_timeout_with_failover_ms(ISettingType.Milliseconds, "Connection timeout for selecting first healthy replica."),
+    queue_max_wait_ms(ISettingType.Milliseconds, "The wait time in the request queue, if the number of concurrent requests exceeds the maximum."),
+    poll_interval(ISettingType.UInt64, "Block at the query wait loop on the server for the specified number of seconds."),
+    distributed_connections_pool_size(ISettingType.UInt64, "Maximum number of connections with one remote server in the pool."),
+    connections_with_failover_max_tries(ISettingType.UInt64, "The maximum number of attempts to connect to replicas."),
+    extremes(ISettingType.Boolean, "Calculate minimums and maximums of the result columns. They can be output in JSON-formats."),
+    use_uncompressed_cache(ISettingType.Boolean, "Whether to use the cache of uncompressed blocks."),
+    replace_running_query(ISettingType.Boolean, "Whether the running request should be canceled with the same id as the new one."),
+    background_pool_size(ISettingType.UInt64, "Number of threads performing background work for tables (for example, merging in merge tree). Only has meaning at server startup."),
+    background_schedule_pool_size(ISettingType.UInt64, "Number of threads performing background tasks for replicated tables. Only has meaning at server startup."),
+    distributed_directory_monitor_sleep_time_ms(ISettingType.Milliseconds, "Sleep time for StorageDistributed DirectoryMonitors in case there is no work or exception has been thrown."),
+    distributed_directory_monitor_batch_inserts(ISettingType.Boolean, "Should StorageDistributed DirectoryMonitors try to batch individual inserts into bigger ones."),
+    optimize_move_to_prewhere(ISettingType.Boolean, "Allows disabling WHERE to PREWHERE optimization in SELECT queries from MergeTree."),
+    replication_alter_partitions_sync(ISettingType.UInt64, "Wait for actions to manipulate the partitions. 0 - do not wait, 1 - wait for execution only of itself, 2 - wait for everyone."),
+    replication_alter_columns_timeout(ISettingType.UInt64, "Wait for actions to change the table structure within the specified number of seconds. 0 - wait unlimited time."),
+    totals_auto_threshold(ISettingType.Float, "The threshold for totals_mode = 'auto'."),
+    compile(ISettingType.Boolean, "Whether query compilation is enabled."),
+    compile_expressions(ISettingType.Boolean, "Compile some scalar functions and operators to native code."),
+    min_count_to_compile(ISettingType.UInt64, "The number of structurally identical queries before they are compiled."),
+    group_by_two_level_threshold(ISettingType.UInt64, "From what number of keys, a two-level aggregation starts. 0 - the threshold is not set."),
+    group_by_two_level_threshold_bytes(ISettingType.UInt64, "From what size of the aggregation state in bytes, a two-level aggregation begins to be used. 0 - the threshold is not set. Two-level aggregation is used when at least one of the thresholds is triggered."),
+    distributed_aggregation_memory_efficient(ISettingType.Boolean, "Is the memory-saving mode of distributed aggregation enabled."),
+    aggregation_memory_efficient_merge_threads(ISettingType.UInt64, "Number of threads to use for merge intermediate aggregation results in memory efficient mode. When bigger, then more memory is consumed. 0 means - same as 'max_threads'."),
+    max_threads(ISettingType.UInt64, "The maximum number of threads to execute the request. By default, it is determined automatically."),
+    max_parallel_replicas(ISettingType.UInt64, "The maximum number of replicas of each shard used when the query is executed. For consistency (to get different parts of the same partition), this option only works for the specified sampling key. The lag of the replicas is not controlled."),
+    skip_unavailable_shards(ISettingType.Boolean, "Silently skip unavailable shards."),
+    distributed_group_by_no_merge(ISettingType.Boolean, "Do not merge aggregation states from different servers for distributed query processing - in case it is for certain that there are different keys on different shards."),
+    merge_tree_min_rows_for_concurrent_read(ISettingType.UInt64, "If at least as many lines are read from one file, the reading can be parallelized."),
+    merge_tree_min_rows_for_seek(ISettingType.UInt64, "You can skip reading more than that number of rows at the price of one seek per file."),
+    merge_tree_coarse_index_granularity(ISettingType.UInt64, "If the index segment can contain the required keys, divide it into as many parts and recursively check them. "),
+    merge_tree_max_rows_to_use_cache(ISettingType.UInt64, "The maximum number of rows per request, to use the cache of uncompressed data. If the request is large, the cache is not used. (For large queries not to flush out the cache.)"),
+    merge_tree_uniform_read_distribution(ISettingType.Boolean, "Distribute read from MergeTree over threads evenly, ensuring stable average execution time of each thread within one read operation."),
+    mysql_max_rows_to_insert(ISettingType.UInt64, "The maximum number of rows in MySQL batch insertion of the MySQL storage engine"),
+    optimize_min_equality_disjunction_chain_length(ISettingType.UInt64, "The minimum length of the expression `expr = x1 OR ... expr = xN` for optimization "),
+    min_bytes_to_use_direct_io(ISettingType.UInt64, "The minimum number of bytes for input/output operations is bypassing the page cache. 0 - disabled."),
+    force_index_by_date(ISettingType.Boolean, "Throw an exception if there is a partition key in a table, and it is not used."),
+    force_primary_key(ISettingType.Boolean, "Throw an exception if there is primary key in a table, and it is not used."),
+    mark_cache_min_lifetime(ISettingType.UInt64, "If the maximum size of mark_cache is exceeded, delete only records older than mark_cache_min_lifetime seconds."),
+    max_streams_to_max_threads_ratio(ISettingType.Float, "Allows you to use more sources than the number of threads - to more evenly distribute work across threads. It is assumed that this is a temporary solution, since it will be possible in the future to make the number of sources equal to the number of threads, but for each source to dynamically select available work for itself."),
+    network_zstd_compression_level(ISettingType.UInt64, "Allows you to select the level of ZSTD compression."),
+    priority(ISettingType.UInt64, "Priority of the query. 1 - the highest, higher value - lower priority; 0 - do not use priorities."),
+    log_queries(ISettingType.Boolean, "Log requests and write the log to the system table."),
+    log_queries_cut_to_length(ISettingType.UInt64, "If query length is greater than specified threshold (in bytes), then cut query when writing to query log. Also limit length of printed query in ordinary text log."),
+    max_concurrent_queries_for_user(ISettingType.UInt64, "The maximum number of concurrent requests per user."),
+    insert_deduplicate(ISettingType.Boolean, "For INSERT queries in the replicated table, specifies that deduplication of insertings blocks should be preformed"),
+    insert_quorum(ISettingType.UInt64, "For INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data. 0 - disabled."),
+    select_sequential_consistency(ISettingType.UInt64, "For SELECT queries from the replicated table, throw an exception if the replica does not have a chunk written with the quorum; do not read the parts that have not yet been written with the quorum."),
+    table_function_remote_max_addresses(ISettingType.UInt64, "The maximum number of different shards and the maximum number of replicas of one shard in the `remote` function."),
+    read_backoff_min_latency_ms(ISettingType.Milliseconds, "Setting to reduce the number of threads in case of slow reads. Pay attention only to reads that took at least that much time."),
+    read_backoff_max_throughput(ISettingType.UInt64, "Settings to reduce the number of threads in case of slow reads. Count events when the read bandwidth is less than that many bytes per second."),
+    read_backoff_min_interval_between_events_ms(ISettingType.Milliseconds, "Settings to reduce the number of threads in case of slow reads. Do not pay attention to the event, if the previous one has passed less than a certain amount of time."),
+    read_backoff_min_events(ISettingType.UInt64, "Settings to reduce the number of threads in case of slow reads. The number of events after which the number of threads will be reduced."),
+    memory_tracker_fault_probability(ISettingType.Float, "For testing of `exception safety` - throw an exception every time you allocate memory with the specified probability."),
+    enable_http_compression(ISettingType.Boolean, "Compress the result if the client over HTTP said that it understands data compressed by gzip or deflate."),
+    http_zlib_compression_level(ISettingType.UInt64, "Compression level - used if the client on HTTP said that it understands data compressed by gzip or deflate."),
+    http_native_compression_disable_checksumming_on_decompress(ISettingType.Boolean, "If you uncompress the POST data from the client compressed by the native format, do not check the checksum."),
+    count_distinct_implementation(ISettingType.String, "What aggregate function to use for implementation of count(DISTINCT ...)"),
+    output_format_write_statistics(ISettingType.Boolean, "Write statistics about read rows, bytes, time elapsed in suitable output formats."),
+    add_http_cors_header(ISettingType.Boolean, "Write add http CORS header."),
+    input_format_skip_unknown_fields(ISettingType.Boolean, "Skip columns with unknown names from input data (it works for JSONEachRow and TSKV formats)."),
+    input_format_values_interpret_expressions(ISettingType.Boolean, "For Values format: if field could not be parsed by streaming parser, run SQL parser and try to interpret it as SQL expression."),
+    output_format_json_quote_64bit_integers(ISettingType.Boolean, "Controls quoting of 64-bit integers in JSON output format."),
+    output_format_json_quote_denormals(ISettingType.Boolean, "Enables '+nan', '-nan', '+inf', '-inf' outputs in JSON output format."),
+    output_format_pretty_max_rows(ISettingType.UInt64, "Rows limit for Pretty formats."),
+    use_client_time_zone(ISettingType.Boolean, "Use client timezone for interpreting DateTime string values, instead of adopting server timezone."),
+    send_progress_in_http_headers(ISettingType.Boolean, "Send progress notifications using X-ClickHouse-Progress headers. Some clients do not support high amount of HTTP headers (Python requests in particular), so it is disabled by default."),
+    http_headers_progress_interval_ms(ISettingType.UInt64, "Do not send HTTP headers X-ClickHouse-Progress more frequently than at each specified interval."),
+    fsync_metadata(ISettingType.Boolean, "Do fsync after changing metadata for tables and databases (.sql files). Could be disabled in case of poor latency on server with high load of DDL queries and high load of disk subsystem."),
+    input_format_allow_errors_num(ISettingType.UInt64, "Maximum absolute amount of errors while reading text formats (like CSV, TSV). In case of error, if both absolute and relative values are non-zero, and at least absolute or relative amount of errors is lower than corresponding value, will skip until next line and continue."),
+    input_format_allow_errors_ratio(ISettingType.Float, "Maximum relative amount of errors while reading text formats (like CSV, TSV). In case of error, if both absolute and relative values are non-zero, and at least absolute or relative amount of errors is lower than corresponding value, will skip until next line and continue."),
+    join_use_nulls(ISettingType.Boolean, "Use NULLs for non-joined rows of outer JOINs. If false, use default value of corresponding columns data type."),
+    max_replica_delay_for_distributed_queries(ISettingType.UInt64, "If set, distributed queries of Replicated tables will choose servers with replication delay in seconds less than the specified value (not inclusive). Zero means do not take delay into account."),
+    fallback_to_stale_replicas_for_distributed_queries(ISettingType.Boolean, "Suppose max_replica_delay_for_distributed_queries is set and all replicas for the queried table are stale. If this setting is enabled, the query will be performed anyway, otherwise the error will be reported."),
+    preferred_max_column_in_block_size_bytes(ISettingType.UInt64, "Limit on max column size in block while reading. Helps to decrease cache misses count. Should be close to L2 cache size."),
+    insert_distributed_sync(ISettingType.Boolean, "If setting is enabled, insert query into distributed waits until data will be sent to all nodes in cluster."),
+    insert_distributed_timeout(ISettingType.UInt64, "Timeout for insert query into distributed. Setting is used only with insert_distributed_sync enabled. Zero value means no timeout."),
+    distributed_ddl_task_timeout(ISettingType.UInt64, "Timeout for DDL query responses from all hosts in cluster. Negative value means infinite."),
+    stream_flush_interval_ms(ISettingType.Milliseconds, "Timeout for flushing data from streaming storages."),
+    format_schema(ISettingType.String, "Schema identifier (used by schema-based formats)"),
+    insert_allow_materialized_columns(ISettingType.Boolean, "If setting is enabled, Allow materialized columns in INSERT."),
+    http_connection_timeout(ISettingType.Seconds, "HTTP connection timeout."),
+    http_send_timeout(ISettingType.Seconds, "HTTP send timeout"),
+    http_receive_timeout(ISettingType.Seconds, "HTTP receive timeout"),
+    optimize_throw_if_noop(ISettingType.Boolean, "If setting is enabled and OPTIMIZE query didn't actually assign a merge then an explanatory exception is thrown"),
+    use_index_for_in_with_subqueries(ISettingType.Boolean, "Try using an index if there is a subquery or a table expression on the right side of the IN operator."),
+    empty_result_for_aggregation_by_empty_set(ISettingType.Boolean, "Return empty result when aggregating without keys on empty set."),
+    allow_distributed_ddl(ISettingType.Boolean, "If it is set to true, then a user is allowed to executed distributed DDL queries."),
+    odbc_max_field_size(ISettingType.UInt64, "Max size of filed can be read from ODBC dictionary. Long strings are truncated."),
+    max_rows_to_read(ISettingType.UInt64, "Limit on read rows from the most 'deep' sources. That is, only in the deepest subquery. When reading from a remote server, it is only checked on a remote server."),
+    max_bytes_to_read(ISettingType.UInt64, "Limit on read bytes (after decompression) from the most 'deep' sources. That is, only in the deepest subquery. When reading from a remote server, it is only checked on a remote server."),
+    max_result_rows(ISettingType.UInt64, "Limit on result size in rows. Also checked for intermediate data sent from remote servers."),
+    max_result_bytes(ISettingType.UInt64, "Limit on result size in bytes (uncompressed). Also checked for intermediate data sent from remote servers."),
+    min_execution_speed(ISettingType.UInt64, "In rows per second."),
+    timeout_before_checking_execution_speed(ISettingType.Seconds, "Check that the speed is not too low after the specified time has elapsed."),
+    max_ast_depth(ISettingType.UInt64, "Maximum depth of query syntax tree. Checked after parsing."),
+    max_ast_elements(ISettingType.UInt64, "Maximum size of query syntax tree in number of nodes. Checked after parsing."),
+    max_expanded_ast_elements(ISettingType.UInt64, "Maximum size of query syntax tree in number of nodes after expansion of aliases and the asterisk."),
+    readonly(ISettingType.UInt64, "0 - everything is allowed. 1 - only read requests. 2 - only read requests, as well as changing settings, except for the 'readonly' setting."),
+    max_rows_in_set(ISettingType.UInt64, "Maximum size of the set (in number of elements) resulting from the execution of the IN section."),
+    max_bytes_in_set(ISettingType.UInt64, "Maximum size of the set (in bytes in memory) resulting from the execution of the IN section."),
+    max_rows_in_join(ISettingType.UInt64, "Maximum size of the hash table for JOIN (in number of rows)."),
+    max_bytes_in_join(ISettingType.UInt64, "Maximum size of the hash table for JOIN (in number of bytes in memory)."),
+    max_rows_to_transfer(ISettingType.UInt64, "Maximum size (in rows) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed."),
+    max_bytes_to_transfer(ISettingType.UInt64, "Maximum size (in uncompressed bytes) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed."),
+    max_rows_in_distinct(ISettingType.UInt64, "Maximum number of elements during execution of DISTINCT."),
+    max_bytes_in_distinct(ISettingType.UInt64, "Maximum total size of state (in uncompressed bytes) in memory for the execution of DISTINCT."),
+    max_memory_usage(ISettingType.UInt64, "Maximum memory usage for processing of single query. Zero means unlimited."),
+    max_memory_usage_for_user(ISettingType.UInt64, "Maximum memory usage for processing all concurrently running queries for the user. Zero means unlimited."),
+    max_memory_usage_for_all_queries(ISettingType.UInt64, "Maximum memory usage for processing all concurrently running queries on the server. Zero means unlimited."),
+    max_network_bandwidth(ISettingType.UInt64, "The maximum speed of data exchange over the network in bytes per second for a query. Zero means unlimited."),
+    max_network_bytes(ISettingType.UInt64, "The maximum number of bytes (compressed) to receive or transmit over the network for execution of the query."),
+    max_network_bandwidth_for_user(ISettingType.UInt64, "The maximum speed of data exchange over the network in bytes per second for all concurrently running user queries. Zero means unlimited."),
+    max_network_bandwidth_for_all_users(ISettingType.UInt64, "The maximum speed of data exchange over the network in bytes per second for all concurrently running queries. Zero means unlimited."),
+    format_csv_delimiter(ISettingType.Character, "The character to be considered as a delimiter in CSV data. If setting with a string, a string has to have a length of 1."),
+    enable_conditional_computation(ISettingType.UInt64, "Enable conditional computations"),
+    port(ISettingType.UInt64, ""),
+    user(ISettingType.String, ""),
+    address(ISettingType.String, ""),
+    database(ISettingType.String, ""),
+    password(ISettingType.String, ""),
+    query_timeout(ISettingType.UInt64, "");
+
+    private final String describe;
+    private final ISettingType type;
+
+    SettingKey(ISettingType type, String describe) {
+        this.type = type;
+        this.describe = describe;
+    }
+
+    public String describe() {
+        return describe;
+    }
+
+    public ISettingType type() {
+        return type;
+    }
+}
diff --git a/src/main/java/org/houseflys/jdbc/statement/AbstractPreparedStatement.java b/src/main/java/com/github/housepower/jdbc/statement/AbstractPreparedStatement.java
similarity index 97%
rename from src/main/java/org/houseflys/jdbc/statement/AbstractPreparedStatement.java
rename to src/main/java/com/github/housepower/jdbc/statement/AbstractPreparedStatement.java
index 252b71c..8666ab1 100644
--- a/src/main/java/org/houseflys/jdbc/statement/AbstractPreparedStatement.java
+++ b/src/main/java/com/github/housepower/jdbc/statement/AbstractPreparedStatement.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.statement;
+package com.github.housepower.jdbc.statement;
 
 
-import org.houseflys.jdbc.ClickHouseConnection;
-import org.houseflys.jdbc.misc.Validate;
+import com.github.housepower.jdbc.misc.Validate;
+import com.github.housepower.jdbc.ClickHouseConnection;
 
 import java.math.BigDecimal;
 import java.net.URL;
diff --git a/src/main/java/org/houseflys/jdbc/statement/ClickHousePreparedInsertStatement.java b/src/main/java/com/github/housepower/jdbc/statement/ClickHousePreparedInsertStatement.java
similarity index 87%
rename from src/main/java/org/houseflys/jdbc/statement/ClickHousePreparedInsertStatement.java
rename to src/main/java/com/github/housepower/jdbc/statement/ClickHousePreparedInsertStatement.java
index 5dad553..ea40300 100644
--- a/src/main/java/org/houseflys/jdbc/statement/ClickHousePreparedInsertStatement.java
+++ b/src/main/java/com/github/housepower/jdbc/statement/ClickHousePreparedInsertStatement.java
@@ -1,7 +1,10 @@
-package org.houseflys.jdbc.statement;
+package com.github.housepower.jdbc.statement;
 
-import org.houseflys.jdbc.ClickHouseConnection;
-import org.houseflys.jdbc.stream.*;
+import com.github.housepower.jdbc.ClickHouseConnection;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.stream.ValuesWithParametersInputFormat;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/statement/ClickHousePreparedQueryStatement.java b/src/main/java/com/github/housepower/jdbc/statement/ClickHousePreparedQueryStatement.java
similarity index 86%
rename from src/main/java/org/houseflys/jdbc/statement/ClickHousePreparedQueryStatement.java
rename to src/main/java/com/github/housepower/jdbc/statement/ClickHousePreparedQueryStatement.java
index d91a540..683d026 100644
--- a/src/main/java/org/houseflys/jdbc/statement/ClickHousePreparedQueryStatement.java
+++ b/src/main/java/com/github/housepower/jdbc/statement/ClickHousePreparedQueryStatement.java
@@ -1,10 +1,10 @@
-package org.houseflys.jdbc.statement;
+package com.github.housepower.jdbc.statement;
 
 
-import org.houseflys.jdbc.ClickHouseConnection;
-import org.houseflys.jdbc.stream.QuotedLexer;
-import org.houseflys.jdbc.stream.QuotedToken;
-import org.houseflys.jdbc.stream.QuotedTokenType;
+import com.github.housepower.jdbc.ClickHouseConnection;
+import com.github.housepower.jdbc.stream.QuotedLexer;
+import com.github.housepower.jdbc.stream.QuotedToken;
+import com.github.housepower.jdbc.stream.QuotedTokenType;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/statement/ClickHouseStatement.java b/src/main/java/com/github/housepower/jdbc/statement/ClickHouseStatement.java
similarity index 84%
rename from src/main/java/org/houseflys/jdbc/statement/ClickHouseStatement.java
rename to src/main/java/com/github/housepower/jdbc/statement/ClickHouseStatement.java
index 8e1ecb1..18dfab3 100644
--- a/src/main/java/org/houseflys/jdbc/statement/ClickHouseStatement.java
+++ b/src/main/java/com/github/housepower/jdbc/statement/ClickHouseStatement.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.statement;
+package com.github.housepower.jdbc.statement;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
@@ -7,11 +7,11 @@ import java.sql.SQLException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.houseflys.jdbc.ClickHouseConnection;
-import org.houseflys.jdbc.ClickHouseResultSet;
-import org.houseflys.jdbc.protocol.QueryResponse;
-import org.houseflys.jdbc.stream.ValuesInputFormat;
-import org.houseflys.jdbc.wrapper.SQLStatement;
+import com.github.housepower.jdbc.ClickHouseResultSet;
+import com.github.housepower.jdbc.wrapper.SQLStatement;
+import com.github.housepower.jdbc.ClickHouseConnection;
+import com.github.housepower.jdbc.protocol.QueryResponse;
+import com.github.housepower.jdbc.stream.ValuesInputFormat;
 
 public class ClickHouseStatement extends SQLStatement {
     private static final Pattern VALUES_REGEX = Pattern.compile("[V|v][A|a][L|l][U|u][E|e][S|s]\\s*\\(");
diff --git a/src/main/java/org/houseflys/jdbc/stream/InputFormat.java b/src/main/java/com/github/housepower/jdbc/stream/InputFormat.java
similarity index 59%
rename from src/main/java/org/houseflys/jdbc/stream/InputFormat.java
rename to src/main/java/com/github/housepower/jdbc/stream/InputFormat.java
index 9470245..6287248 100644
--- a/src/main/java/org/houseflys/jdbc/stream/InputFormat.java
+++ b/src/main/java/com/github/housepower/jdbc/stream/InputFormat.java
@@ -1,6 +1,6 @@
-package org.houseflys.jdbc.stream;
+package com.github.housepower.jdbc.stream;
 
-import org.houseflys.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Block;
 
 import java.sql.SQLException;
 
diff --git a/src/main/java/org/houseflys/jdbc/stream/QuotedLexer.java b/src/main/java/com/github/housepower/jdbc/stream/QuotedLexer.java
similarity index 99%
rename from src/main/java/org/houseflys/jdbc/stream/QuotedLexer.java
rename to src/main/java/com/github/housepower/jdbc/stream/QuotedLexer.java
index 028fca2..9b72d6d 100644
--- a/src/main/java/org/houseflys/jdbc/stream/QuotedLexer.java
+++ b/src/main/java/com/github/housepower/jdbc/stream/QuotedLexer.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.stream;
+package com.github.housepower.jdbc.stream;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/org/houseflys/jdbc/stream/QuotedToken.java b/src/main/java/com/github/housepower/jdbc/stream/QuotedToken.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/stream/QuotedToken.java
rename to src/main/java/com/github/housepower/jdbc/stream/QuotedToken.java
index fdc1253..d575fef 100644
--- a/src/main/java/org/houseflys/jdbc/stream/QuotedToken.java
+++ b/src/main/java/com/github/housepower/jdbc/stream/QuotedToken.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.stream;
+package com.github.housepower.jdbc.stream;
 
 public class QuotedToken {
     private final int end;
diff --git a/src/main/java/org/houseflys/jdbc/stream/QuotedTokenType.java b/src/main/java/com/github/housepower/jdbc/stream/QuotedTokenType.java
similarity index 87%
rename from src/main/java/org/houseflys/jdbc/stream/QuotedTokenType.java
rename to src/main/java/com/github/housepower/jdbc/stream/QuotedTokenType.java
index 5b08511..3ee4135 100644
--- a/src/main/java/org/houseflys/jdbc/stream/QuotedTokenType.java
+++ b/src/main/java/com/github/housepower/jdbc/stream/QuotedTokenType.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.stream;
+package com.github.housepower.jdbc.stream;
 
 public enum QuotedTokenType {
     OpeningRoundBracket, ClosingRoundBracket, OpeningSquareBracket, ClosingSquareBracket, Comma, Semicolon, QuestionMark, Whitespace, Number, StringLiteral, BareWord, Equals, Dot, Plus, Minus, Asterisk, Slash, Percent, Not, Less, Greater, Colon, Concatenation, EndOfStream, Error;
diff --git a/src/main/java/org/houseflys/jdbc/stream/ValuesInputFormat.java b/src/main/java/com/github/housepower/jdbc/stream/ValuesInputFormat.java
similarity index 90%
rename from src/main/java/org/houseflys/jdbc/stream/ValuesInputFormat.java
rename to src/main/java/com/github/housepower/jdbc/stream/ValuesInputFormat.java
index ba0ed1d..548ccfe 100644
--- a/src/main/java/org/houseflys/jdbc/stream/ValuesInputFormat.java
+++ b/src/main/java/com/github/housepower/jdbc/stream/ValuesInputFormat.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.stream;
+package com.github.housepower.jdbc.stream;
 
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.data.Column;
-import org.houseflys.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Column;
+import com.github.housepower.jdbc.misc.Validate;
 
 import java.sql.SQLException;
 import java.util.Arrays;
diff --git a/src/main/java/org/houseflys/jdbc/stream/ValuesWithParametersInputFormat.java b/src/main/java/com/github/housepower/jdbc/stream/ValuesWithParametersInputFormat.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/stream/ValuesWithParametersInputFormat.java
rename to src/main/java/com/github/housepower/jdbc/stream/ValuesWithParametersInputFormat.java
index c6b91bc..f3f7fd2 100644
--- a/src/main/java/org/houseflys/jdbc/stream/ValuesWithParametersInputFormat.java
+++ b/src/main/java/com/github/housepower/jdbc/stream/ValuesWithParametersInputFormat.java
@@ -1,9 +1,9 @@
-package org.houseflys.jdbc.stream;
+package com.github.housepower.jdbc.stream;
 
 
-import org.houseflys.jdbc.data.Block;
-import org.houseflys.jdbc.data.Column;
-import org.houseflys.jdbc.misc.Validate;
+import com.github.housepower.jdbc.data.Block;
+import com.github.housepower.jdbc.data.Column;
+import com.github.housepower.jdbc.misc.Validate;
 
 import java.sql.SQLException;
 import java.util.Arrays;
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLArray.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLArray.java
similarity index 97%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLArray.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLArray.java
index d19d210..a3ff21d 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLArray.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLArray.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.sql.Array;
 import java.sql.ResultSet;
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLConnection.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLConnection.java
similarity index 99%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLConnection.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLConnection.java
index d602557..8bf156a 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLConnection.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLConnection.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.sql.*;
 import java.util.Map;
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLDatabaseMetadata.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLDatabaseMetadata.java
similarity index 99%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLDatabaseMetadata.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLDatabaseMetadata.java
index 7bf1012..8fd8fc2 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLDatabaseMetadata.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLDatabaseMetadata.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.sql.*;
 
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLResultSet.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLResultSet.java
similarity index 99%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLResultSet.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLResultSet.java
index aec79b3..38f729f 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLResultSet.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLResultSet.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.io.InputStream;
 import java.io.Reader;
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLResultSetMetaData.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLResultSetMetaData.java
similarity index 98%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLResultSetMetaData.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLResultSetMetaData.java
index 954b5d3..e03bdb6 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLResultSetMetaData.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLResultSetMetaData.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLStatement.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLStatement.java
similarity index 99%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLStatement.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLStatement.java
index 8b53054..c5294f9 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLStatement.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLStatement.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.io.InputStream;
 import java.io.Reader;
diff --git a/src/main/java/org/houseflys/jdbc/wrapper/SQLStruct.java b/src/main/java/com/github/housepower/jdbc/wrapper/SQLStruct.java
similarity index 93%
rename from src/main/java/org/houseflys/jdbc/wrapper/SQLStruct.java
rename to src/main/java/com/github/housepower/jdbc/wrapper/SQLStruct.java
index 54a423e..01f24d5 100644
--- a/src/main/java/org/houseflys/jdbc/wrapper/SQLStruct.java
+++ b/src/main/java/com/github/housepower/jdbc/wrapper/SQLStruct.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.wrapper;
+package com.github.housepower.jdbc.wrapper;
 
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
diff --git a/src/main/java/org/houseflys/jdbc/settings/SettingKey.java b/src/main/java/org/houseflys/jdbc/settings/SettingKey.java
deleted file mode 100644
index f9c592c..0000000
--- a/src/main/java/org/houseflys/jdbc/settings/SettingKey.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.houseflys.jdbc.settings;
-
-import static org.houseflys.jdbc.settings.ISettingType.*;
-
-public enum SettingKey {
-    min_compress_block_size(UInt64, "The actual size of the block to compress, if the uncompressed data less than max_compress_block_size is no less than this value and no less than the volume of data for one mark."),
-    max_compress_block_size(UInt64, "The maximum size of blocks of uncompressed data before compressing for writing to a table."),
-    max_block_size(UInt64, "Maximum block size for reading"),
-    max_insert_block_size(UInt64, "The maximum block size for insertion, if we control the creation of blocks for insertion."),
-    min_insert_block_size_rows(UInt64, "Squash blocks passed to INSERT query to specified size in rows, if blocks are not big enough."),
-    min_insert_block_size_bytes(UInt64, "Squash blocks passed to INSERT query to specified size in bytes, if blocks are not big enough."),
-    max_read_buffer_size(UInt64, "The maximum size of the buffer to read from the filesystem."),
-    max_distributed_connections(UInt64, "The maximum number of connections for distributed processing of one query (should be greater than max_threads)."),
-    max_query_size(UInt64, "Which part of the query can be read into RAM for parsing (the remaining data for INSERT, if any, is read later)"),
-    interactive_delay(UInt64, "The interval in microseconds to check if the request is cancelled, and to send progress info."),
-    connect_timeout(Seconds, "Connection timeout if there are no replicas."),
-    connect_timeout_with_failover_ms(Milliseconds, "Connection timeout for selecting first healthy replica."),
-    queue_max_wait_ms(Milliseconds, "The wait time in the request queue, if the number of concurrent requests exceeds the maximum."),
-    poll_interval(UInt64, "Block at the query wait loop on the server for the specified number of seconds."),
-    distributed_connections_pool_size(UInt64, "Maximum number of connections with one remote server in the pool."),
-    connections_with_failover_max_tries(UInt64, "The maximum number of attempts to connect to replicas."),
-    extremes(Boolean, "Calculate minimums and maximums of the result columns. They can be output in JSON-formats."),
-    use_uncompressed_cache(Boolean, "Whether to use the cache of uncompressed blocks."),
-    replace_running_query(Boolean, "Whether the running request should be canceled with the same id as the new one."),
-    background_pool_size(UInt64, "Number of threads performing background work for tables (for example, merging in merge tree). Only has meaning at server startup."),
-    background_schedule_pool_size(UInt64, "Number of threads performing background tasks for replicated tables. Only has meaning at server startup."),
-    distributed_directory_monitor_sleep_time_ms(Milliseconds, "Sleep time for StorageDistributed DirectoryMonitors in case there is no work or exception has been thrown."),
-    distributed_directory_monitor_batch_inserts(Boolean, "Should StorageDistributed DirectoryMonitors try to batch individual inserts into bigger ones."),
-    optimize_move_to_prewhere(Boolean, "Allows disabling WHERE to PREWHERE optimization in SELECT queries from MergeTree."),
-    replication_alter_partitions_sync(UInt64, "Wait for actions to manipulate the partitions. 0 - do not wait, 1 - wait for execution only of itself, 2 - wait for everyone."),
-    replication_alter_columns_timeout(UInt64, "Wait for actions to change the table structure within the specified number of seconds. 0 - wait unlimited time."),
-    totals_auto_threshold(Float, "The threshold for totals_mode = 'auto'."),
-    compile(Boolean, "Whether query compilation is enabled."),
-    compile_expressions(Boolean, "Compile some scalar functions and operators to native code."),
-    min_count_to_compile(UInt64, "The number of structurally identical queries before they are compiled."),
-    group_by_two_level_threshold(UInt64, "From what number of keys, a two-level aggregation starts. 0 - the threshold is not set."),
-    group_by_two_level_threshold_bytes(UInt64, "From what size of the aggregation state in bytes, a two-level aggregation begins to be used. 0 - the threshold is not set. Two-level aggregation is used when at least one of the thresholds is triggered."),
-    distributed_aggregation_memory_efficient(Boolean, "Is the memory-saving mode of distributed aggregation enabled."),
-    aggregation_memory_efficient_merge_threads(UInt64, "Number of threads to use for merge intermediate aggregation results in memory efficient mode. When bigger, then more memory is consumed. 0 means - same as 'max_threads'."),
-    max_threads(UInt64, "The maximum number of threads to execute the request. By default, it is determined automatically."),
-    max_parallel_replicas(UInt64, "The maximum number of replicas of each shard used when the query is executed. For consistency (to get different parts of the same partition), this option only works for the specified sampling key. The lag of the replicas is not controlled."),
-    skip_unavailable_shards(Boolean, "Silently skip unavailable shards."),
-    distributed_group_by_no_merge(Boolean, "Do not merge aggregation states from different servers for distributed query processing - in case it is for certain that there are different keys on different shards."),
-    merge_tree_min_rows_for_concurrent_read(UInt64, "If at least as many lines are read from one file, the reading can be parallelized."),
-    merge_tree_min_rows_for_seek(UInt64, "You can skip reading more than that number of rows at the price of one seek per file."),
-    merge_tree_coarse_index_granularity(UInt64, "If the index segment can contain the required keys, divide it into as many parts and recursively check them. "),
-    merge_tree_max_rows_to_use_cache(UInt64, "The maximum number of rows per request, to use the cache of uncompressed data. If the request is large, the cache is not used. (For large queries not to flush out the cache.)"),
-    merge_tree_uniform_read_distribution(Boolean, "Distribute read from MergeTree over threads evenly, ensuring stable average execution time of each thread within one read operation."),
-    mysql_max_rows_to_insert(UInt64, "The maximum number of rows in MySQL batch insertion of the MySQL storage engine"),
-    optimize_min_equality_disjunction_chain_length(UInt64, "The minimum length of the expression `expr = x1 OR ... expr = xN` for optimization "),
-    min_bytes_to_use_direct_io(UInt64, "The minimum number of bytes for input/output operations is bypassing the page cache. 0 - disabled."),
-    force_index_by_date(Boolean, "Throw an exception if there is a partition key in a table, and it is not used."),
-    force_primary_key(Boolean, "Throw an exception if there is primary key in a table, and it is not used."),
-    mark_cache_min_lifetime(UInt64, "If the maximum size of mark_cache is exceeded, delete only records older than mark_cache_min_lifetime seconds."),
-    max_streams_to_max_threads_ratio(Float, "Allows you to use more sources than the number of threads - to more evenly distribute work across threads. It is assumed that this is a temporary solution, since it will be possible in the future to make the number of sources equal to the number of threads, but for each source to dynamically select available work for itself."),
-    network_zstd_compression_level(UInt64, "Allows you to select the level of ZSTD compression."),
-    priority(UInt64, "Priority of the query. 1 - the highest, higher value - lower priority; 0 - do not use priorities."),
-    log_queries(Boolean, "Log requests and write the log to the system table."),
-    log_queries_cut_to_length(UInt64, "If query length is greater than specified threshold (in bytes), then cut query when writing to query log. Also limit length of printed query in ordinary text log."),
-    max_concurrent_queries_for_user(UInt64, "The maximum number of concurrent requests per user."),
-    insert_deduplicate(Boolean, "For INSERT queries in the replicated table, specifies that deduplication of insertings blocks should be preformed"),
-    insert_quorum(UInt64, "For INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data. 0 - disabled."),
-    select_sequential_consistency(UInt64, "For SELECT queries from the replicated table, throw an exception if the replica does not have a chunk written with the quorum; do not read the parts that have not yet been written with the quorum."),
-    table_function_remote_max_addresses(UInt64, "The maximum number of different shards and the maximum number of replicas of one shard in the `remote` function."),
-    read_backoff_min_latency_ms(Milliseconds, "Setting to reduce the number of threads in case of slow reads. Pay attention only to reads that took at least that much time."),
-    read_backoff_max_throughput(UInt64, "Settings to reduce the number of threads in case of slow reads. Count events when the read bandwidth is less than that many bytes per second."),
-    read_backoff_min_interval_between_events_ms(Milliseconds, "Settings to reduce the number of threads in case of slow reads. Do not pay attention to the event, if the previous one has passed less than a certain amount of time."),
-    read_backoff_min_events(UInt64, "Settings to reduce the number of threads in case of slow reads. The number of events after which the number of threads will be reduced."),
-    memory_tracker_fault_probability(Float, "For testing of `exception safety` - throw an exception every time you allocate memory with the specified probability."),
-    enable_http_compression(Boolean, "Compress the result if the client over HTTP said that it understands data compressed by gzip or deflate."),
-    http_zlib_compression_level(UInt64, "Compression level - used if the client on HTTP said that it understands data compressed by gzip or deflate."),
-    http_native_compression_disable_checksumming_on_decompress(Boolean, "If you uncompress the POST data from the client compressed by the native format, do not check the checksum."),
-    count_distinct_implementation(String, "What aggregate function to use for implementation of count(DISTINCT ...)"),
-    output_format_write_statistics(Boolean, "Write statistics about read rows, bytes, time elapsed in suitable output formats."),
-    add_http_cors_header(Boolean, "Write add http CORS header."),
-    input_format_skip_unknown_fields(Boolean, "Skip columns with unknown names from input data (it works for JSONEachRow and TSKV formats)."),
-    input_format_values_interpret_expressions(Boolean, "For Values format: if field could not be parsed by streaming parser, run SQL parser and try to interpret it as SQL expression."),
-    output_format_json_quote_64bit_integers(Boolean, "Controls quoting of 64-bit integers in JSON output format."),
-    output_format_json_quote_denormals(Boolean, "Enables '+nan', '-nan', '+inf', '-inf' outputs in JSON output format."),
-    output_format_pretty_max_rows(UInt64, "Rows limit for Pretty formats."),
-    use_client_time_zone(Boolean, "Use client timezone for interpreting DateTime string values, instead of adopting server timezone."),
-    send_progress_in_http_headers(Boolean, "Send progress notifications using X-ClickHouse-Progress headers. Some clients do not support high amount of HTTP headers (Python requests in particular), so it is disabled by default."),
-    http_headers_progress_interval_ms(UInt64, "Do not send HTTP headers X-ClickHouse-Progress more frequently than at each specified interval."),
-    fsync_metadata(Boolean, "Do fsync after changing metadata for tables and databases (.sql files). Could be disabled in case of poor latency on server with high load of DDL queries and high load of disk subsystem."),
-    input_format_allow_errors_num(UInt64, "Maximum absolute amount of errors while reading text formats (like CSV, TSV). In case of error, if both absolute and relative values are non-zero, and at least absolute or relative amount of errors is lower than corresponding value, will skip until next line and continue."),
-    input_format_allow_errors_ratio(Float, "Maximum relative amount of errors while reading text formats (like CSV, TSV). In case of error, if both absolute and relative values are non-zero, and at least absolute or relative amount of errors is lower than corresponding value, will skip until next line and continue."),
-    join_use_nulls(Boolean, "Use NULLs for non-joined rows of outer JOINs. If false, use default value of corresponding columns data type."),
-    max_replica_delay_for_distributed_queries(UInt64, "If set, distributed queries of Replicated tables will choose servers with replication delay in seconds less than the specified value (not inclusive). Zero means do not take delay into account."),
-    fallback_to_stale_replicas_for_distributed_queries(Boolean, "Suppose max_replica_delay_for_distributed_queries is set and all replicas for the queried table are stale. If this setting is enabled, the query will be performed anyway, otherwise the error will be reported."),
-    preferred_max_column_in_block_size_bytes(UInt64, "Limit on max column size in block while reading. Helps to decrease cache misses count. Should be close to L2 cache size."),
-    insert_distributed_sync(Boolean, "If setting is enabled, insert query into distributed waits until data will be sent to all nodes in cluster."),
-    insert_distributed_timeout(UInt64, "Timeout for insert query into distributed. Setting is used only with insert_distributed_sync enabled. Zero value means no timeout."),
-    distributed_ddl_task_timeout(UInt64, "Timeout for DDL query responses from all hosts in cluster. Negative value means infinite."),
-    stream_flush_interval_ms(Milliseconds, "Timeout for flushing data from streaming storages."),
-    format_schema(String, "Schema identifier (used by schema-based formats)"),
-    insert_allow_materialized_columns(Boolean, "If setting is enabled, Allow materialized columns in INSERT."),
-    http_connection_timeout(Seconds, "HTTP connection timeout."),
-    http_send_timeout(Seconds, "HTTP send timeout"),
-    http_receive_timeout(Seconds, "HTTP receive timeout"),
-    optimize_throw_if_noop(Boolean, "If setting is enabled and OPTIMIZE query didn't actually assign a merge then an explanatory exception is thrown"),
-    use_index_for_in_with_subqueries(Boolean, "Try using an index if there is a subquery or a table expression on the right side of the IN operator."),
-    empty_result_for_aggregation_by_empty_set(Boolean, "Return empty result when aggregating without keys on empty set."),
-    allow_distributed_ddl(Boolean, "If it is set to true, then a user is allowed to executed distributed DDL queries."),
-    odbc_max_field_size(UInt64, "Max size of filed can be read from ODBC dictionary. Long strings are truncated."),
-    max_rows_to_read(UInt64, "Limit on read rows from the most 'deep' sources. That is, only in the deepest subquery. When reading from a remote server, it is only checked on a remote server."),
-    max_bytes_to_read(UInt64, "Limit on read bytes (after decompression) from the most 'deep' sources. That is, only in the deepest subquery. When reading from a remote server, it is only checked on a remote server."),
-    max_result_rows(UInt64, "Limit on result size in rows. Also checked for intermediate data sent from remote servers."),
-    max_result_bytes(UInt64, "Limit on result size in bytes (uncompressed). Also checked for intermediate data sent from remote servers."),
-    min_execution_speed(UInt64, "In rows per second."),
-    timeout_before_checking_execution_speed(Seconds, "Check that the speed is not too low after the specified time has elapsed."),
-    max_ast_depth(UInt64, "Maximum depth of query syntax tree. Checked after parsing."),
-    max_ast_elements(UInt64, "Maximum size of query syntax tree in number of nodes. Checked after parsing."),
-    max_expanded_ast_elements(UInt64, "Maximum size of query syntax tree in number of nodes after expansion of aliases and the asterisk."),
-    readonly(UInt64, "0 - everything is allowed. 1 - only read requests. 2 - only read requests, as well as changing settings, except for the 'readonly' setting."),
-    max_rows_in_set(UInt64, "Maximum size of the set (in number of elements) resulting from the execution of the IN section."),
-    max_bytes_in_set(UInt64, "Maximum size of the set (in bytes in memory) resulting from the execution of the IN section."),
-    max_rows_in_join(UInt64, "Maximum size of the hash table for JOIN (in number of rows)."),
-    max_bytes_in_join(UInt64, "Maximum size of the hash table for JOIN (in number of bytes in memory)."),
-    max_rows_to_transfer(UInt64, "Maximum size (in rows) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed."),
-    max_bytes_to_transfer(UInt64, "Maximum size (in uncompressed bytes) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed."),
-    max_rows_in_distinct(UInt64, "Maximum number of elements during execution of DISTINCT."),
-    max_bytes_in_distinct(UInt64, "Maximum total size of state (in uncompressed bytes) in memory for the execution of DISTINCT."),
-    max_memory_usage(UInt64, "Maximum memory usage for processing of single query. Zero means unlimited."),
-    max_memory_usage_for_user(UInt64, "Maximum memory usage for processing all concurrently running queries for the user. Zero means unlimited."),
-    max_memory_usage_for_all_queries(UInt64, "Maximum memory usage for processing all concurrently running queries on the server. Zero means unlimited."),
-    max_network_bandwidth(UInt64, "The maximum speed of data exchange over the network in bytes per second for a query. Zero means unlimited."),
-    max_network_bytes(UInt64, "The maximum number of bytes (compressed) to receive or transmit over the network for execution of the query."),
-    max_network_bandwidth_for_user(UInt64, "The maximum speed of data exchange over the network in bytes per second for all concurrently running user queries. Zero means unlimited."),
-    max_network_bandwidth_for_all_users(UInt64, "The maximum speed of data exchange over the network in bytes per second for all concurrently running queries. Zero means unlimited."),
-    format_csv_delimiter(Character, "The character to be considered as a delimiter in CSV data. If setting with a string, a string has to have a length of 1."),
-    enable_conditional_computation(UInt64, "Enable conditional computations"),
-    port(UInt64, ""),
-    user(String, ""),
-    address(String, ""),
-    database(String, ""),
-    password(String, ""),
-    query_timeout(UInt64, "");
-
-    private final String describe;
-    private final ISettingType type;
-
-    SettingKey(ISettingType type, String describe) {
-        this.type = type;
-        this.describe = describe;
-    }
-
-    public String describe() {
-        return describe;
-    }
-
-    public ISettingType type() {
-        return type;
-    }
-}


Test patch:
diff --git a/src/test/java/org/houseflys/jdbc/AbstractITest.java b/src/test/java/com/github/housepower/jdbc/AbstractITest.java
similarity index 95%
rename from src/test/java/org/houseflys/jdbc/AbstractITest.java
rename to src/test/java/com/github/housepower/jdbc/AbstractITest.java
index 6518c8c..9884dc1 100644
--- a/src/test/java/org/houseflys/jdbc/AbstractITest.java
+++ b/src/test/java/com/github/housepower/jdbc/AbstractITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
diff --git a/src/test/java/org/houseflys/jdbc/BatchInsertITest.java b/src/test/java/com/github/housepower/jdbc/BatchInsertITest.java
similarity index 97%
rename from src/test/java/org/houseflys/jdbc/BatchInsertITest.java
rename to src/test/java/com/github/housepower/jdbc/BatchInsertITest.java
index 55077d4..3ea2b18 100644
--- a/src/test/java/org/houseflys/jdbc/BatchInsertITest.java
+++ b/src/test/java/com/github/housepower/jdbc/BatchInsertITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/org/houseflys/jdbc/ConnectionParamITest.java b/src/test/java/com/github/housepower/jdbc/ConnectionParamITest.java
similarity index 94%
rename from src/test/java/org/houseflys/jdbc/ConnectionParamITest.java
rename to src/test/java/com/github/housepower/jdbc/ConnectionParamITest.java
index 0247071..dda3a16 100644
--- a/src/test/java/org/houseflys/jdbc/ConnectionParamITest.java
+++ b/src/test/java/com/github/housepower/jdbc/ConnectionParamITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import org.junit.Test;
 
diff --git a/src/test/java/org/houseflys/jdbc/InsertComplexTypeITest.java b/src/test/java/com/github/housepower/jdbc/InsertComplexTypeITest.java
similarity index 99%
rename from src/test/java/org/houseflys/jdbc/InsertComplexTypeITest.java
rename to src/test/java/com/github/housepower/jdbc/InsertComplexTypeITest.java
index 4f9276a..0ec6e25 100644
--- a/src/test/java/org/houseflys/jdbc/InsertComplexTypeITest.java
+++ b/src/test/java/com/github/housepower/jdbc/InsertComplexTypeITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/org/houseflys/jdbc/InsertSimpleTypeITest.java b/src/test/java/com/github/housepower/jdbc/InsertSimpleTypeITest.java
similarity index 99%
rename from src/test/java/org/houseflys/jdbc/InsertSimpleTypeITest.java
rename to src/test/java/com/github/housepower/jdbc/InsertSimpleTypeITest.java
index ed0229b..3aceffe 100644
--- a/src/test/java/org/houseflys/jdbc/InsertSimpleTypeITest.java
+++ b/src/test/java/com/github/housepower/jdbc/InsertSimpleTypeITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/org/houseflys/jdbc/PreparedStatementITest.java b/src/test/java/com/github/housepower/jdbc/PreparedStatementITest.java
similarity index 99%
rename from src/test/java/org/houseflys/jdbc/PreparedStatementITest.java
rename to src/test/java/com/github/housepower/jdbc/PreparedStatementITest.java
index abd4aa2..2c10678 100644
--- a/src/test/java/org/houseflys/jdbc/PreparedStatementITest.java
+++ b/src/test/java/com/github/housepower/jdbc/PreparedStatementITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/org/houseflys/jdbc/QueryComplexTypeITest.java b/src/test/java/com/github/housepower/jdbc/QueryComplexTypeITest.java
similarity index 98%
rename from src/test/java/org/houseflys/jdbc/QueryComplexTypeITest.java
rename to src/test/java/com/github/housepower/jdbc/QueryComplexTypeITest.java
index c31d53f..78016b3 100644
--- a/src/test/java/org/houseflys/jdbc/QueryComplexTypeITest.java
+++ b/src/test/java/com/github/housepower/jdbc/QueryComplexTypeITest.java
@@ -1,10 +1,8 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.sql.*;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
-import java.util.TreeMap;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/org/houseflys/jdbc/QuerySimpleTypeITest.java b/src/test/java/com/github/housepower/jdbc/QuerySimpleTypeITest.java
similarity index 99%
rename from src/test/java/org/houseflys/jdbc/QuerySimpleTypeITest.java
rename to src/test/java/com/github/housepower/jdbc/QuerySimpleTypeITest.java
index 6b53fb7..01c9a7c 100644
--- a/src/test/java/org/houseflys/jdbc/QuerySimpleTypeITest.java
+++ b/src/test/java/com/github/housepower/jdbc/QuerySimpleTypeITest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc;
+package com.github.housepower.jdbc;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
diff --git a/src/test/java/org/houseflys/jdbc/buffer/CompressedBuffedReaderTest.java b/src/test/java/com/github/housepower/jdbc/buffer/CompressedBuffedReaderTest.java
similarity index 94%
rename from src/test/java/org/houseflys/jdbc/buffer/CompressedBuffedReaderTest.java
rename to src/test/java/com/github/housepower/jdbc/buffer/CompressedBuffedReaderTest.java
index d2c35d0..88ea4b4 100644
--- a/src/test/java/org/houseflys/jdbc/buffer/CompressedBuffedReaderTest.java
+++ b/src/test/java/com/github/housepower/jdbc/buffer/CompressedBuffedReaderTest.java
@@ -1,10 +1,9 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
+import com.github.housepower.jdbc.tool.FragmentBuffedReader;
 import org.junit.Assert;
 import org.junit.Test;
 
-import org.houseflys.jdbc.tool.FragmentBuffedReader;
-
 import net.jpountz.lz4.LZ4Compressor;
 import net.jpountz.lz4.LZ4Factory;
 
@@ -55,4 +54,4 @@ public class CompressedBuffedReaderTest {
 
         return data;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/org/houseflys/jdbc/buffer/SocketBuffedReaderTest.java b/src/test/java/com/github/housepower/jdbc/buffer/SocketBuffedReaderTest.java
similarity index 97%
rename from src/test/java/org/houseflys/jdbc/buffer/SocketBuffedReaderTest.java
rename to src/test/java/com/github/housepower/jdbc/buffer/SocketBuffedReaderTest.java
index 85266c6..f66e255 100644
--- a/src/test/java/org/houseflys/jdbc/buffer/SocketBuffedReaderTest.java
+++ b/src/test/java/com/github/housepower/jdbc/buffer/SocketBuffedReaderTest.java
@@ -1,4 +1,4 @@
-package org.houseflys.jdbc.buffer;
+package com.github.housepower.jdbc.buffer;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -54,4 +54,4 @@ public class SocketBuffedReaderTest {
 
         return in;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/org/houseflys/jdbc/tool/FragmentBuffedReader.java b/src/test/java/com/github/housepower/jdbc/tool/FragmentBuffedReader.java
similarity index 92%
rename from src/test/java/org/houseflys/jdbc/tool/FragmentBuffedReader.java
rename to src/test/java/com/github/housepower/jdbc/tool/FragmentBuffedReader.java
index e616a39..aea816f 100644
--- a/src/test/java/org/houseflys/jdbc/tool/FragmentBuffedReader.java
+++ b/src/test/java/com/github/housepower/jdbc/tool/FragmentBuffedReader.java
@@ -1,8 +1,8 @@
-package org.houseflys.jdbc.tool;
+package com.github.housepower.jdbc.tool;
 
 import java.io.IOException;
 
-import org.houseflys.jdbc.buffer.BuffedReader;
+import com.github.housepower.jdbc.buffer.BuffedReader;
 
 public class FragmentBuffedReader implements BuffedReader {