diff --git a/src/main/java/com/alibaba/druid/hdriver/HConnection.java b/src/main/java/com/alibaba/druid/hdriver/HConnection.java deleted file mode 100644 index e616982931..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/HConnection.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.alibaba.druid.hdriver; - -import java.sql.Connection; -import java.sql.SQLException; - -import com.alibaba.druid.hdriver.impl.mapping.HMapping; - -public interface HConnection extends Connection { - HPreparedStatement prepareStatement(String sql) throws SQLException; - - HPreparedStatement prepareStatement(String sql, HMapping mapping) throws SQLException; - - HStatement createStatement() throws SQLException;; -} diff --git a/src/main/java/com/alibaba/druid/hdriver/HDriver.java b/src/main/java/com/alibaba/druid/hdriver/HDriver.java deleted file mode 100644 index 446f50dfd7..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/HDriver.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.alibaba.druid.hdriver; - -import java.sql.Driver; -import java.sql.DriverPropertyInfo; -import java.sql.SQLException; -import java.sql.SQLFeatureNotSupportedException; -import java.util.Properties; -import java.util.logging.Logger; - -import com.alibaba.druid.hdriver.impl.HBaseConnectionImpl; -import com.alibaba.druid.hdriver.impl.HEngine; - -public class HDriver implements Driver { - - public static String PREFIX = "jdbc:druid-hbase:"; - - @Override - public HConnection connect(String url, Properties info) throws SQLException { - if (!acceptsURL(url)) { - return null; - } - - String rest = url.substring(PREFIX.length()); - - HEngine engine = HEngine.getHEngine(url, info); - - info.put("hbase.zookeeper.quorum", rest); - - return new HBaseConnectionImpl(engine, info); - } - - @Override - public boolean acceptsURL(String url) throws SQLException { - if (url == null) { - return false; - } - - return url.startsWith(PREFIX); - } - - @Override - public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException { - return null; - } - - @Override - public int getMajorVersion() { - return 0; - } - - @Override - public int getMinorVersion() { - return 0; - } - - @Override - public boolean jdbcCompliant() { - return false; - } - - public Logger getParentLogger() throws SQLFeatureNotSupportedException { - throw new SQLFeatureNotSupportedException(); - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java b/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java deleted file mode 100644 index ee6ed68294..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/HPreparedStatement.java +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index 779c202c8f..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/HResultSet.java +++ /dev/null @@ -1,9 +0,0 @@ -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 deleted file mode 100644 index 5245c2eb0e..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/HStatement.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.alibaba.druid.hdriver; - -import java.sql.SQLException; -import java.sql.Statement; - -public interface HStatement extends Statement { - HConnection getConnection() throws SQLException; - - HResultSet getResultSet() throws SQLException; -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/HBaseConnectionImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/HBaseConnectionImpl.java deleted file mode 100644 index 3da7a85848..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/HBaseConnectionImpl.java +++ /dev/null @@ -1,280 +0,0 @@ -package com.alibaba.druid.hdriver.impl; - -import java.sql.Array; -import java.sql.Blob; -import java.sql.CallableStatement; -import java.sql.Clob; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.NClob; -import java.sql.PreparedStatement; -import java.sql.SQLClientInfoException; -import java.sql.SQLException; -import java.sql.SQLFeatureNotSupportedException; -import java.sql.SQLXML; -import java.sql.Savepoint; -import java.sql.Struct; -import java.util.Map; -import java.util.Properties; -import java.util.concurrent.Executor; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.client.HTableInterface; - -import com.alibaba.druid.hdriver.HConnection; -import com.alibaba.druid.hdriver.HStatement; -import com.alibaba.druid.hdriver.impl.mapping.HMapping; -import com.alibaba.druid.util.jdbc.ConnectionBase; - -public class HBaseConnectionImpl extends ConnectionBase implements HConnection { - - - private final HEngine engine; - - public HBaseConnectionImpl(HEngine engine, Properties info){ - super(engine.getUrl(), info); - this.engine = engine; - - this.setClientInfo(info); - } - - public HEngine getEngine() { - return engine; - } - - @Override - public void close() throws SQLException { - - } - - @Override - public void commit() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public Array createArrayOf(String typeName, Object[] elements) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public Blob createBlob() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public Clob createClob() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public NClob createNClob() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public SQLXML createSQLXML() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public HStatement createStatement() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public HStatement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public HStatement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) - throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public Struct createStruct(String typeName, Object[] attributes) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public Properties getClientInfo() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public String getClientInfo(String name) throws SQLException { - return engine.getConfig().get(name); - } - - @Override - public DatabaseMetaData getMetaData() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public boolean isClosed() throws SQLException { - return false; - } - - @Override - public boolean isValid(int timeout) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public boolean isWrapperFor(Class iface) throws SQLException { - if (iface == Configuration.class) { - return true; - } - - if (iface == Connection.class || iface == HBaseConnectionImpl.class) { - return true; - } - - return false; - } - - @Override - public String nativeSQL(String sql) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public CallableStatement prepareCall(String sql) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, - int resultSetHoldability) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public HPreparedStatementImpl prepareStatement(String sql) throws SQLException { - return prepareStatement(sql, (HMapping) null); - } - - @Override - public HPreparedStatementImpl prepareStatement(String sql, HMapping mapping) throws SQLException { - return new HPreparedStatementImpl(this, sql, mapping); - } - - @Override - public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException { - return prepareStatement(sql); - } - - @Override - public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) - throws SQLException { - return prepareStatement(sql); - } - - @Override - public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, - int resultSetHoldability) throws SQLException { - return prepareStatement(sql); - } - - @Override - public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException { - return prepareStatement(sql); - } - - @Override - public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException { - HPreparedStatementImpl stmt = prepareStatement(sql); - stmt.setColumnNames(columnNames); - return stmt; - } - - @Override - public void releaseSavepoint(Savepoint savepoint) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public void rollback() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public void rollback(Savepoint savepoint) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public void setClientInfo(Properties properties) { - for (Map.Entry entry : properties.entrySet()) { - if (entry.getKey() != null && entry.getValue() != null) { - engine.getConfig().set(entry.getKey().toString(), entry.getValue().toString()); - } - } - } - - @Override - public void setClientInfo(String name, String value) throws SQLClientInfoException { - this.engine.getConfig().set(name, value); - } - - @Override - public Savepoint setSavepoint() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @Override - public Savepoint setSavepoint(String name) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - @SuppressWarnings("unchecked") - @Override - public T unwrap(Class iface) throws SQLException { - if (iface == Configuration.class) { - return (T) engine.getConfig(); - } - - if (iface == HEngine.class) { - return (T) engine; - } - - if (iface == Connection.class || iface == HBaseConnectionImpl.class) { - return (T) this; - } - - return null; - } - - public HTableInterface getHTable(String tableName) { - return engine.getHTable(tableName); - } - - public void setSchema(String schema) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - public String getSchema() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - public void abort(Executor executor) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - - public int getNetworkTimeout() throws SQLException { - throw new SQLFeatureNotSupportedException(); - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/HEngine.java b/src/main/java/com/alibaba/druid/hdriver/impl/HEngine.java deleted file mode 100644 index 00e5857f52..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/HEngine.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.alibaba.druid.hdriver.impl; - -import java.io.IOException; -import java.util.Properties; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.client.HBaseAdmin; -import org.apache.hadoop.hbase.client.HTableInterface; -import org.apache.hadoop.hbase.client.HTablePool; - -import com.alibaba.druid.hdriver.impl.mapping.HMappingTable; -import com.alibaba.druid.support.logging.Log; -import com.alibaba.druid.support.logging.LogFactory; - -public class HEngine { - - private final static Log LOG = LogFactory.getLog(HEngine.class); - - private static ConcurrentMap engines = new ConcurrentHashMap(); - - public static HEngine getHEngine(String url, Properties connectProperties) { - HEngine engine = engines.get(url); - if (engine == null) { - engine = new HEngine(url, connectProperties); - engines.putIfAbsent(url, engine); - engine = engines.get(url); - } - return engine; - } - - // ============================= - - private final String url; - - private HTablePool tablePool; - private int htablePoolMaxSize = 256; - private Configuration config; - private ConcurrentMap mappings = new ConcurrentHashMap(); - - public HEngine(String url, Properties connectProperties){ - super(); - this.url = url; - - config = new Configuration(false); - - if (connectProperties != null) { - String propValue = connectProperties.getProperty("htable.pool.size"); - if (propValue != null) { - try { - htablePoolMaxSize = Integer.parseInt(propValue); - } catch (NumberFormatException ex) { - LOG.error("parse property 'htable.pool.size' error", ex); - } - } - } - } - - public String getUrl() { - return url; - } - - public HTablePool getTablePool() { - return tablePool; - } - - public Configuration getConfig() { - return config; - } - - public ConcurrentMap getMappings() { - return mappings; - } - - public synchronized HTableInterface getHTable(String tableName) { - if (tablePool == null) { - tablePool = new HTablePool(config, htablePoolMaxSize); - } - return tablePool.getTable(tableName); - } - - public HBaseAdmin getHBaseAdmin() throws IOException { - return new HBaseAdmin(this.config); - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/HPreparedStatementImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/HPreparedStatementImpl.java deleted file mode 100644 index dda982a676..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/HPreparedStatementImpl.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.alibaba.druid.hdriver.impl; - -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; -import com.alibaba.druid.hdriver.impl.execute.SingleTableQueryExecutePlan; -import com.alibaba.druid.hdriver.impl.hbql.ast.HBQLShowStatement; -import com.alibaba.druid.hdriver.impl.mapping.HMapping; -import com.alibaba.druid.sql.SQLUtils; -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; -import com.alibaba.druid.sql.ast.statement.SQLExprTableSource; -import com.alibaba.druid.sql.ast.statement.SQLInsertStatement; -import com.alibaba.druid.sql.ast.statement.SQLSelectItem; -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; -import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; -import com.alibaba.druid.sql.visitor.SQLEvalVisitor; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; -import com.alibaba.druid.util.jdbc.PreparedStatementBase; -import com.alibaba.druid.util.jdbc.ResultSetMetaDataBase.ColumnMetaData; - -public class HPreparedStatementImpl extends PreparedStatementBase implements HPreparedStatement { - - private final String sql; - private String[] columnNames; - - private HBaseConnectionImpl hbaseConnection; - - private ExecutePlan executePlan; - - private String dbType = "hbase"; - - private HMapping mapping; - - public HPreparedStatementImpl(HBaseConnectionImpl conn, String sql, HMapping mapping) throws SQLException{ - super(conn); - this.sql = sql; - this.hbaseConnection = conn; - this.mapping = mapping; - - init(); - } - - private void splitCondition(List conditions, SQLExpr expr) { - if (expr instanceof SQLBinaryOpExpr) { - SQLBinaryOpExpr binaryExpr = (SQLBinaryOpExpr) expr; - if (binaryExpr.getOperator() == SQLBinaryOperator.BooleanAnd) { - splitCondition(conditions, binaryExpr.getLeft()); - splitCondition(conditions, binaryExpr.getRight()); - return; - } - } - conditions.add(expr); - } - - public HMapping getMapping() { - return mapping; - } - - public void init() throws SQLException { - List stmtList = SQLUtils.parseStatements(sql, dbType); - - if (stmtList.size() != 1) { - throw new SQLException("not support multi-statement"); - } - - SQLStatement sqlStmt = stmtList.get(0); - if (sqlStmt instanceof SQLSelectStatement) { - SQLSelectStatement selectStmt = (SQLSelectStatement) sqlStmt; - - SQLEvalVisitor evalVisitor = SQLEvalVisitorUtils.createEvalVisitor(dbType); - selectStmt.accept(evalVisitor); - - SQLSelectQueryBlock selectQueryBlock = (SQLSelectQueryBlock) selectStmt.getSelect().getQuery(); - - SQLExprTableSource tableSource = (SQLExprTableSource) selectQueryBlock.getFrom(); - String tableName = ((SQLIdentifierExpr) tableSource.getExpr()).getName(); - - SingleTableQueryExecutePlan singleTableQueryExecuetePlan = new SingleTableQueryExecutePlan(); - singleTableQueryExecuetePlan.setMapping(mapping); - singleTableQueryExecuetePlan.setTableName(tableName); - - splitCondition(singleTableQueryExecuetePlan.getConditions(), selectQueryBlock.getWhere()); - - HResultSetMetaDataImpl resultMetaData = new HResultSetMetaDataImpl(); - for (SQLSelectItem selectItem : selectQueryBlock.getSelectList()) { - ColumnMetaData columnMetaData = new ColumnMetaData(); - if (selectItem.getAlias() != null) { - columnMetaData.setColumnLabel(selectItem.getAlias()); - } - columnMetaData.setColumnName(SQLUtils.toSQLString(selectItem.getExpr(), dbType)); - columnMetaData.setColumnType(Types.BINARY); - resultMetaData.getColumns().add(columnMetaData); - } - singleTableQueryExecuetePlan.setResultMetaData(resultMetaData); - - this.executePlan = singleTableQueryExecuetePlan; - } else if (sqlStmt instanceof SQLInsertStatement) { - SQLInsertStatement insertStmt = (SQLInsertStatement) sqlStmt; - - SQLEvalVisitor evalVisitor = SQLEvalVisitorUtils.createEvalVisitor(dbType); - insertStmt.accept(evalVisitor); - - String tableName = ((SQLIdentifierExpr) insertStmt.getTableSource().getExpr()).getName(); - - InsertExecutePlan insertExecutePlan = new InsertExecutePlan(); - insertExecutePlan.setTableName(tableName); - - for (int i = 0; i < insertStmt.getColumns().size(); ++i) { - SQLExpr columnExpr = insertStmt.getColumns().get(i); - SQLExpr valueExpr = insertStmt.getValues().getValues().get(i); - - String columnName = ((SQLIdentifierExpr) columnExpr).getName(); - insertExecutePlan.getColumns().put(columnName, valueExpr); - } - - this.executePlan = insertExecutePlan; - } else if (sqlStmt instanceof HBQLShowStatement) { - ShowTablesPlan showTablePlan = new ShowTablesPlan(); - this.executePlan = showTablePlan; - } else { - throw new SQLException("TODO"); - } - } - - public ExecutePlan getExecutePlan() { - return executePlan; - } - - public String[] getColumnNames() { - return columnNames; - } - - public void setColumnNames(String[] columnNames) { - this.columnNames = columnNames; - } - - public String getSql() { - return sql; - } - - @Override - public HBaseConnectionImpl getConnection() throws SQLException { - return hbaseConnection; - } - - @Override - public HResultSet executeQuery() throws SQLException { - return this.executePlan.executeQuery(this); - } - - @Override - public int executeUpdate() throws SQLException { - // TODO Auto-generated method stub - return 0; - } - - @Override - public boolean execute() throws SQLException { - this.executePlan.execute(this); - - return false; - } - - public HResultSet getResultSet() throws SQLException { - return (HResultSet) super.getResultSet(); - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/HResultSetMetaDataImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/HResultSetMetaDataImpl.java deleted file mode 100644 index 2174fb7352..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/HResultSetMetaDataImpl.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.alibaba.druid.hdriver.impl; - -import com.alibaba.druid.util.jdbc.ResultSetMetaDataBase; - - -public class HResultSetMetaDataImpl extends ResultSetMetaDataBase { - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/HScannerResultSetImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/HScannerResultSetImpl.java deleted file mode 100644 index d6c28d2b05..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/HScannerResultSetImpl.java +++ /dev/null @@ -1,207 +0,0 @@ -package com.alibaba.druid.hdriver.impl; - -import java.io.IOException; -import java.math.BigDecimal; -import java.sql.SQLException; -import java.sql.Types; - -import org.apache.hadoop.hbase.client.HTableInterface; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.util.Bytes; - -import com.alibaba.druid.hdriver.HResultSet; -import com.alibaba.druid.hdriver.HStatement; -import com.alibaba.druid.hdriver.impl.mapping.HMapping; -import com.alibaba.druid.util.JdbcUtils; -import com.alibaba.druid.util.jdbc.ResultSetBase; -import com.alibaba.druid.util.jdbc.ResultSetMetaDataBase.ColumnMetaData; - -public class HScannerResultSetImpl extends ResultSetBase implements HResultSet { - - private HStatement statement; - private ResultScanner scanner; - private HTableInterface htable; - private Result result; - private byte[] family = Bytes.toBytes("d"); - - private HMapping mapping; - - public HScannerResultSetImpl(HStatement statement, HTableInterface htable, ResultScanner scanner){ - super(statement); - this.statement = statement; - this.htable = htable; - this.scanner = scanner; - } - - public HMapping getMapping() { - return mapping; - } - - public void setMapping(HMapping mapping) { - this.mapping = mapping; - } - - @Override - public HStatement getStatement() throws SQLException { - return statement; - } - - @Override - public boolean next() throws SQLException { - try { - result = scanner.next(); - return result != null && !result.isEmpty(); - } catch (IOException ex) { - throw new SQLException("read next error", ex); - } - } - - @Override - public HResultSetMetaDataImpl getMetaData() throws SQLException { - return (HResultSetMetaDataImpl) metaData; - } - - public void setMetaData(HResultSetMetaDataImpl metaData) { - this.metaData = metaData; - } - - @Override - public boolean previous() throws SQLException { - return false; - } - - @Override - public void updateObject(int columnIndex, Object x) throws SQLException { - } - - @Override - public Object getObjectInternal(int columnIndex) throws SQLException { - ColumnMetaData column = this.getMetaData().getColumn(columnIndex); - return getObjectInternal(column.getColumnName(), column.getColumnType()); - } - - public Object getObjectInternal(String columnName, int type) throws SQLException { - byte[] bytes = getBytes(columnName); - switch (type) { - case Types.TINYINT: - return bytes[0]; - case Types.SMALLINT: - return Bytes.toShort(bytes); - case Types.INTEGER: - return Bytes.toInt(bytes); - case Types.BIGINT: - return Bytes.toLong(bytes); - case Types.DECIMAL: - return Bytes.toBigDecimal(bytes); - case Types.BOOLEAN: - return Bytes.toBoolean(bytes); - case Types.VARCHAR: - case Types.CHAR: - case Types.NCHAR: - case Types.NVARCHAR: - return Bytes.toString(bytes); - case Types.DATE: - return new java.sql.Date(Bytes.toLong(bytes)); - case Types.TIMESTAMP: - return new java.sql.Timestamp(Bytes.toLong(bytes)); - case Types.NULL: - case Types.VARBINARY: - case Types.BINARY: - case Types.ROWID: - default: - return bytes; - } - } - - @Override - public String getString(int columnIndex) throws SQLException { - byte[] bytes = getBytes(columnIndex); - return Bytes.toString(bytes); - } - - @Override - public String getString(String columnName) throws SQLException { - byte[] bytes = getBytes(columnName); - return Bytes.toString(bytes); - } - - @Override - public byte[] getBytes(int columnIndex) throws SQLException { - ColumnMetaData column = this.getMetaData().getColumn(columnIndex); - return getBytes(column.getColumnName()); - } - - public byte[] getBytes(String columnName) throws SQLException { - if ("@ROW".equals(columnName)) { - return result.getRow(); - } - - if ("id".equals(columnName)) { // TODO - return result.getRow(); - } - - byte[] qualifier = Bytes.toBytes(columnName); - byte[] value = result.getValue(family, qualifier); - - this.wasNull = value == null; - - return value; - } - - @Override - public int getInt(String columnName) throws SQLException { - byte[] bytes = getBytes(columnName); - - if (bytes == null) { - return 0; - } - - return Bytes.toInt(bytes); - } - - @Override - public int getInt(int columnIndex) throws SQLException { - byte[] bytes = getBytes(columnIndex); - - if (bytes == null) { - return 0; - } - - return Bytes.toInt(bytes); - } - - @Override - public BigDecimal getBigDecimal(String columnName) throws SQLException { - byte[] bytes = getBytes(columnName); - - if (bytes == null) { - return null; - } - - return Bytes.toBigDecimal(bytes); - } - - @Override - public BigDecimal getBigDecimal(int columnIndex) throws SQLException { - byte[] bytes = getBytes(columnIndex); - - if (bytes == null) { - return null; - } - - return Bytes.toBigDecimal(bytes); - } - - @Override - public void close() throws SQLException { - JdbcUtils.close(scanner); - try { - htable.close(); - } catch (Exception ex) { - throw new SQLException("close error", ex); - } - super.close(); - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/HStatementImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/HStatementImpl.java deleted file mode 100644 index 05be498b2d..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/HStatementImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.alibaba.druid.hdriver.impl; - -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; - -public class HStatementImpl extends StatementBase implements Statement, HStatement { - - private HBaseConnectionImpl conn; - - public HStatementImpl(HBaseConnectionImpl conn){ - super(conn); - this.conn = conn; - } - - @Override - public HBaseConnectionImpl getConnection() throws SQLException { - return conn; - } - - public void checkOpen() { - - } - - public HResultSet getResultSet() throws SQLException { - return (HResultSet) super.getResultSet(); - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ExecutePlan.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/ExecutePlan.java deleted file mode 100644 index 4c3aef0eab..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ExecutePlan.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.alibaba.druid.hdriver.impl.execute; - -import java.sql.SQLException; - -import com.alibaba.druid.hdriver.HResultSet; -import com.alibaba.druid.hdriver.impl.HPreparedStatementImpl; - -public interface ExecutePlan { - - HResultSet executeQuery(HPreparedStatementImpl statement) throws SQLException; - - boolean execute(HPreparedStatementImpl statement) throws SQLException; -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ExecutePlanAdapter.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/ExecutePlanAdapter.java deleted file mode 100644 index 3efe83bea1..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ExecutePlanAdapter.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.alibaba.druid.hdriver.impl.execute; - -import java.sql.SQLException; - -import com.alibaba.druid.hdriver.HResultSet; -import com.alibaba.druid.hdriver.impl.HPreparedStatementImpl; - -public class ExecutePlanAdapter implements ExecutePlan { - - @Override - public HResultSet executeQuery(HPreparedStatementImpl statement) throws SQLException { - throw new UnsupportedOperationException(); - } - - @Override - public boolean execute(HPreparedStatementImpl statement) throws SQLException { - throw new UnsupportedOperationException(); - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/execute/InsertExecutePlan.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/InsertExecutePlan.java deleted file mode 100644 index 77b3e03438..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/InsertExecutePlan.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.alibaba.druid.hdriver.impl.execute; - -import java.sql.SQLException; -import java.util.LinkedHashMap; -import java.util.Map; - -import org.apache.hadoop.hbase.client.HTableInterface; -import org.apache.hadoop.hbase.client.Put; - -import com.alibaba.druid.hdriver.impl.HBaseConnectionImpl; -import com.alibaba.druid.hdriver.impl.HPreparedStatementImpl; -import com.alibaba.druid.hdriver.impl.mapping.HMapping; -import com.alibaba.druid.hdriver.impl.mapping.HMappingDefaultImpl; -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; - -public class InsertExecutePlan extends SingleTableExecutePlan { - - private Map columns = new LinkedHashMap(); - - @Override - public boolean execute(HPreparedStatementImpl statement) throws SQLException { - try { - HMapping mapping = this.getMapping(); - if (mapping == null) { - mapping = new HMappingDefaultImpl(); - } - - HBaseConnectionImpl connection = statement.getConnection(); - String dbType = connection.getConnectProperties().getProperty("dbType"); - - Put put = null; - for (Map.Entry entry : columns.entrySet()) { - String column = entry.getKey(); - SQLExpr valueExpr = entry.getValue(); - - Object value = SQLEvalVisitorUtils.eval(dbType, valueExpr, statement.getParameters()); - - if (value == null) { - continue; - } - - byte[] bytes = mapping.toBytes(column, value); - - if (mapping.isRow(column)) { - put = new Put(bytes); - } else { - byte[] family = mapping.getFamily(column); - byte[] qualifier = mapping.getQualifier(column); - put.add(family, qualifier, bytes); - } - } - - HTableInterface htable = connection.getHTable(getTableName()); - htable.put(put); - - return false; - } catch (SQLException e) { - throw e; - } catch (Exception e) { - throw new SQLException("executeQuery error", e); - } - } - - public Map getColumns() { - return columns; - } - - public void setColumns(Map columns) { - this.columns = columns; - } - -} 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 deleted file mode 100644 index 5dbace6a1d..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/ShowTablesPlan.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.alibaba.druid.hdriver.impl.execute; - -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Types; - -import org.apache.hadoop.hbase.HColumnDescriptor; -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.HPreparedStatementImpl; -import com.alibaba.druid.hdriver.impl.HResultSetMetaDataImpl; -import com.alibaba.druid.util.jdbc.ResultSetBase; -import com.alibaba.druid.util.jdbc.ResultSetMetaDataBase.ColumnMetaData; - -public class ShowTablesPlan implements ExecutePlan { - - @Override - public HResultSet executeQuery(HPreparedStatementImpl statement) throws SQLException { - try { - HBaseAdmin admin = statement.getConnection().getEngine().getHBaseAdmin(); - - HTableDescriptor[] tables = admin.listTables(); - - return new ShowTableResultSet(statement, tables); - } catch (SQLException e) { - throw e; - } catch (Exception e) { - throw new SQLException("executeQuery error", e); - } - } - - @Override - public boolean execute(HPreparedStatementImpl statement) throws SQLException { - HResultSet resultSet = executeQuery(statement); - statement.setResultSet(resultSet); - return true; - } - - public static class ShowTableResultSet extends ResultSetBase implements HResultSet { - - private final HTableDescriptor[] tables; - private int rowIndex = -1; - - public ShowTableResultSet(Statement statement, HTableDescriptor[] tables){ - super(statement); - this.tables = tables; - - HResultSetMetaDataImpl metaData = new HResultSetMetaDataImpl(); - { - ColumnMetaData column = new ColumnMetaData(); - column.setColumnName("name"); - column.setColumnType(Types.VARCHAR); - column.setColumnTypeName("VARCHAR"); - metaData.getColumns().add(column); - } - { - ColumnMetaData column = new ColumnMetaData(); - column.setColumnName("owner"); - column.setColumnType(Types.VARCHAR); - column.setColumnTypeName("VARCHAR"); - metaData.getColumns().add(column); - } - { - ColumnMetaData column = new ColumnMetaData(); - column.setColumnName("familys"); - column.setColumnType(Types.VARCHAR); - column.setColumnTypeName("VARCHAR"); - metaData.getColumns().add(column); - } - { - ColumnMetaData column = new ColumnMetaData(); - column.setColumnName("maxFileSize"); - column.setColumnType(Types.BIGINT); - column.setColumnTypeName("long"); - metaData.getColumns().add(column); - } - { - ColumnMetaData column = new ColumnMetaData(); - column.setColumnName("memStoreFlushSize"); - column.setColumnType(Types.BIGINT); - column.setColumnTypeName("long"); - metaData.getColumns().add(column); - } - { - ColumnMetaData column = new ColumnMetaData(); - column.setColumnName("regionSplitPolicyClassName"); - column.setColumnType(Types.VARCHAR); - column.setColumnTypeName("VARCHAR"); - metaData.getColumns().add(column); - } - this.metaData = metaData; - } - - @Override - public synchronized boolean next() throws SQLException { - if (closed) { - throw new SQLException(); - } - - if (rowIndex < tables.length - 1) { - rowIndex++; - return true; - } - return false; - } - - @Override - public synchronized boolean previous() throws SQLException { - if (closed) { - throw new SQLException(); - } - - if (rowIndex > 0) { - rowIndex--; - return true; - } - return false; - } - - public String getString(String columnName) { - return (String) getObject(columnName); - } - - public Object getObject(String columnName) { - HTableDescriptor table = tables[rowIndex]; - - if ("name".equals(columnName)) { - return table.getNameAsString(); - } - - if ("owner".equals(columnName)) { - return table.getOwnerString(); - } - - if ("familys".equals(columnName)) { - StringBuffer buf = new StringBuffer(); - for (HColumnDescriptor column : table.getFamilies()) { - if (buf.length() != 0) { - buf.append(','); - } - buf.append(column.getNameAsString()); - } - return buf.toString(); - } - - if ("maxFileSize".equals(columnName)) { - return table.getMaxFileSize(); - } - - if ("memStoreFlushSize".equals(columnName)) { - return table.getMemStoreFlushSize(); - } - - if ("regionSplitPolicyClassName".equals(columnName)) { - return table.getRegionSplitPolicyClassName(); - } - - return null; - } - - @Override - public int findColumn(String columnName) throws SQLException { - HResultSetMetaDataImpl meta = (HResultSetMetaDataImpl) this.metaData; - return meta.findColumn(columnName); - } - - @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/execute/SingleTableExecutePlan.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableExecutePlan.java deleted file mode 100644 index 87fb78b2ac..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableExecutePlan.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.alibaba.druid.hdriver.impl.execute; - -import com.alibaba.druid.hdriver.impl.mapping.HMapping; -import com.alibaba.druid.hdriver.impl.mapping.HMappingDefaultImpl; - -public class SingleTableExecutePlan extends ExecutePlanAdapter { - - private String tableName; - - private HMapping mapping; - - public String getTableName() { - return tableName; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - - public HMapping getMapping() { - HMapping mapping = this.mapping; - if (mapping == null) { - mapping = new HMappingDefaultImpl(); - } - return mapping; - } - - public void setMapping(HMapping mapping) { - this.mapping = mapping; - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java deleted file mode 100644 index 329f1e824f..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.alibaba.druid.hdriver.impl.execute; - -import java.io.IOException; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import org.apache.hadoop.hbase.client.HTableInterface; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.filter.BinaryComparator; -import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; -import org.apache.hadoop.hbase.filter.Filter; -import org.apache.hadoop.hbase.filter.FilterList; -import org.apache.hadoop.hbase.filter.RowFilter; -import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; - -import com.alibaba.druid.hdriver.impl.HBaseConnectionImpl; -import com.alibaba.druid.hdriver.impl.HPreparedStatementImpl; -import com.alibaba.druid.hdriver.impl.HResultSetMetaDataImpl; -import com.alibaba.druid.hdriver.impl.HScannerResultSetImpl; -import com.alibaba.druid.hdriver.impl.mapping.HMapping; -import com.alibaba.druid.hdriver.impl.mapping.HMappingDefaultImpl; -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; - -public class SingleTableQueryExecutePlan extends SingleTableExecutePlan { - - private List columeNames = new ArrayList(); - private List conditions = new ArrayList(); - - private HResultSetMetaDataImpl resultMetaData; - - private String dbType = "hbase"; - - private Scan scan; - private HPreparedStatementImpl statement; - - public SingleTableQueryExecutePlan(){ - - } - - public List getConditions() { - return conditions; - } - - public void setConditions(List conditions) { - this.conditions = conditions; - } - - public List getColumeNames() { - return columeNames; - } - - public HResultSetMetaDataImpl getResultMetaData() { - return resultMetaData; - } - - public void setResultMetaData(HResultSetMetaDataImpl resultMetaData) { - this.resultMetaData = resultMetaData; - } - - @Override - public HScannerResultSetImpl executeQuery(HPreparedStatementImpl statement) throws SQLException { - try { - HMapping mapping = this.getMapping(); - if (mapping == null) { - mapping = new HMappingDefaultImpl(); - } - - HBaseConnectionImpl connection = statement.getConnection(); - - scan = new Scan(); - this.statement = statement; - - Filter filter = null; - for (SQLExpr item : conditions) { - SQLBinaryOpExpr condition = (SQLBinaryOpExpr) item; - filter = setFilter(condition, filter, true); - } - if (filter != null) { - scan.setFilter(filter); - } - - HTableInterface htable = connection.getHTable(getTableName()); - ResultScanner scanner = htable.getScanner(scan); - - HScannerResultSetImpl resultSet = new HScannerResultSetImpl(statement, htable, scanner); - resultSet.setMetaData(resultMetaData); - - return resultSet; - } catch (SQLException e) { - throw e; - } catch (Exception e) { - throw new SQLException("executeQuery error", e); - } finally { - scan = null; - this.statement = null; - } - } - - private Filter setFilter(SQLBinaryOpExpr condition, Filter filter, boolean and) throws IOException, SQLException { - HMapping mapping = this.getMapping(); - - if (condition.getOperator() == SQLBinaryOperator.BooleanAnd) { - filter = setFilter((SQLBinaryOpExpr) condition.getLeft(), filter, true); - filter = setFilter((SQLBinaryOpExpr) condition.getRight(), filter, true); - return filter; - } else if (condition.getOperator() == SQLBinaryOperator.BooleanOr) { - filter = setFilter((SQLBinaryOpExpr) condition.getLeft(), filter, false); - filter = setFilter((SQLBinaryOpExpr) condition.getRight(), filter, false); - return filter; - } - - String fieldName = ((SQLIdentifierExpr) condition.getLeft()).getName(); - Object value = SQLEvalVisitorUtils.eval(dbType, condition.getRight(), statement.getParameters()); - - byte[] bytes = mapping.toBytes(fieldName, value); - if (mapping.isRow(fieldName)) { - if (filter == null && condition.getOperator() == SQLBinaryOperator.GreaterThanOrEqual) { - scan.setStartRow(bytes); - return null; - } else if (filter == null && condition.getOperator() == SQLBinaryOperator.LessThan) { - scan.setStopRow(bytes); - return null; - } else { - CompareOp compareOp = toCompareOp(condition.getOperator()); - RowFilter rowFilter = new RowFilter(compareOp, new BinaryComparator(bytes)); - - return setFilter(filter, rowFilter, and); - } - } else { - byte[] qualifier = mapping.getQualifier(fieldName); - byte[] family = mapping.getFamily(fieldName); - - CompareOp compareOp = toCompareOp(condition.getOperator()); - - SingleColumnValueFilter columnFilter = new SingleColumnValueFilter(family, qualifier, compareOp, bytes); - return setFilter(filter, columnFilter, and); - } - - } - - CompareOp toCompareOp(SQLBinaryOperator operator) { - switch (operator) { - case Equality: - return CompareOp.EQUAL; - case NotEqual: - return CompareOp.NOT_EQUAL; - case GreaterThan: - return CompareOp.GREATER; - case GreaterThanOrEqual: - return CompareOp.GREATER_OR_EQUAL; - case LessThan: - return CompareOp.LESS; - case LessThanOrEqual: - return CompareOp.LESS_OR_EQUAL; - default: - throw new UnsupportedOperationException("TODO"); - } - } - - Filter setFilter(Filter parentFilter, Filter filter, boolean and) { - if (parentFilter == null) { - return filter; - } else if (parentFilter instanceof FilterList) { - FilterList filterList = (FilterList) parentFilter; - if (and) { - if (filterList.getOperator() == FilterList.Operator.MUST_PASS_ALL) { - filterList.addFilter(filter); - return filterList; - } else { - return new FilterList(FilterList.Operator.MUST_PASS_ALL, parentFilter, filter); - } - } else { - if (filterList.getOperator() == FilterList.Operator.MUST_PASS_ONE) { - filterList.addFilter(filter); - return filterList; - } else { - return new FilterList(FilterList.Operator.MUST_PASS_ONE, parentFilter, filter); - } - } - } else { - List filters = new ArrayList(); - filters.add(parentFilter); - filters.add(filter); - - FilterList.Operator filterOp = and ? FilterList.Operator.MUST_PASS_ALL : FilterList.Operator.MUST_PASS_ONE; - return new FilterList(filterOp, filters); - } - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLCreateMappingStatement.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLCreateMappingStatement.java deleted file mode 100644 index a124396918..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLCreateMappingStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.hdriver.impl.mapping.HMappingTable; -import com.alibaba.druid.sql.ast.SQLStatementImpl; - -public class HBQLCreateMappingStatement extends SQLStatementImpl implements HBQLStatement { - - private static final long serialVersionUID = 1L; - - private HMappingTable mapping = new HMappingTable(); - - public HMappingTable getMapping() { - return mapping; - } - - public void setMapping(HMappingTable mapping) { - this.mapping = mapping; - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLCreateTableStatement.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLCreateTableStatement.java deleted file mode 100644 index bc3d1aee6f..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLCreateTableStatement.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement; - -public class HBQLCreateTableStatement extends SQLCreateTableStatement { - - private static final long serialVersionUID = 1L; - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLFamilyDefinition.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLFamilyDefinition.java deleted file mode 100644 index 851d503cc2..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLFamilyDefinition.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.sql.ast.SQLObjectImpl; -import com.alibaba.druid.sql.ast.statement.SQLTableElement; -import com.alibaba.druid.sql.visitor.SQLASTVisitor; - -public class HBQLFamilyDefinition extends SQLObjectImpl implements SQLTableElement { - - private static final long serialVersionUID = 1L; - - private String columnName; - - private Integer blockSize; - private Integer minVersions; - private Integer maxVersions; - private String compressionType; - private String compactionCompressionType; - private Boolean inMemory; - private Integer timeToLive; - private Boolean blockCacheEnabled; - private String bloomFilterType; - - @Override - protected void accept0(SQLASTVisitor visitor) { - - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String columnName) { - this.columnName = columnName; - } - - public Integer getBlockSize() { - return blockSize; - } - - public void setBlockSize(Integer blockSize) { - this.blockSize = blockSize; - } - - public Integer getMinVersions() { - return minVersions; - } - - public void setMinVersions(Integer minVersions) { - this.minVersions = minVersions; - } - - public Integer getMaxVersions() { - return maxVersions; - } - - public void setMaxVersions(Integer maxVersions) { - this.maxVersions = maxVersions; - } - - public String getCompressionType() { - return compressionType; - } - - public void setCompressionType(String compressionType) { - this.compressionType = compressionType; - } - - public String getCompactionCompressionType() { - return compactionCompressionType; - } - - public void setCompactionCompressionType(String compactionCompressionType) { - this.compactionCompressionType = compactionCompressionType; - } - - public Boolean getInMemory() { - return inMemory; - } - - public void setInMemory(Boolean inMemory) { - this.inMemory = inMemory; - } - - public Integer getTimeToLive() { - return timeToLive; - } - - public void setTimeToLive(Integer timeToLive) { - this.timeToLive = timeToLive; - } - - public Boolean getBlockCacheEnabled() { - return blockCacheEnabled; - } - - public void setBlockCacheEnabled(Boolean blockCacheEnabled) { - this.blockCacheEnabled = blockCacheEnabled; - } - - public String getBloomFilterType() { - return bloomFilterType; - } - - public void setBloomFilterType(String bloomFilterType) { - this.bloomFilterType = bloomFilterType; - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLSelectQueryBlock.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLSelectQueryBlock.java deleted file mode 100644 index caedd8530f..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLSelectQueryBlock.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; - -public class HBQLSelectQueryBlock extends SQLSelectQueryBlock { - - /** - * - */ - private static final long serialVersionUID = 1L; - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLShowStatement.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLShowStatement.java deleted file mode 100644 index 30b67a6328..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLShowStatement.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.hdriver.impl.hbql.visitor.HBQLVisitor; - -public class HBQLShowStatement extends HBQLStatementImpl { - - /** - * - */ - private static final long serialVersionUID = 1L; - - public void accept0(HBQLVisitor visitor) { - visitor.visit(this); - visitor.endVisit(this); - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLStatement.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLStatement.java deleted file mode 100644 index 99cfb05f34..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLStatement.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.sql.ast.SQLStatement; - - -public interface HBQLStatement extends SQLStatement { - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLStatementImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLStatementImpl.java deleted file mode 100644 index 466346836b..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/ast/HBQLStatementImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.ast; - -import com.alibaba.druid.hdriver.impl.hbql.visitor.HBQLVisitor; -import com.alibaba.druid.sql.ast.SQLStatementImpl; -import com.alibaba.druid.sql.visitor.SQLASTVisitor; - -public class HBQLStatementImpl extends SQLStatementImpl { - - private static final long serialVersionUID = 1L; - - @Override - protected void accept0(SQLASTVisitor visitor) { - if (visitor instanceof HBQLVisitor) { - accept0((HBQLVisitor) visitor); - } else { - throw new IllegalArgumentException("not support visitor type : " + visitor.getClass().getName()); - } - } - - public void accept0(HBQLVisitor visitor) { - throw new UnsupportedOperationException(this.getClass().getName()); - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLExprParser.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLExprParser.java deleted file mode 100644 index 9d8657d3da..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLExprParser.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.parser; - -import com.alibaba.druid.sql.parser.Lexer; -import com.alibaba.druid.sql.parser.ParserException; -import com.alibaba.druid.sql.parser.SQLExprParser; - -public class HBQLExprParser extends SQLExprParser { - - public HBQLExprParser(String sql) throws ParserException{ - super(new HBQLLexer(sql)); - this.lexer.nextToken(); - } - - public HBQLExprParser(Lexer lexer){ - super(lexer); - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLLexer.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLLexer.java deleted file mode 100644 index 680471a2c0..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLLexer.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.parser; - -import java.util.HashMap; -import java.util.Map; - -import com.alibaba.druid.sql.parser.Keywords; -import com.alibaba.druid.sql.parser.Lexer; -import com.alibaba.druid.sql.parser.Token; - -public class HBQLLexer extends Lexer { - - public final static Keywords DEFAULT_HBQL_KEYWORDS; - - static { - Map map = new HashMap(); - map.put("EXISTS", Token.EXISTS); - map.put("THEN", Token.THEN); - map.put("AS", Token.AS); - map.put("GROUP", Token.GROUP); - map.put("BY", Token.BY); - map.put("HAVING", Token.HAVING); - map.put("DELETE", Token.DELETE); - map.put("ORDER", Token.ORDER); - map.put("INDEX", Token.INDEX); - map.put("FOR", Token.FOR); - map.put("SCHEMA", Token.SCHEMA); - map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCES", Token.REFERENCES); - map.put("CHECK", Token.CHECK); - map.put("PRIMARY", Token.PRIMARY); - map.put("KEY", Token.KEY); - map.put("CONSTRAINT", Token.CONSTRAINT); - map.put("DEFAULT", Token.DEFAULT); - map.put("VIEW", Token.VIEW); - map.put("CREATE", Token.CREATE); - map.put("VALUES", Token.VALUES); - map.put("ALTER", Token.ALTER); - map.put("TABLE", Token.TABLE); - map.put("DROP", Token.DROP); - map.put("SET", Token.SET); - map.put("INTO", Token.INTO); - map.put("UPDATE", Token.UPDATE); - map.put("NULL", Token.NULL); - map.put("IS", Token.IS); - map.put("NOT", Token.NOT); - map.put("SELECT", Token.SELECT); - map.put("INSERT", Token.INSERT); - map.put("FROM", Token.FROM); - map.put("WHERE", Token.WHERE); - map.put("AND", Token.AND); - map.put("OR", Token.OR); - map.put("XOR", Token.XOR); - map.put("DISTINCT", Token.DISTINCT); - map.put("UNIQUE", Token.UNIQUE); - map.put("ALL", Token.ALL); - map.put("UNION", Token.UNION); - map.put("INTERSECT", Token.INTERSECT); - map.put("MINUS", Token.MINUS); - map.put("INNER", Token.INNER); - map.put("LEFT", Token.LEFT); - map.put("RIGHT", Token.RIGHT); - map.put("FULL", Token.FULL); - map.put("ON", Token.ON); - map.put("OUTER", Token.OUTER); - map.put("JOIN", Token.JOIN); - map.put("NEW", Token.NEW); - map.put("CASE", Token.CASE); - map.put("WHEN", Token.WHEN); - map.put("END", Token.END); - map.put("WHEN", Token.WHEN); - map.put("ELSE", Token.ELSE); - map.put("EXISTS", Token.EXISTS); - map.put("CAST", Token.CAST); - map.put("IN", Token.IN); - map.put("ASC", Token.ASC); - map.put("DESC", Token.DESC); - map.put("LIKE", Token.LIKE); - map.put("ESCAPE", Token.ESCAPE); - map.put("BETWEEN", Token.BETWEEN); - map.put("INTERVAL", Token.INTERVAL); - map.put("LOCK", Token.LOCK); - map.put("SOME", Token.SOME); - map.put("ANY", Token.ANY); - map.put("TRUNCATE", Token.TRUNCATE); - map.put("IF", Token.IF); - - map.put("TRUE", Token.TRUE); - map.put("FALSE", Token.FALSE); - map.put("LIMIT", Token.LIMIT); - - DEFAULT_HBQL_KEYWORDS = new Keywords(map); - } - - public HBQLLexer(String input){ - super(input); - super.keywods = DEFAULT_HBQL_KEYWORDS; - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLStatementParser.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLStatementParser.java deleted file mode 100644 index 3f394baaf8..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/parser/HBQLStatementParser.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.parser; - -import com.alibaba.druid.hdriver.impl.hbql.ast.HBQLShowStatement; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.parser.SQLExprParser; -import com.alibaba.druid.sql.parser.SQLStatementParser; - - -public class HBQLStatementParser extends SQLStatementParser { - protected SQLExprParser exprParser; - - public HBQLStatementParser(String sql){ - super(new HBQLExprParser(sql)); - } - - public HBQLStatementParser(SQLExprParser exprParser){ - super(exprParser); - } - - public SQLStatement parseShow() { - acceptIdentifier("SHOW"); - acceptIdentifier("TABLES"); - return new HBQLShowStatement(); - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/visitor/HBQLOutputVisitor.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/visitor/HBQLOutputVisitor.java deleted file mode 100644 index 187bb8cfde..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/visitor/HBQLOutputVisitor.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.visitor; - -import com.alibaba.druid.hdriver.impl.hbql.ast.HBQLShowStatement; -import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor; - - -public class HBQLOutputVisitor extends SQLASTOutputVisitor implements HBQLVisitor { - - public HBQLOutputVisitor(Appendable appender){ - super(appender); - } - - @Override - public void endVisit(HBQLShowStatement x) { - - } - - @Override - public boolean visit(HBQLShowStatement x) { - print("SHOW TABLES"); - return false; - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/visitor/HBQLVisitor.java b/src/main/java/com/alibaba/druid/hdriver/impl/hbql/visitor/HBQLVisitor.java deleted file mode 100644 index 5804a1b10f..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/hbql/visitor/HBQLVisitor.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.alibaba.druid.hdriver.impl.hbql.visitor; - -import com.alibaba.druid.hdriver.impl.hbql.ast.HBQLShowStatement; -import com.alibaba.druid.sql.visitor.SQLASTVisitor; - -public interface HBQLVisitor extends SQLASTVisitor { - - void endVisit(HBQLShowStatement x); - - boolean visit(HBQLShowStatement x); -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMapping.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMapping.java deleted file mode 100644 index a50fe24759..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMapping.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.alibaba.druid.hdriver.impl.mapping; - -import java.io.IOException; - -import org.apache.hadoop.hbase.client.Result; - -public interface HMapping { - - byte[] getFamily(String columnName); - - byte[] getQualifier(String columnName); - - byte[] getRow(Result result, String columnName); - - boolean isRow(String columnName); - - Object getObject(Result result, String columnName); - - byte[] toBytes(String columnName, Object value) throws IOException; -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java deleted file mode 100644 index 32b4ce501a..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.alibaba.druid.hdriver.impl.mapping; - -import java.io.IOException; -import java.math.BigDecimal; - -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.util.Bytes; - -public abstract class HMappingAdapter implements HMapping { - - @Override - public byte[] getQualifier(String columnName) { - return Bytes.toBytes(columnName); - } - - @Override - public byte[] getRow(Result result, String columnName) { - return result.getRow(); - } - - @Override - public Object getObject(Result result, String columnName) { - byte[] family = this.getFamily(columnName); - - byte[] bytes; - if (isRow(columnName)) { - bytes = getRow(result, columnName); - } else { - byte[] qualifier = Bytes.toBytes(columnName); - bytes = result.getValue(family, qualifier); - } - - return bytes; - } - - @Override - public byte[] toBytes(String columnName, Object value) throws IOException { - if (value == null) { - return null; - } - - byte[] bytes; - if (value instanceof String) { - String strValue = (String) value; - bytes = Bytes.toBytes(strValue); - } else if (value instanceof Integer) { - int intValue = ((Integer) value).intValue(); - bytes = Bytes.toBytes(intValue); - } else if (value instanceof Long) { - long longValue = ((Long) value).longValue(); - bytes = Bytes.toBytes(longValue); - } else if (value instanceof Boolean) { - boolean booleanValue = ((Boolean) value).booleanValue(); - bytes = Bytes.toBytes(booleanValue); - } else if (value instanceof BigDecimal) { - BigDecimal decimalValue = (BigDecimal) value; - bytes = Bytes.toBytes(decimalValue); - } else { - throw new IOException("TODO"); // TODO - } - - return bytes; - } -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingColumn.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingColumn.java deleted file mode 100644 index 07468d26b9..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingColumn.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.alibaba.druid.hdriver.impl.mapping; - -public class HMappingColumn { - - private String name; - private Class type; - private transient boolean key = false; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Class getType() { - return type; - } - - public void setType(Class type) { - this.type = type; - } - - public boolean isKey() { - return key; - } - - public void setKey(boolean key) { - this.key = key; - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java deleted file mode 100644 index f51b17b78a..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.alibaba.druid.hdriver.impl.mapping; - -import org.apache.hadoop.hbase.util.Bytes; - -public class HMappingDefaultImpl extends HMappingAdapter implements HMapping { - - private byte[] family = Bytes.toBytes("d"); - private String rowColumn = "id"; - - public byte[] getFamily() { - return family; - } - - public void setFamily(byte[] family) { - this.family = family; - } - - public String getRowColumn() { - return rowColumn; - } - - public void setRowColumn(String rowColumn) { - this.rowColumn = rowColumn; - } - - public byte[] getFamily(String columnName) { - return family; - } - - @Override - public boolean isRow(String columnName) { - if (rowColumn.equals(columnName)) { - return true; - } - - return false; - } - -} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingTable.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingTable.java deleted file mode 100644 index 0eb33e35b4..0000000000 --- a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingTable.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.alibaba.druid.hdriver.impl.mapping; - -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.Map; - -public class HMappingTable { - - private String tableName; - - private Map columns = new LinkedHashMap(); - private HMappingColumn keyColumn; - - public String getTableName() { - return tableName; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - - public Collection getColumns() { - return Collections.unmodifiableCollection(columns.values()); - } - - public void addColumn(HMappingColumn column) { - this.columns.put(column.getName(), column); - } - - public HMappingColumn getColumn(String columnName) { - return columns.get(columnName); - } - - public HMappingColumn getKeyColumn() { - return keyColumn; - } - - public void setKeyColumn(HMappingColumn keyColumn) { - keyColumn.setKey(true); - this.keyColumn = keyColumn; - } - -} diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLParserUtils.java b/src/main/java/com/alibaba/druid/sql/parser/SQLParserUtils.java index 9c5203578c..f3b8f102a7 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLParserUtils.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLParserUtils.java @@ -1,7 +1,5 @@ package com.alibaba.druid.sql.parser; -import com.alibaba.druid.hdriver.impl.hbql.parser.HBQLExprParser; -import com.alibaba.druid.hdriver.impl.hbql.parser.HBQLStatementParser; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser; @@ -31,10 +29,6 @@ public class SQLParserUtils { return new SQLServerStatementParser(sql); } - if (JdbcUtils.HBASE.equals(dbType)) { - return new HBQLStatementParser(sql); - } - return new SQLStatementParser(sql); } @@ -55,10 +49,6 @@ public class SQLParserUtils { return new SQLServerExprParser(sql); } - if (JdbcUtils.HBASE.equals(dbType)) { - return new HBQLExprParser(sql); - } - return new SQLExprParser(sql); } } diff --git a/src/test/java/com/alibaba/druid/hbase/HBQLShowTableTest.java b/src/test/java/com/alibaba/druid/hbase/HBQLShowTableTest.java deleted file mode 100644 index 5405bc9abf..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBQLShowTableTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.alibaba.druid.hbase; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.Properties; - -import com.alibaba.druid.hdriver.HDriver; -import com.alibaba.druid.util.JdbcUtils; - -import junit.framework.TestCase; - - -public class HBQLShowTableTest extends TestCase { - public void test_select_0 () throws Exception { - HDriver driver = new HDriver(); - Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - - PreparedStatement stmt = conn.prepareStatement("SHOW TABLES"); - stmt.setInt(1, 6); - - ResultSet rs = stmt.executeQuery(); - JdbcUtils.printResultSet(rs); -// while (rs.next()) { -// System.out.print(rs.getString("name")); -// System.out.print(' '); -// System.out.print(rs.getString("owner")); -// System.out.print(' '); -// System.out.print(rs.getString("familys")); -// System.out.print(' '); -// System.out.print(rs.getLong("maxFileSize")); -// System.out.print(' '); -// System.out.print(rs.getLong("memStoreFlushSize")); -// System.out.print(' '); -// System.out.print(rs.getString("regionSplitPolicyClassName")); -// System.out.print(' '); -// System.out.println(); -// } - rs.close(); - stmt.close(); - - conn.close(); - } -} diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseConnectTest.java b/src/test/java/com/alibaba/druid/hbase/HBaseConnectTest.java deleted file mode 100644 index bdf6a67a9d..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBaseConnectTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.alibaba.druid.hbase; - -import junit.framework.TestCase; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.client.HTable; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.util.Bytes; - -public class HBaseConnectTest extends TestCase { - - public void test_connection() throws Exception { - Configuration config = new Configuration();//HBaseConfiguration.create(); -// config.set("dfs.support.append", "true"); -// config.set("hbase.rootdir", "hdfs://10.20.153.63:9000/hbase"); -// config.set("hbase.cluster.distributed", "true"); -// config.set("hbase.master", "10.20.153.63:60000"); - config.set("hbase.zookeeper.quorum", "10.20.153.63"); -// config.set("zookeeper.session.timeout", "30000"); -// config.set("hbase.regionserver.handler.count", "100"); -// config.set("hbase.client.keyvalue.maxsize", "67108864"); - -// config = HBaseConfiguration.create(); - - HTable table = new HTable(config, "test"); - - Put put = new Put(Bytes.toBytes("1001")); - put.add(Bytes.toBytes("d"), Bytes.toBytes("id"), Bytes.toBytes("x1001")); - - table.put(put); - - table.close(); - } -} diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseDriverInsertTest.java b/src/test/java/com/alibaba/druid/hbase/HBaseDriverInsertTest.java deleted file mode 100644 index eb676e62da..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBaseDriverInsertTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.alibaba.druid.hbase; - -import java.math.BigDecimal; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.util.Properties; - -import com.alibaba.druid.hdriver.HDriver; - -import junit.framework.TestCase; - -public class HBaseDriverInsertTest extends TestCase { - - public void test_select_0() throws Exception { - HDriver driver = new HDriver(); - Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - - for (int i = 0; i < 10; ++i) { - PreparedStatement stmt = conn.prepareStatement("INSERT INTO test_user (id, name, gender, salary) VALUES (?, ?, ?, ?)"); - stmt.setInt(1, i); - stmt.setString(2, "user-" + i); - stmt.setString(3, "M"); - stmt.setBigDecimal(4, new BigDecimal((i + 1) * 1000)); - - stmt.execute(); - - stmt.close(); - } - - conn.close(); - } -} diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest.java b/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest.java deleted file mode 100644 index b5b2903ba6..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.alibaba.druid.hbase; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.Properties; - -import com.alibaba.druid.hdriver.HDriver; - -import junit.framework.TestCase; - - -public class HBaseDriverTest extends TestCase { - public void test_select_0 () throws Exception { - HDriver driver = new HDriver(); - Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - - PreparedStatement stmt = conn.prepareStatement("SELECT id, name, gender, salary FROM test_user where id >= 3 and id <= ?"); - stmt.setInt(1, 6); - - ResultSet rs = stmt.executeQuery(); - while (rs.next()) { - System.out.print(rs.getInt("id")); - System.out.print(' '); - System.out.print(rs.getString("name")); - System.out.print(' '); - System.out.print(rs.getString("gender")); - System.out.print(' '); - System.out.print(rs.getBigDecimal("salary")); - System.out.println(); - } - rs.close(); - stmt.close(); - - conn.close(); - } -} diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex.java b/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex.java deleted file mode 100644 index d64669fbc0..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.alibaba.druid.hbase; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.Properties; - -import com.alibaba.druid.hdriver.HDriver; - -import junit.framework.TestCase; - - -public class HBaseDriverTest_getIndex extends TestCase { - public void test_select_0 () throws Exception { - HDriver driver = new HDriver(); - Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - - PreparedStatement stmt = conn.prepareStatement("SELECT id, name, gender, salary FROM test_user where id >= 3 and id <= ?"); - stmt.setInt(1, 6); - - ResultSet rs = stmt.executeQuery(); - while (rs.next()) { - System.out.print(rs.getInt(1)); - System.out.print(' '); - System.out.print(rs.getString(2)); - System.out.print(' '); - System.out.print(rs.getString(3)); - System.out.print(' '); - System.out.print(rs.getBigDecimal(4)); - System.out.println(); - } - rs.close(); - stmt.close(); - - conn.close(); - } -} diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java b/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java deleted file mode 100644 index f154644707..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.alibaba.druid.hbase; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.Properties; - -import com.alibaba.druid.hdriver.HDriver; - -import junit.framework.TestCase; - - -public class HBaseDriverTest_getIndex_or extends TestCase { - public void test_select_0 () throws Exception { - HDriver driver = new HDriver(); - Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - - PreparedStatement stmt = conn.prepareStatement("SELECT id, name, gender, salary FROM test_user where id = 3 or id = ? or name = 'user-4'"); - stmt.setInt(1, 6); - - ResultSet rs = stmt.executeQuery(); - while (rs.next()) { - System.out.print(rs.getInt(1)); - System.out.print(' '); - System.out.print(rs.getString(2)); - System.out.print(' '); - System.out.print(rs.getString(3)); - System.out.print(' '); - System.out.print(rs.getBigDecimal(4)); - System.out.println(); - } - rs.close(); - stmt.close(); - - conn.close(); - } -} diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_notRowFilter.java b/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_notRowFilter.java deleted file mode 100644 index 04705dbe09..0000000000 --- a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_notRowFilter.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.alibaba.druid.hbase; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.Properties; - -import com.alibaba.druid.hdriver.HDriver; - -import junit.framework.TestCase; - - -public class HBaseDriverTest_notRowFilter extends TestCase { - public void test_select_0 () throws Exception { - HDriver driver = new HDriver(); - Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - - PreparedStatement stmt = conn.prepareStatement("SELECT id, name, gender, salary FROM test_user where name <= ?"); - stmt.setString(1, "user-5"); - - ResultSet rs = stmt.executeQuery(); - while (rs.next()) { - System.out.print(rs.getInt("id")); - System.out.print(' '); - System.out.print(rs.getString("name")); - System.out.print(' '); - System.out.print(rs.getString("gender")); - System.out.print(' '); - System.out.print(rs.getBigDecimal("salary")); - System.out.println(); - } - rs.close(); - stmt.close(); - - conn.close(); - } -}