You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2010/07/30 02:10:51 UTC
svn commit: r980611 [3/4] - in /hadoop/hive/trunk: ./
jdbc/src/java/org/apache/hadoop/hive/jdbc/
jdbc/src/test/org/apache/hadoop/hive/jdbc/
Modified: hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java?rev=980611&r1=980610&r2=980611&view=diff
==============================================================================
--- hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java (original)
+++ hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java Fri Jul 30 00:10:50 2010
@@ -1,2331 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.jdbc;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.Clob;
-import java.sql.Date;
-import java.sql.NClob;
-import java.sql.Ref;
-import java.sql.ResultSetMetaData;
-import java.sql.RowId;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Statement;
-import java.sql.Time;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Schema;
-import org.apache.hadoop.hive.serde.Constants;
-import org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe;
-import org.apache.hadoop.hive.service.HiveInterface;
-import org.apache.hadoop.io.BytesWritable;
-
-/**
- * HiveResultSet.
- *
- */
-public class HiveResultSet implements java.sql.ResultSet {
- HiveInterface client;
- ArrayList<?> row;
- DynamicSerDe ds;
- List<String> columnNames;
- List<String> columnTypes;
-
- SQLWarning warningChain = null;
- boolean wasNull = false;
- int maxRows = 0;
- int rowsFetched = 0;
-
- /**
- *
- */
- @SuppressWarnings("unchecked")
- public HiveResultSet(HiveInterface client, int maxRows) throws SQLException {
- this.client = client;
- row = new ArrayList();
- this.maxRows = maxRows;
- initDynamicSerde();
- }
-
- @SuppressWarnings("unchecked")
- public HiveResultSet(HiveInterface client) throws SQLException {
- this(client, 0);
- }
-
- /**
- * Instantiate the dynamic serde used to deserialize the result row.
- */
- public void initDynamicSerde() throws SQLException {
- try {
- Schema fullSchema = client.getThriftSchema();
- List<FieldSchema> schema = fullSchema.getFieldSchemas();
- columnNames = new ArrayList<String>();
- columnTypes = new ArrayList<String>();
-
- String serDDL;
-
- if ((schema != null) && (!schema.isEmpty())) {
- serDDL = new String("struct result { ");
- for (int pos = 0; pos < schema.size(); pos++) {
- if (pos != 0) {
- serDDL = serDDL.concat(",");
- }
- columnTypes.add(schema.get(pos).getType());
- columnNames.add(schema.get(pos).getName());
- serDDL = serDDL.concat(schema.get(pos).getType());
- serDDL = serDDL.concat(" ");
- serDDL = serDDL.concat(schema.get(pos).getName());
- }
- serDDL = serDDL.concat("}");
- } else {
- serDDL = new String("struct result { string empty }");
- }
-
- ds = new DynamicSerDe();
- Properties dsp = new Properties();
- dsp.setProperty(Constants.SERIALIZATION_FORMAT,
- org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol.class
- .getName());
- dsp.setProperty(
- org.apache.hadoop.hive.metastore.api.Constants.META_TABLE_NAME,
- "result");
- dsp.setProperty(Constants.SERIALIZATION_DDL, serDDL);
- dsp.setProperty(Constants.SERIALIZATION_LIB, ds.getClass().toString());
- dsp.setProperty(Constants.FIELD_DELIM, "9");
- ds.initialize(new Configuration(), dsp);
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new SQLException("Could not create ResultSet: " + ex.getMessage());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#absolute(int)
- */
-
- public boolean absolute(int row) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#afterLast()
- */
-
- public void afterLast() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#beforeFirst()
- */
-
- public void beforeFirst() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#cancelRowUpdates()
- */
-
- public void cancelRowUpdates() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#clearWarnings()
- */
-
- public void clearWarnings() throws SQLException {
- warningChain = null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#close()
- */
-
- public void close() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#deleteRow()
- */
-
- public void deleteRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#findColumn(java.lang.String)
- */
-
- public int findColumn(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#first()
- */
-
- public boolean first() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getArray(int)
- */
-
- public Array getArray(int i) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getArray(java.lang.String)
- */
-
- public Array getArray(String colName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getAsciiStream(int)
- */
-
- public InputStream getAsciiStream(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getAsciiStream(java.lang.String)
- */
-
- public InputStream getAsciiStream(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBigDecimal(int)
- */
-
- public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBigDecimal(java.lang.String)
- */
-
- public BigDecimal getBigDecimal(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBigDecimal(int, int)
- */
-
- public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBigDecimal(java.lang.String, int)
- */
-
- public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBinaryStream(int)
- */
-
- public InputStream getBinaryStream(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBinaryStream(java.lang.String)
- */
-
- public InputStream getBinaryStream(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBlob(int)
- */
-
- public Blob getBlob(int i) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBlob(java.lang.String)
- */
-
- public Blob getBlob(String colName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBoolean(int)
- */
-
- public boolean getBoolean(int columnIndex) throws SQLException {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).intValue() != 0;
- }
- throw new SQLException("Cannot convert column " + columnIndex
- + " to boolean");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBoolean(java.lang.String)
- */
-
- public boolean getBoolean(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getByte(int)
- */
-
- public byte getByte(int columnIndex) throws SQLException {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).byteValue();
- }
- throw new SQLException("Cannot convert column " + columnIndex + " to byte");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getByte(java.lang.String)
- */
-
- public byte getByte(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBytes(int)
- */
-
- public byte[] getBytes(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getBytes(java.lang.String)
- */
-
- public byte[] getBytes(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getCharacterStream(int)
- */
-
- public Reader getCharacterStream(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getCharacterStream(java.lang.String)
- */
-
- public Reader getCharacterStream(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getClob(int)
- */
-
- public Clob getClob(int i) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getClob(java.lang.String)
- */
-
- public Clob getClob(String colName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getConcurrency()
- */
-
- public int getConcurrency() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getCursorName()
- */
-
- public String getCursorName() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getDate(int)
- */
-
- public Date getDate(int columnIndex) throws SQLException {
- Object obj = getObject(columnIndex);
- if (obj == null) {
- return null;
- }
-
- try {
- return Date.valueOf((String) obj);
- } catch (Exception e) {
- throw new SQLException("Cannot convert column " + columnIndex
- + " to date: " + e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getDate(java.lang.String)
- */
-
- public Date getDate(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getDate(int, java.util.Calendar)
- */
-
- public Date getDate(int columnIndex, Calendar cal) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getDate(java.lang.String, java.util.Calendar)
- */
-
- public Date getDate(String columnName, Calendar cal) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getDouble(int)
- */
-
- public double getDouble(int columnIndex) throws SQLException {
- try {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).doubleValue();
- }
- throw new Exception("Illegal conversion");
- } catch (Exception e) {
- throw new SQLException("Cannot convert column " + columnIndex
- + " to double: " + e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getDouble(java.lang.String)
- */
-
- public double getDouble(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getFetchDirection()
- */
-
- public int getFetchDirection() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getFetchSize()
- */
-
- public int getFetchSize() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getFloat(int)
- */
-
- public float getFloat(int columnIndex) throws SQLException {
- try {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).floatValue();
- }
- throw new Exception("Illegal conversion");
- } catch (Exception e) {
- throw new SQLException("Cannot convert column " + columnIndex
- + " to float: " + e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getFloat(java.lang.String)
- */
-
- public float getFloat(String columnName) throws SQLException {
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getHoldability()
- */
-
- public int getHoldability() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getInt(int)
- */
-
- public int getInt(int columnIndex) throws SQLException {
- try {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).intValue();
- }
- throw new Exception("Illegal conversion");
- } catch (Exception e) {
- throw new SQLException("Cannot convert column " + columnIndex
- + " to integer" + e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getInt(java.lang.String)
- */
-
- public int getInt(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getLong(int)
- */
-
- public long getLong(int columnIndex) throws SQLException {
- try {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).longValue();
- }
- throw new Exception("Illegal conversion");
- } catch (Exception e) {
- throw new SQLException("Cannot convert column " + columnIndex
- + " to long: " + e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getLong(java.lang.String)
- */
-
- public long getLong(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getMetaData()
- */
-
- public ResultSetMetaData getMetaData() throws SQLException {
- return new HiveResultSetMetaData(columnNames, columnTypes);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getNCharacterStream(int)
- */
-
- public Reader getNCharacterStream(int arg0) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getNCharacterStream(java.lang.String)
- */
-
- public Reader getNCharacterStream(String arg0) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getNClob(int)
- */
-
- public NClob getNClob(int arg0) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getNClob(java.lang.String)
- */
-
- public NClob getNClob(String columnLabel) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getNString(int)
- */
-
- public String getNString(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getNString(java.lang.String)
- */
-
- public String getNString(String columnLabel) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getObject(int)
- */
-
- public Object getObject(int columnIndex) throws SQLException {
- if (row == null) {
- throw new SQLException("No row found.");
- }
-
- if (columnIndex > row.size()) {
- throw new SQLException("Invalid columnIndex: " + columnIndex);
- }
-
- try {
- wasNull = false;
- if (row.get(columnIndex - 1) == null) {
- wasNull = true;
- }
-
- return row.get(columnIndex - 1);
- } catch (Exception e) {
- throw new SQLException(e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getObject(java.lang.String)
- */
-
- public Object getObject(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getObject(int, java.util.Map)
- */
-
- public Object getObject(int i, Map<String, Class<?>> map) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getObject(java.lang.String, java.util.Map)
- */
-
- public Object getObject(String colName, Map<String, Class<?>> map) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getRef(int)
- */
-
- public Ref getRef(int i) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getRef(java.lang.String)
- */
-
- public Ref getRef(String colName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getRow()
- */
-
- public int getRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getRowId(int)
- */
-
- public RowId getRowId(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getRowId(java.lang.String)
- */
-
- public RowId getRowId(String columnLabel) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getSQLXML(int)
- */
-
- public SQLXML getSQLXML(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getSQLXML(java.lang.String)
- */
-
- public SQLXML getSQLXML(String columnLabel) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getShort(int)
- */
-
- public short getShort(int columnIndex) throws SQLException {
- try {
- Object obj = getObject(columnIndex);
- if (Number.class.isInstance(obj)) {
- return ((Number) obj).shortValue();
- }
- throw new Exception("Illegal conversion");
- } catch (Exception e) {
- throw new SQLException("Cannot convert column " + columnIndex
- + " to short: " + e.toString());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getShort(java.lang.String)
- */
-
- public short getShort(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getStatement()
- */
-
- public Statement getStatement() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /**
- * @param columnIndex
- * - the first column is 1, the second is 2, ...
- * @see java.sql.ResultSet#getString(int)
- */
-
- public String getString(int columnIndex) throws SQLException {
- // Column index starts from 1, not 0.
- Object obj = getObject(columnIndex);
- if (obj == null) {
- return null;
- }
-
- return obj.toString();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getString(java.lang.String)
- */
-
- public String getString(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTime(int)
- */
-
- public Time getTime(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTime(java.lang.String)
- */
-
- public Time getTime(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTime(int, java.util.Calendar)
- */
-
- public Time getTime(int columnIndex, Calendar cal) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)
- */
-
- public Time getTime(String columnName, Calendar cal) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTimestamp(int)
- */
-
- public Timestamp getTimestamp(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTimestamp(java.lang.String)
- */
-
- public Timestamp getTimestamp(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTimestamp(int, java.util.Calendar)
- */
-
- public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getTimestamp(java.lang.String, java.util.Calendar)
- */
-
- public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getType()
- */
-
- public int getType() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getURL(int)
- */
-
- public URL getURL(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getURL(java.lang.String)
- */
-
- public URL getURL(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getUnicodeStream(int)
- */
-
- public InputStream getUnicodeStream(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getUnicodeStream(java.lang.String)
- */
-
- public InputStream getUnicodeStream(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#getWarnings()
- */
-
- public SQLWarning getWarnings() throws SQLException {
- return warningChain;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#insertRow()
- */
-
- public void insertRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#isAfterLast()
- */
-
- public boolean isAfterLast() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#isBeforeFirst()
- */
-
- public boolean isBeforeFirst() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#isClosed()
- */
-
- public boolean isClosed() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#isFirst()
- */
-
- public boolean isFirst() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#isLast()
- */
-
- public boolean isLast() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#last()
- */
-
- public boolean last() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#moveToCurrentRow()
- */
-
- public void moveToCurrentRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#moveToInsertRow()
- */
-
- public void moveToInsertRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /**
- * Moves the cursor down one row from its current position.
- *
- * @see java.sql.ResultSet#next()
- * @throws SQLException
- * if a database access error occurs.
- */
-
- public boolean next() throws SQLException {
- if (maxRows > 0 && rowsFetched >= maxRows) {
- return false;
- }
-
- String rowStr = "";
- try {
- rowStr = (String) client.fetchOne();
- rowsFetched++;
- if (!rowStr.equals("")) {
- Object o = ds.deserialize(new BytesWritable(rowStr.getBytes()));
- row = (ArrayList<?>) o;
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new SQLException("Error retrieving next row");
- }
- // NOTE: fetchOne dosn't throw new SQLException("Method not supported").
- return !rowStr.equals("");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#previous()
- */
-
- public boolean previous() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#refreshRow()
- */
-
- public void refreshRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#relative(int)
- */
-
- public boolean relative(int rows) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#rowDeleted()
- */
-
- public boolean rowDeleted() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#rowInserted()
- */
-
- public boolean rowInserted() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#rowUpdated()
- */
-
- public boolean rowUpdated() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#setFetchDirection(int)
- */
-
- public void setFetchDirection(int direction) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#setFetchSize(int)
- */
-
- public void setFetchSize(int rows) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateArray(int, java.sql.Array)
- */
-
- public void updateArray(int columnIndex, Array x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateArray(java.lang.String, java.sql.Array)
- */
-
- public void updateArray(String columnName, Array x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream)
- */
-
- public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateAsciiStream(java.lang.String,
- * java.io.InputStream)
- */
-
- public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, int)
- */
-
- public void updateAsciiStream(int columnIndex, InputStream x, int length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateAsciiStream(java.lang.String,
- * java.io.InputStream, int)
- */
-
- public void updateAsciiStream(String columnName, InputStream x, int length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, long)
- */
-
- public void updateAsciiStream(int columnIndex, InputStream x, long length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateAsciiStream(java.lang.String,
- * java.io.InputStream, long)
- */
-
- public void updateAsciiStream(String columnLabel, InputStream x, long length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBigDecimal(int, java.math.BigDecimal)
- */
-
- public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBigDecimal(java.lang.String,
- * java.math.BigDecimal)
- */
-
- public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream)
- */
-
- public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBinaryStream(java.lang.String,
- * java.io.InputStream)
- */
-
- public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, int)
- */
-
- public void updateBinaryStream(int columnIndex, InputStream x, int length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBinaryStream(java.lang.String,
- * java.io.InputStream, int)
- */
-
- public void updateBinaryStream(String columnName, InputStream x, int length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, long)
- */
-
- public void updateBinaryStream(int columnIndex, InputStream x, long length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBinaryStream(java.lang.String,
- * java.io.InputStream, long)
- */
-
- public void updateBinaryStream(String columnLabel, InputStream x, long length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBlob(int, java.sql.Blob)
- */
-
- public void updateBlob(int columnIndex, Blob x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBlob(java.lang.String, java.sql.Blob)
- */
-
- public void updateBlob(String columnName, Blob x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream)
- */
-
- public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream)
- */
-
- public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream, long)
- */
-
- public void updateBlob(int columnIndex, InputStream inputStream, long length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream,
- * long)
- */
-
- public void updateBlob(String columnLabel, InputStream inputStream,
- long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBoolean(int, boolean)
- */
-
- public void updateBoolean(int columnIndex, boolean x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBoolean(java.lang.String, boolean)
- */
-
- public void updateBoolean(String columnName, boolean x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateByte(int, byte)
- */
-
- public void updateByte(int columnIndex, byte x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateByte(java.lang.String, byte)
- */
-
- public void updateByte(String columnName, byte x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBytes(int, byte[])
- */
-
- public void updateBytes(int columnIndex, byte[] x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateBytes(java.lang.String, byte[])
- */
-
- public void updateBytes(String columnName, byte[] x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader)
- */
-
- public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateCharacterStream(java.lang.String,
- * java.io.Reader)
- */
-
- public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, int)
- */
-
- public void updateCharacterStream(int columnIndex, Reader x, int length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateCharacterStream(java.lang.String,
- * java.io.Reader, int)
- */
-
- public void updateCharacterStream(String columnName, Reader reader, int length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, long)
- */
-
- public void updateCharacterStream(int columnIndex, Reader x, long length)
- throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateCharacterStream(java.lang.String,
- * java.io.Reader, long)
- */
-
- public void updateCharacterStream(String columnLabel, Reader reader,
- long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateClob(int, java.sql.Clob)
- */
-
- public void updateClob(int columnIndex, Clob x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateClob(java.lang.String, java.sql.Clob)
- */
-
- public void updateClob(String columnName, Clob x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateClob(int, java.io.Reader)
- */
-
- public void updateClob(int columnIndex, Reader reader) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader)
- */
-
- public void updateClob(String columnLabel, Reader reader) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateClob(int, java.io.Reader, long)
- */
-
- public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader, long)
- */
-
- public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateDate(int, java.sql.Date)
- */
-
- public void updateDate(int columnIndex, Date x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateDate(java.lang.String, java.sql.Date)
- */
-
- public void updateDate(String columnName, Date x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateDouble(int, double)
- */
-
- public void updateDouble(int columnIndex, double x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateDouble(java.lang.String, double)
- */
-
- public void updateDouble(String columnName, double x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateFloat(int, float)
- */
-
- public void updateFloat(int columnIndex, float x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateFloat(java.lang.String, float)
- */
-
- public void updateFloat(String columnName, float x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateInt(int, int)
- */
-
- public void updateInt(int columnIndex, int x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateInt(java.lang.String, int)
- */
-
- public void updateInt(String columnName, int x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateLong(int, long)
- */
-
- public void updateLong(int columnIndex, long x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateLong(java.lang.String, long)
- */
-
- public void updateLong(String columnName, long x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader)
- */
-
- public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String,
- * java.io.Reader)
- */
-
- public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader, long)
- */
-
- public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String,
- * java.io.Reader, long)
- */
-
- public void updateNCharacterStream(String columnLabel, Reader reader,
- long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNClob(int, java.sql.NClob)
- */
-
- public void updateNClob(int columnIndex, NClob clob) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNClob(java.lang.String, java.sql.NClob)
- */
-
- public void updateNClob(String columnLabel, NClob clob) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNClob(int, java.io.Reader)
- */
-
- public void updateNClob(int columnIndex, Reader reader) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader)
- */
-
- public void updateNClob(String columnLabel, Reader reader) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNClob(int, java.io.Reader, long)
- */
-
- public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader, long)
- */
-
- public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNString(int, java.lang.String)
- */
-
- public void updateNString(int columnIndex, String string) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNString(java.lang.String, java.lang.String)
- */
-
- public void updateNString(String columnLabel, String string) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNull(int)
- */
-
- public void updateNull(int columnIndex) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateNull(java.lang.String)
- */
-
- public void updateNull(String columnName) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateObject(int, java.lang.Object)
- */
-
- public void updateObject(int columnIndex, Object x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object)
- */
-
- public void updateObject(String columnName, Object x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateObject(int, java.lang.Object, int)
- */
-
- public void updateObject(int columnIndex, Object x, int scale) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object,
- * int)
- */
-
- public void updateObject(String columnName, Object x, int scale) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateRef(int, java.sql.Ref)
- */
-
- public void updateRef(int columnIndex, Ref x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateRef(java.lang.String, java.sql.Ref)
- */
-
- public void updateRef(String columnName, Ref x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateRow()
- */
-
- public void updateRow() throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateRowId(int, java.sql.RowId)
- */
-
- public void updateRowId(int columnIndex, RowId x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateRowId(java.lang.String, java.sql.RowId)
- */
-
- public void updateRowId(String columnLabel, RowId x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateSQLXML(int, java.sql.SQLXML)
- */
-
- public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateSQLXML(java.lang.String, java.sql.SQLXML)
- */
-
- public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateShort(int, short)
- */
-
- public void updateShort(int columnIndex, short x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateShort(java.lang.String, short)
- */
-
- public void updateShort(String columnName, short x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateString(int, java.lang.String)
- */
-
- public void updateString(int columnIndex, String x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateString(java.lang.String, java.lang.String)
- */
-
- public void updateString(String columnName, String x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateTime(int, java.sql.Time)
- */
-
- public void updateTime(int columnIndex, Time x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateTime(java.lang.String, java.sql.Time)
- */
-
- public void updateTime(String columnName, Time x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateTimestamp(int, java.sql.Timestamp)
- */
-
- public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#updateTimestamp(java.lang.String,
- * java.sql.Timestamp)
- */
-
- public void updateTimestamp(String columnName, Timestamp x) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSet#wasNull()
- */
-
- public boolean wasNull() throws SQLException {
- return wasNull;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
- */
-
- public boolean isWrapperFor(Class<?> iface) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.sql.Wrapper#unwrap(java.lang.Class)
- */
-
- public <T> T unwrap(Class<T> iface) throws SQLException {
- // TODO Auto-generated method stub
- throw new SQLException("Method not supported");
- }
-
-}
Modified: hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSetMetaData.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSetMetaData.java?rev=980611&r1=980610&r2=980611&view=diff
==============================================================================
--- hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSetMetaData.java (original)
+++ hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSetMetaData.java Fri Jul 30 00:10:50 2010
@@ -30,8 +30,8 @@ import org.apache.hadoop.hive.serde.Cons
*
*/
public class HiveResultSetMetaData implements java.sql.ResultSetMetaData {
- List<String> columnNames;
- List<String> columnTypes;
+ private List<String> columnNames;
+ private List<String> columnTypes;
public HiveResultSetMetaData(List<String> columnNames,
List<String> columnTypes) {
@@ -39,46 +39,19 @@ public class HiveResultSetMetaData imple
this.columnTypes = columnTypes;
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getCatalogName(int)
- */
-
public String getCatalogName(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnClassName(int)
- */
-
public String getColumnClassName(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnCount()
- */
-
public int getColumnCount() throws SQLException {
return columnNames.size();
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnDisplaySize(int)
- */
-
public int getColumnDisplaySize(int column) throws SQLException {
-
// taking a stab at appropriate values
switch (getColumnType(column)) {
case Types.VARCHAR:
@@ -96,33 +69,14 @@ public class HiveResultSetMetaData imple
}
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnLabel(int)
- */
-
public String getColumnLabel(int column) throws SQLException {
- // TODO Auto-generated method stub
return columnNames.get(column - 1);
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnName(int)
- */
-
public String getColumnName(int column) throws SQLException {
return columnNames.get(column - 1);
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnType(int)
- */
-
public int getColumnType(int column) throws SQLException {
if (columnTypes == null) {
throw new SQLException(
@@ -137,29 +91,34 @@ public class HiveResultSetMetaData imple
String type = columnTypes.get(column - 1);
// we need to convert the thrift type to the SQL type
- // TODO: this would be better handled in an enum
- if ("string".equals(type)) {
+ return hiveTypeToSqlType(type);
+ }
+
+ /**
+ * Convert hive types to sql types.
+ * @param type
+ * @return Integer java.sql.Types values
+ * @throws SQLException
+ */
+ public static Integer hiveTypeToSqlType(String type) throws SQLException {
+ if ("string".equalsIgnoreCase(type)) {
return Types.VARCHAR;
- } else if ("bool".equals(type)) {
+ } else if ("bool".equalsIgnoreCase(type) || "boolean".equalsIgnoreCase(type)) {
return Types.BOOLEAN;
- } else if ("double".equals(type)) {
+ } else if ("float".equalsIgnoreCase(type)) {
+ return Types.FLOAT;
+ } else if ("double".equalsIgnoreCase(type)) {
return Types.DOUBLE;
- } else if ("byte".equals(type)) {
+ } else if ("byte".equalsIgnoreCase(type) || "tinyint".equalsIgnoreCase(type)) {
return Types.TINYINT;
- } else if ("i32".equals(type)) {
+ } else if ("i32".equalsIgnoreCase(type) || "int".equalsIgnoreCase(type)) {
return Types.INTEGER;
- } else if ("i64".equals(type)) {
+ } else if ("i64".equalsIgnoreCase(type) || "bigint".equalsIgnoreCase(type)) {
return Types.BIGINT;
}
-
- throw new SQLException("Inrecognized column type: " + type);
+ throw new SQLException("Unrecognized column type: " + type);
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getColumnTypeName(int)
- */
public String getColumnTypeName(int column) throws SQLException {
if (columnTypes == null) {
@@ -174,29 +133,23 @@ public class HiveResultSetMetaData imple
// we need to convert the thrift type to the SQL type name
// TODO: this would be better handled in an enum
String type = columnTypes.get(column - 1);
- if ("string".equals(type)) {
+ if ("string".equalsIgnoreCase(type)) {
return Constants.STRING_TYPE_NAME;
- } else if ("double".equals(type)) {
+ } else if ("double".equalsIgnoreCase(type)) {
return Constants.DOUBLE_TYPE_NAME;
- } else if ("bool".equals(type)) {
+ } else if ("bool".equalsIgnoreCase(type)) {
return Constants.BOOLEAN_TYPE_NAME;
- } else if ("byte".equals(type)) {
+ } else if ("byte".equalsIgnoreCase(type)) {
return Constants.TINYINT_TYPE_NAME;
- } else if ("i32".equals(type)) {
+ } else if ("i32".equalsIgnoreCase(type)) {
return Constants.INT_TYPE_NAME;
- } else if ("i64".equals(type)) {
+ } else if ("i64".equalsIgnoreCase(type)) {
return Constants.BIGINT_TYPE_NAME;
}
throw new SQLException("Inrecognized column type: " + type);
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getPrecision(int)
- */
-
public int getPrecision(int column) throws SQLException {
if (Types.DOUBLE == getColumnType(column)) {
return -1; // Do we have a precision limit?
@@ -205,12 +158,6 @@ public class HiveResultSetMetaData imple
return 0;
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getScale(int)
- */
-
public int getScale(int column) throws SQLException {
if (Types.DOUBLE == getColumnType(column)) {
return -1; // Do we have a scale limit?
@@ -219,146 +166,58 @@ public class HiveResultSetMetaData imple
return 0;
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getSchemaName(int)
- */
-
public String getSchemaName(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#getTableName(int)
- */
-
public String getTableName(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isAutoIncrement(int)
- */
-
public boolean isAutoIncrement(int column) throws SQLException {
// Hive doesn't have an auto-increment concept
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isCaseSensitive(int)
- */
-
public boolean isCaseSensitive(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isCurrency(int)
- */
-
public boolean isCurrency(int column) throws SQLException {
// Hive doesn't support a currency type
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isDefinitelyWritable(int)
- */
-
public boolean isDefinitelyWritable(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isNullable(int)
- */
-
public int isNullable(int column) throws SQLException {
// Hive doesn't have the concept of not-null
return ResultSetMetaData.columnNullable;
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isReadOnly(int)
- */
-
public boolean isReadOnly(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isSearchable(int)
- */
-
public boolean isSearchable(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isSigned(int)
- */
-
public boolean isSigned(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.ResultSetMetaData#isWritable(int)
- */
-
public boolean isWritable(int column) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
- */
-
public boolean isWrapperFor(Class<?> iface) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
- /*
- * (non-Javadoc)
- *
- * @see java.sql.Wrapper#unwrap(java.lang.Class)
- */
-
public <T> T unwrap(Class<T> iface) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
Modified: hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveStatement.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveStatement.java?rev=980611&r1=980610&r2=980611&view=diff
==============================================================================
--- hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveStatement.java (original)
+++ hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveStatement.java Fri Jul 30 00:10:50 2010
@@ -31,8 +31,8 @@ import org.apache.hadoop.hive.service.Hi
*
*/
public class HiveStatement implements java.sql.Statement {
- JdbcSessionState session;
- HiveInterface client;
+ private JdbcSessionState session;
+ private HiveInterface client;
/**
* We need to keep a reference to the result set to support the following:
* <code>
@@ -40,22 +40,22 @@ public class HiveStatement implements ja
* statement.getResultSet();
* </code>.
*/
- ResultSet resultSet = null;
+ private ResultSet resultSet = null;
/**
* The maximum number of rows this statement should return (0 => all rows).
*/
- int maxRows = 0;
+ private int maxRows = 0;
/**
* Add SQLWarnings to the warningChain if needed.
*/
- SQLWarning warningChain = null;
+ private SQLWarning warningChain = null;
/**
* Keep state so we can fail certain calls made after close().
*/
- boolean isClosed = false;
+ private boolean isClosed = false;
/**
*
@@ -72,7 +72,6 @@ public class HiveStatement implements ja
*/
public void addBatch(String sql) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -83,7 +82,6 @@ public class HiveStatement implements ja
*/
public void cancel() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -94,7 +92,6 @@ public class HiveStatement implements ja
*/
public void clearBatch() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -115,7 +112,6 @@ public class HiveStatement implements ja
*/
public void close() throws SQLException {
- // TODO: how to properly shut down the client?
client = null;
resultSet = null;
isClosed = true;
@@ -142,7 +138,6 @@ public class HiveStatement implements ja
*/
public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -153,7 +148,6 @@ public class HiveStatement implements ja
*/
public boolean execute(String sql, int[] columnIndexes) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -164,7 +158,6 @@ public class HiveStatement implements ja
*/
public boolean execute(String sql, String[] columnNames) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -175,7 +168,6 @@ public class HiveStatement implements ja
*/
public int[] executeBatch() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -198,7 +190,7 @@ public class HiveStatement implements ja
} catch (Exception ex) {
throw new SQLException(ex.toString(), "08S01");
}
- resultSet = new HiveResultSet(client, maxRows);
+ resultSet = new HiveQueryResultSet(client, maxRows);
return resultSet;
}
@@ -224,7 +216,6 @@ public class HiveStatement implements ja
*/
public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -235,7 +226,6 @@ public class HiveStatement implements ja
*/
public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -246,7 +236,6 @@ public class HiveStatement implements ja
*/
public int executeUpdate(String sql, String[] columnNames) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -257,7 +246,6 @@ public class HiveStatement implements ja
*/
public Connection getConnection() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -268,7 +256,6 @@ public class HiveStatement implements ja
*/
public int getFetchDirection() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -279,7 +266,6 @@ public class HiveStatement implements ja
*/
public int getFetchSize() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -290,7 +276,6 @@ public class HiveStatement implements ja
*/
public ResultSet getGeneratedKeys() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -301,7 +286,6 @@ public class HiveStatement implements ja
*/
public int getMaxFieldSize() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -322,7 +306,6 @@ public class HiveStatement implements ja
*/
public boolean getMoreResults() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -333,7 +316,6 @@ public class HiveStatement implements ja
*/
public boolean getMoreResults(int current) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -344,7 +326,6 @@ public class HiveStatement implements ja
*/
public int getQueryTimeout() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -365,7 +346,6 @@ public class HiveStatement implements ja
*/
public int getResultSetConcurrency() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -376,7 +356,6 @@ public class HiveStatement implements ja
*/
public int getResultSetHoldability() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -387,7 +366,6 @@ public class HiveStatement implements ja
*/
public int getResultSetType() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -428,7 +406,6 @@ public class HiveStatement implements ja
*/
public boolean isPoolable() throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -439,7 +416,6 @@ public class HiveStatement implements ja
*/
public void setCursorName(String name) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -450,7 +426,6 @@ public class HiveStatement implements ja
*/
public void setEscapeProcessing(boolean enable) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -461,7 +436,6 @@ public class HiveStatement implements ja
*/
public void setFetchDirection(int direction) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -472,7 +446,6 @@ public class HiveStatement implements ja
*/
public void setFetchSize(int rows) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -483,7 +456,6 @@ public class HiveStatement implements ja
*/
public void setMaxFieldSize(int max) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -507,7 +479,6 @@ public class HiveStatement implements ja
*/
public void setPoolable(boolean poolable) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -518,7 +489,6 @@ public class HiveStatement implements ja
*/
public void setQueryTimeout(int seconds) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -529,7 +499,6 @@ public class HiveStatement implements ja
*/
public boolean isWrapperFor(Class<?> iface) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
@@ -540,7 +509,6 @@ public class HiveStatement implements ja
*/
public <T> T unwrap(Class<T> iface) throws SQLException {
- // TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
Added: hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java?rev=980611&view=auto
==============================================================================
--- hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java (added)
+++ hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java Fri Jul 30 00:10:50 2010
@@ -0,0 +1,123 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.jdbc;
+
+import java.sql.SQLException;
+
+/**
+ * Column metadata.
+ */
+public class JdbcColumn {
+ private String columnName;
+ private String tableName;
+ private String tableCatalog;
+ private String type;
+ private String comment;
+ private int ordinalPos;
+
+ JdbcColumn(String columnName, String tableName, String tableCatalog
+ , String type, String comment, int ordinalPos) {
+ this.columnName = columnName;
+ this.tableName = tableName;
+ this.tableCatalog = tableCatalog;
+ this.type = type;
+ this.comment = comment;
+ this.ordinalPos = ordinalPos;
+ }
+
+ public String getColumnName() {
+ return columnName;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public String getTableCatalog() {
+ return tableCatalog;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public Integer getSqlType() throws SQLException {
+ return HiveResultSetMetaData.hiveTypeToSqlType(type);
+ }
+
+ public Integer getColumnSize() {
+ if (type.equalsIgnoreCase("string")) {
+ return Integer.MAX_VALUE;
+ } else if (type.equalsIgnoreCase("tinyint")) {
+ return 3;
+ } else if (type.equalsIgnoreCase("smallint")) {
+ return 5;
+ } else if (type.equalsIgnoreCase("int")) {
+ return 10;
+ } else if (type.equalsIgnoreCase("bigint")) {
+ return 19;
+ } else if (type.equalsIgnoreCase("float")) {
+ return 12;
+ } else if (type.equalsIgnoreCase("double")) {
+ return 22;
+ } else { // anything else including boolean is null
+ return null;
+ }
+ }
+
+ public Integer getNumPrecRadix() {
+ if (type.equalsIgnoreCase("tinyint")) {
+ return 10;
+ } else if (type.equalsIgnoreCase("smallint")) {
+ return 10;
+ } else if (type.equalsIgnoreCase("int")) {
+ return 10;
+ } else if (type.equalsIgnoreCase("bigint")) {
+ return 10;
+ } else if (type.equalsIgnoreCase("float")) {
+ return 2;
+ } else if (type.equalsIgnoreCase("double")) {
+ return 2;
+ } else { // anything else including boolean and string is null
+ return null;
+ }
+ }
+
+ public Integer getDecimalDigits() {
+ if (type.equalsIgnoreCase("tinyint")) {
+ return 0;
+ } else if (type.equalsIgnoreCase("smallint")) {
+ return 0;
+ } else if (type.equalsIgnoreCase("int")) {
+ return 0;
+ } else if (type.equalsIgnoreCase("bigint")) {
+ return 0;
+ } else { // anything else including float and double is null
+ return null;
+ }
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ public int getOrdinalPos() {
+ return ordinalPos;
+ }
+}
Added: hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcTable.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcTable.java?rev=980611&view=auto
==============================================================================
--- hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcTable.java (added)
+++ hadoop/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcTable.java Fri Jul 30 00:10:50 2010
@@ -0,0 +1,58 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.jdbc;
+
+import java.sql.SQLException;
+
+/**
+ * Table metadata.
+ */
+public class JdbcTable {
+ private String tableCatalog;
+ private String tableName;
+ private String type;
+ private String comment;
+
+ public JdbcTable(String tableCatalog, String tableName, String type, String comment) {
+ this.tableCatalog = tableCatalog;
+ this.tableName = tableName;
+ this.type = type;
+ this.comment = comment;
+ }
+
+ public String getTableCatalog() {
+ return tableCatalog;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getSqlTableType() throws SQLException {
+ return HiveDatabaseMetaData.toJdbcTableType(type);
+ }
+
+ public String getComment() {
+ return comment;
+ }
+}