From 4600aac62c781f19be176d172460acdd90587359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E5=B0=91?= Date: Mon, 21 May 2012 16:28:15 +0800 Subject: [PATCH] refactor --- .../com/alibaba/druid/hdriver/HConnection.java | 5 ++++- .../com/alibaba/druid/hdriver/HDriver.java | 2 +- .../druid/hdriver/HPreparedStatement.java | 3 ++- .../com/alibaba/druid/hdriver/HResultSet.java | 3 ++- .../com/alibaba/druid/hdriver/HStatement.java | 6 +++--- .../hdriver/impl/execute/ShowTablesPlan.java | 6 ++++++ .../impl/jdbc/HPreparedStatementImpl.java | 15 +++++++++------ .../hdriver/impl/jdbc/HScannerResultSet.java | 3 +-- .../hdriver/impl/jdbc/HStatementImpl.java | 5 +++++ .../alibaba/druid/util/jdbc/ResultSetBase.java | 18 +++++++++--------- 10 files changed, 42 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/alibaba/druid/hdriver/HConnection.java b/src/main/java/com/alibaba/druid/hdriver/HConnection.java index f33ca3e2b9..bf35951fd7 100644 --- a/src/main/java/com/alibaba/druid/hdriver/HConnection.java +++ b/src/main/java/com/alibaba/druid/hdriver/HConnection.java @@ -1,7 +1,10 @@ package com.alibaba.druid.hdriver; import java.sql.Connection; +import java.sql.SQLException; + +import com.alibaba.druid.hdriver.impl.jdbc.HPreparedStatementImpl; public interface HConnection extends Connection { - + HPreparedStatementImpl prepareStatement(String sql) throws SQLException; } diff --git a/src/main/java/com/alibaba/druid/hdriver/HDriver.java b/src/main/java/com/alibaba/druid/hdriver/HDriver.java index cb36294dbe..693dd982b3 100644 --- a/src/main/java/com/alibaba/druid/hdriver/HDriver.java +++ b/src/main/java/com/alibaba/druid/hdriver/HDriver.java @@ -12,7 +12,7 @@ public class HDriver implements Driver { public static String PREFIX = "jdbc:druid-hbase:"; @Override - public HBaseConnectionImpl connect(String url, Properties info) throws SQLException { + public HConnection connect(String url, Properties info) throws SQLException { if (!acceptsURL(url)) { return null; } diff --git a/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java b/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java index bb4d04b45f..ee6ed68294 100644 --- a/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java +++ b/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java @@ -1,9 +1,10 @@ package com.alibaba.druid.hdriver; import java.sql.PreparedStatement; +import java.sql.SQLException; public interface HPreparedStatement extends PreparedStatement, HStatement { - + public HResultSet executeQuery() throws SQLException; } diff --git a/src/main/java/com/alibaba/druid/hdriver/HResultSet.java b/src/main/java/com/alibaba/druid/hdriver/HResultSet.java index 1605ec692e..779c202c8f 100644 --- a/src/main/java/com/alibaba/druid/hdriver/HResultSet.java +++ b/src/main/java/com/alibaba/druid/hdriver/HResultSet.java @@ -1,8 +1,9 @@ package com.alibaba.druid.hdriver; import java.sql.ResultSet; +import java.sql.SQLException; public interface HResultSet extends ResultSet { - + HStatement getStatement() throws SQLException; } diff --git a/src/main/java/com/alibaba/druid/hdriver/HStatement.java b/src/main/java/com/alibaba/druid/hdriver/HStatement.java index 47c498d365..5245c2eb0e 100644 --- a/src/main/java/com/alibaba/druid/hdriver/HStatement.java +++ b/src/main/java/com/alibaba/druid/hdriver/HStatement.java @@ -3,8 +3,8 @@ package com.alibaba.druid.hdriver; import java.sql.SQLException; import java.sql.Statement; -import com.alibaba.druid.hdriver.impl.jdbc.HBaseConnectionImpl; - public interface HStatement extends Statement { - HBaseConnectionImpl getConnection() throws SQLException; + HConnection getConnection() throws SQLException; + + HResultSet getResultSet() throws SQLException; } diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ShowTablesPlan.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/ShowTablesPlan.java index d39d2bb413..be432ea574 100644 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ShowTablesPlan.java +++ b/src/main/java/com/alibaba/druid/hdriver/impl/execute/ShowTablesPlan.java @@ -9,6 +9,7 @@ import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.HBaseAdmin; import com.alibaba.druid.hdriver.HResultSet; +import com.alibaba.druid.hdriver.HStatement; import com.alibaba.druid.hdriver.impl.jdbc.HPreparedStatementImpl; import com.alibaba.druid.hdriver.impl.jdbc.HResultSetMetaData; import com.alibaba.druid.util.jdbc.ResultSetBase; @@ -169,5 +170,10 @@ public class ShowTablesPlan implements ExecutePlan { @Override public void updateObject(int columnIndex, Object x) throws SQLException { } + + @Override + public HStatement getStatement() throws SQLException { + return (HStatement) statement; + } } } diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HPreparedStatementImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HPreparedStatementImpl.java index 0cc836ab9c..055ad8ddd9 100644 --- a/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HPreparedStatementImpl.java +++ b/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HPreparedStatementImpl.java @@ -1,11 +1,11 @@ package com.alibaba.druid.hdriver.impl.jdbc; -import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import java.util.List; import com.alibaba.druid.hdriver.HPreparedStatement; +import com.alibaba.druid.hdriver.HResultSet; import com.alibaba.druid.hdriver.impl.execute.ExecutePlan; import com.alibaba.druid.hdriver.impl.execute.InsertExecutePlan; import com.alibaba.druid.hdriver.impl.execute.ShowTablesPlan; @@ -29,14 +29,14 @@ import com.alibaba.druid.util.jdbc.ResultSetMetaDataBase.ColumnMetaData; public class HPreparedStatementImpl extends PreparedStatementBase implements HPreparedStatement { - private final String sql; - private String[] columnNames; + private final String sql; + private String[] columnNames; private HBaseConnectionImpl hbaseConnection; - private ExecutePlan executePlan; + private ExecutePlan executePlan; - private String dbType = "hbase"; + private String dbType = "hbase"; public HPreparedStatementImpl(HBaseConnectionImpl conn, String sql) throws SQLException{ super(conn); @@ -145,7 +145,7 @@ public class HPreparedStatementImpl extends PreparedStatementBase implements HPr } @Override - public ResultSet executeQuery() throws SQLException { + public HResultSet executeQuery() throws SQLException { return this.executePlan.executeQuery(this); } @@ -162,4 +162,7 @@ public class HPreparedStatementImpl extends PreparedStatementBase implements HPr return false; } + public HResultSet getResultSet() throws SQLException { + return (HResultSet) super.getResultSet(); + } } diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HScannerResultSet.java b/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HScannerResultSet.java index 19f41532a1..9875f09a07 100644 --- a/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HScannerResultSet.java +++ b/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HScannerResultSet.java @@ -3,7 +3,6 @@ package com.alibaba.druid.hdriver.impl.jdbc; import java.io.IOException; import java.math.BigDecimal; import java.sql.SQLException; -import java.sql.Statement; import java.sql.Types; import org.apache.hadoop.hbase.client.HTableInterface; @@ -44,7 +43,7 @@ public class HScannerResultSet extends ResultSetBase implements HResultSet { } @Override - public Statement getStatement() throws SQLException { + public HStatement getStatement() throws SQLException { return statement; } diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HStatementImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HStatementImpl.java index 87db3e832f..046fd44c31 100644 --- a/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HStatementImpl.java +++ b/src/main/java/com/alibaba/druid/hdriver/impl/jdbc/HStatementImpl.java @@ -3,6 +3,7 @@ package com.alibaba.druid.hdriver.impl.jdbc; import java.sql.SQLException; import java.sql.Statement; +import com.alibaba.druid.hdriver.HResultSet; import com.alibaba.druid.hdriver.HStatement; import com.alibaba.druid.util.jdbc.StatementBase; @@ -23,4 +24,8 @@ public class HStatementImpl extends StatementBase implements Statement, HStateme public void checkOpen() { } + + public HResultSet getResultSet() throws SQLException { + return (HResultSet) super.getResultSet(); + } } diff --git a/src/main/java/com/alibaba/druid/util/jdbc/ResultSetBase.java b/src/main/java/com/alibaba/druid/util/jdbc/ResultSetBase.java index c73e2f9d91..7e354c8409 100644 --- a/src/main/java/com/alibaba/druid/util/jdbc/ResultSetBase.java +++ b/src/main/java/com/alibaba/druid/util/jdbc/ResultSetBase.java @@ -25,14 +25,14 @@ import java.util.Map; public abstract class ResultSetBase implements ResultSet { - protected boolean closed = false; - protected boolean wasNull = false; - private SQLWarning warning; - private String cursorName; - private int fetchSize = 0; - private int fetchDirection = 0; + protected boolean closed = false; + protected boolean wasNull = false; + private SQLWarning warning; + private String cursorName; + private int fetchSize = 0; + private int fetchDirection = 0; - private Statement statement; + protected Statement statement; protected ResultSetMetaData metaData; public ResultSetBase(Statement statement){ @@ -309,7 +309,7 @@ public abstract class ResultSetBase implements ResultSet { String columName = this.getMetaData().getColumnName(columnIndex); return getObject(columName); } - + return null; } @@ -1166,7 +1166,7 @@ public abstract class ResultSetBase implements ResultSet { return 0; } - + @Override public ResultSetMetaData getMetaData() throws SQLException { if (closed) {