You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2016/05/02 18:11:42 UTC
[03/60] incubator-trafodion git commit: TRAFODION-1933 JDBC TYpe4
driver build scripts migrated to use maven instead of ant
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/72e17019/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4ResultSet.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4ResultSet.java b/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4ResultSet.java
deleted file mode 100644
index c181bee..0000000
--- a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4ResultSet.java
+++ /dev/null
@@ -1,5389 +0,0 @@
-// @@@ START COPYRIGHT @@@
-//
-// 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.
-//
-// @@@ END COPYRIGHT @@@
-
-package org.trafodion.jdbc.t4;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Method;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URL;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.UnsupportedCharsetException;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.DataTruncation;
-import java.sql.DatabaseMetaData;
-import java.sql.Date;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.Ref;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.RowId;
-import java.sql.SQLException;
-import java.sql.SQLXML;
-import java.sql.Statement;
-import java.sql.Time;
-import java.sql.Timestamp;
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Calendar;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-
-public class TrafT4ResultSet extends HPT4Handle implements java.sql.ResultSet {
-
- // java.sql.ResultSet interface methods
- public boolean absolute(int row) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, row);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "absolute", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, row);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("absolute");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- boolean flag = false;
- int absRow;
-
- clearWarnings();
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (getType() == ResultSet.TYPE_FORWARD_ONLY) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "forward_only_cursor",
- null);
- }
- if (row == 0) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_row_number",
- null);
- }
-
-
- if (row > 0) {
- if (row <= numRows_) {
- currentRow_ = row;
- isBeforeFirst_ = false;
- isAfterLast_ = false;
- onInsertRow_ = false;
- flag = true;
- } else {
- do {
- flag = next();
- if (!flag) {
- break;
- }
- } while (currentRow_ < row);
- }
- } else {
- absRow = -row;
- afterLast();
- if (absRow <= numRows_) {
- currentRow_ = numRows_ - absRow + 1;
- isAfterLast_ = false;
- isBeforeFirst_ = false;
- onInsertRow_ = false;
- flag = true;
- } else {
- beforeFirst();
- }
- }
- return flag;
- }
-
- public void afterLast() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "afterLast", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("afterLast");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- clearWarnings();
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (getType() == ResultSet.TYPE_FORWARD_ONLY) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "forward_only_cursor",
- null);
- }
- last();
- // currentRow_++;
- isAfterLast_ = true;
- isBeforeFirst_ = false;
- }
-
- public void beforeFirst() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "beforeFirst", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("beforeFirst");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- clearWarnings();
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (getType() == ResultSet.TYPE_FORWARD_ONLY) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "forward_only_cursor",
- null);
- }
-
-
- currentRow_ = 0;
- isBeforeFirst_ = true;
- isAfterLast_ = false;
- onInsertRow_ = false;
- }
-
- public void cancelRowUpdates() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "cancelRowUpdates", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("cancelRowUpdates");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- clearWarnings();
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (getConcurrency() == ResultSet.CONCUR_READ_ONLY) {
- throw HPT4Messages
- .createSQLException(connection_.props_, connection_.getLocale(), "read_only_concur", null);
- }
- if (onInsertRow_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cursor_position", null);
- }
- Row row = (Row) getCurrentRow();
- if (!row.getUpdated()) {
- row.clearUpdated();
- }
- }
-
- /**
- * Close the resultSet. This method is synchronized to prevent many threads
- * talking to the same server after close().
- *
- * @throws SQLException
- */
- synchronized public void close() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "close", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("close");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- clearWarnings();
- if (isClosed_) {
- return;
- }
- if (connection_._isClosed()) {
- connection_.closeErroredConnection(null);
- return;
- }
-
-
- if (stmt_ instanceof org.trafodion.jdbc.t4.TrafT4PreparedStatement) {
- close(false);
- } else {
- close(true);
- }
- }
-
- public void deleteRow() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "deleteRow", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("deleteRow");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- clearWarnings();
-
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (getConcurrency() == ResultSet.CONCUR_READ_ONLY) {
- throw HPT4Messages
- .createSQLException(connection_.props_, connection_.getLocale(), "read_only_concur", null);
- }
- if (onInsertRow_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cursor_position", null);
- }
-
-
- try {
- prepareDeleteStmt();
- Row row = (Row) getCurrentRow();
- // Remove the row from database
- row.deleteRow(connection_.getLocale(), deleteStmt_, paramCols_);
- // Remove the row from the resultSet
- cachedRows_.remove(--currentRow_);
- --numRows_;
-
- if ((getType() == ResultSet.TYPE_FORWARD_ONLY) && (getConcurrency() == ResultSet.CONCUR_UPDATABLE)) {
- int temp;
- temp = currentRowCount_;
-
- if (!next()) {
- if (temp == 1) {
- isBeforeFirst_ = true;
- }
- currentRowCount_ = 0;
- } else {
- --currentRowCount_;
- }
- } else {
- if (currentRow_ == 0) {
- isBeforeFirst_ = true;
- }
- }
- } catch (SQLException e) {
- performConnectionErrorChecks(e);
- throw e;
- }
- }
-
- public int findColumn(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "findColumn", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("findColumn");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int i;
-
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- for (i = 0; i < outputDesc_.length; i++) {
- if (columnName.equalsIgnoreCase(outputDesc_[i].name_)) {
- return i + 1;
- }
- }
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_column_name", null);
- }
-
- public boolean first() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "first", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("first");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- boolean flag = true;
-
- clearWarnings();
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (getType() == ResultSet.TYPE_FORWARD_ONLY) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "forward_only_cursor",
- null);
- }
-
-
- if (isBeforeFirst_) {
- flag = next();
- }
- if (numRows_ > 0) {
- currentRow_ = 1;
- isAfterLast_ = false;
- isBeforeFirst_ = false;
- onInsertRow_ = false;
- }
- return flag;
- }
-
- // JDK 1.2
- public Array getArray(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getArray", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getArray");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- validateGetInvocation(columnIndex);
- HPT4Messages.throwUnsupportedFeatureException(connection_.props_, connection_.getLocale(), "getArray()");
- return null;
- }
-
- // JDK 1.2
- public Array getArray(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getArray", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getArray");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getArray(columnIndex);
- }
-
- public InputStream getAsciiStream(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getAsciiStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getAsciiStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- // For LOB Support - SB 10/8/2004
- int dataType;
-
-
- dataType = outputDesc_[columnIndex - 1].dataType_;
- switch (dataType) {
-
-
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BINARY:
- case Types.VARBINARY:
- case Types.LONGVARBINARY:
- case Types.BLOB:
- case Types.CLOB:
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- return new java.io.DataInputStream(new java.io.ByteArrayInputStream(data.getBytes("ASCII")));
- } catch (java.io.UnsupportedEncodingException e) {
- Object[] messageArguments = new Object[1];
- messageArguments[0] = e.getMessage();
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "unsupported_encoding", messageArguments);
- }
- } else {
- return null;
- }
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
-
- }
-
- public InputStream getAsciiStream(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getAsciiStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getAsciiStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getAsciiStream(columnIndex);
- }
-
- public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBigDecimal", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBigDecimal");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int dataType;
-
- String data;
- BigDecimal retValue;
- Double d;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- // String returned may not be numeric in case of SQL_CHAR, SQL_VARCHAR
- // and SQL_LONGVARCHAR
- // fields. Hoping that java might throw invalid value exception
- data = getLocalString(columnIndex);
- if (data != null) {
- data = data.trim();
- try {
- retValue = new BigDecimal(data);
- } catch (NumberFormatException e) {
- try {
- d = new Double(data);
- } catch (NumberFormatException e1) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- retValue = new BigDecimal(d.doubleValue());
- }
- return retValue;
- } else {
- return null;
- }
- }
-
- public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, scale);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBigDecimal", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, scale);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBigDecimal");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- BigDecimal retValue;
-
- retValue = getBigDecimal(columnIndex);
- if (retValue != null) {
- return retValue.setScale(scale);
- } else {
- return null;
- }
- }
-
- public BigDecimal getBigDecimal(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBigDecimal", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBigDecimal");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getBigDecimal(columnIndex);
- }
-
- public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, scale);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBigDecimal", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, scale);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBigDecimal");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getBigDecimal(columnIndex, scale);
- }
-
- public InputStream getBinaryStream(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBinaryStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBinaryStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- validateGetInvocation(columnIndex);
- byte[] data;
-
- // For LOB Support - SB 10/8/2004
- int dataType;
-
-
- dataType = outputDesc_[columnIndex - 1].dataType_;
- switch (dataType) {
-
-
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BINARY:
- case Types.VARBINARY:
- case Types.LONGVARBINARY:
- case Types.BLOB:
- case Types.CLOB:
- data = getBytes(columnIndex);
- if (data != null) {
- return new java.io.ByteArrayInputStream(data);
- } else {
- return null;
- }
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
- }
-
- public InputStream getBinaryStream(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBinaryStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBinaryStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getBinaryStream(columnIndex);
- }
-
-
- public boolean getBoolean(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBoolean", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBoolean");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- short shortValue;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- data = getLocalString(columnIndex);
- if (data != null) {
- data = data.trim();
- if ((data.equalsIgnoreCase("true")) || (data.equalsIgnoreCase("1"))) {
- return true;
- } else if ((data.equalsIgnoreCase("false")) || (data.equalsIgnoreCase("false"))) {
- return false;
- } else {
- try {
- shortValue = getShort(columnIndex);
- } catch (NumberFormatException e) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- switch (shortValue) {
- case 0:
- return false;
- case 1:
- return true;
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "numeric_out_of_range", null);
- }
- }
- } else {
- return false;
- }
- }
-
- public boolean getBoolean(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBoolean", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBoolean");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getBoolean(columnIndex);
- }
-
- public byte getByte(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getByte", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getByte");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- byte retValue;
- Double d;
- double d1;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- retValue = Byte.parseByte(data);
- } catch (NumberFormatException e) {
- try {
- d = new Double(data);
- } catch (NumberFormatException e1) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- d1 = d.doubleValue();
- // To allow -128.999.. and 127.999...
- if (d1 > (double) Byte.MIN_VALUE - 1 && d1 < (double) Byte.MAX_VALUE + 1) {
- retValue = d.byteValue();
- if ((double) retValue != d1) {
- setSQLWarning(null, "data_truncation", null);
- }
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "numeric_out_of_range", null);
- }
- }
- return retValue;
- } else {
- return 0;
- }
- }
-
- public byte getByte(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getByte", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getByte");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getByte(columnIndex);
- }
-
- public byte[] getBytes(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBytes", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBytes");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- validateGetInvocation(columnIndex);
- int dataType;
-
-
- dataType = outputDesc_[columnIndex - 1].dataType_;
-
- switch (dataType) {
- case Types.BINARY:
- case Types.VARBINARY:
- case Types.LONGVARBINARY:
- case Types.CHAR:
- case Types.VARCHAR: // Extension allows varchar and
- case Types.LONGVARCHAR: // longvarchar data types
- case Types.BLOB:
- case Types.CLOB:
-
- Object x = getCurrentRow().getColumnObject(columnIndex);
- if (x == null) {
- wasNull_ = true;
- return null;
- } else {
- wasNull_ = false;
- if (x instanceof byte[]) {
- return (byte[]) x;
- } else if (x instanceof String) {
- return ((String) x).getBytes();
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- }
-
-
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
- }
-
- public byte[] getBytes(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getBytes", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getBytes");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getBytes(columnIndex);
- }
-
- public Reader getCharacterStream(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getCharacterStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getCharacterStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- int dataType;
-
-
- validateGetInvocation(columnIndex);
- dataType = outputDesc_[columnIndex - 1].dataType_;
- switch (dataType) {
-
-
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BINARY:
- case Types.VARBINARY:
- case Types.LONGVARBINARY:
- case Types.BLOB:
- case Types.CLOB:
- data = getString(columnIndex);
- if (data != null) {
- return new java.io.StringReader(data);
- } else {
- return null;
- }
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
-
- }
-
- public Reader getCharacterStream(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getCharacterStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getCharacterStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getCharacterStream(columnIndex);
- }
-
- public int getConcurrency() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getConcurrency", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getConcurrency");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (stmt_ != null) {
- return stmt_.resultSetConcurrency_;
- } else {
- return ResultSet.CONCUR_READ_ONLY;
- }
- }
-
- public String getCursorName() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getCursorName", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getCursorName");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
-
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (spj_rs_ && stmtLabel_ != null) {
- return stmtLabel_;
- } else if (stmt_ != null) {
- String cursorName;
- cursorName = stmt_.cursorName_;
- if (cursorName == null) {
- cursorName = stmt_.stmtLabel_;
- }
- return cursorName;
- } else {
- return null;
- }
- }
-
- // wm_merge - AM
- static String convertDateFormat(String dt) {
- String tokens[] = dt.split("[/]", 3);
-
- if (tokens.length != 3) {
- return dt;
- }
- StringBuffer sb = new StringBuffer();
- sb.append(tokens[0]).append("-").append(tokens[1]).append("-").append(tokens[2]);
- return sb.toString();
- }
-
- public Date getDate(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getDate", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getDate");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int dataType;
- String data;
- Date retValue;
- int endIndex;
-
- validateGetInvocation(columnIndex);
- dataType = outputDesc_[columnIndex - 1].dataType_;
- if (dataType != Types.CHAR && dataType != Types.VARCHAR && dataType != Types.LONGVARCHAR
- && dataType != Types.DATE && dataType != Types.TIMESTAMP) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
-
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- boolean convertDate = connection_.getDateConversion();
-
- if (connection_.props_.t4Logger_.isLoggable(Level.FINEST) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- String temp = "Convert Date=" + convertDate;
- connection_.props_.t4Logger_.logp(Level.FINEST, "TrafT4ResultSet", "getDate", temp, p);
- }
- if (convertDate) {
- String dt = convertDateFormat(data);
- retValue = valueOf(dt);
- } else {
- retValue = Date.valueOf(data);
- }
- } catch (IllegalArgumentException e) {
- data = data.trim();
- if ((endIndex = data.indexOf(' ')) != -1) {
- data = data.substring(0, endIndex);
- }
- try {
- retValue = Date.valueOf(data);
- setSQLWarning(null, "data_truncation", null);
-
- } catch (IllegalArgumentException ex) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- }
- return retValue;
- } else {
- return null;
- }
- }
-
- /* TODO: this is a horrible hack but what else can be done with random 2 digit/4 digit years for dates?
- * Note: The date constructor wants (year-1900) as a parameter
- * We use the following table for conversion:
- *
- * Year Value Assumed Year Action
- * <50 Value + 2000 must add 100
- * >=100 Value must subtract 1900
- * >=50 Value + 1900 no change in value needed
- *
- */
- static Date valueOf(String s) {
- int year;
- int month;
- int day;
- int firstDash;
- int secondDash;
-
- if (s == null)
- throw new java.lang.IllegalArgumentException();
-
- firstDash = s.indexOf('-');
- secondDash = s.indexOf('-', firstDash + 1);
- if ((firstDash > 0) & (secondDash > 0) & (secondDash < s.length() - 1)) {
- year = Integer.parseInt(s.substring(0, firstDash));
-
- if (year < 50) {//handles 2 digit years: <50 assume 2000, >=50 assume 1900
- year += 100;
- }
- else if(year >= 100) { //handles 4 digit years
- year -= 1900;
- }
-
- month = Integer.parseInt(s.substring(firstDash + 1, secondDash)) - 1;
- day = Integer.parseInt(s.substring(secondDash + 1));
- } else {
- throw new java.lang.IllegalArgumentException();
- }
-
- return new Date(year, month, day);
- }
-
- public Date getDate(int columnIndex, Calendar cal) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, cal);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getDate", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, cal);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getDate");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- Date sqlDate;
- java.util.Date d;
-
- sqlDate = getDate(columnIndex);
- if (sqlDate != null) {
- if (cal != null) {
- cal.setTime(sqlDate);
- d = cal.getTime();
- sqlDate = new Date(d.getTime());
- }
- return sqlDate;
- } else {
- return (sqlDate);
- }
- }
-
- public Date getDate(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getDate", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getDate");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getDate(columnIndex);
- }
-
- public Date getDate(String columnName, Calendar cal) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, cal);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getDate", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, cal);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getDate");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getDate(columnIndex, cal);
- }
-
- public double getDouble(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getDouble", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getDouble");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- return Double.parseDouble(data);
- } catch (NumberFormatException e1) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- } else {
- return 0;
- }
- }
-
- public double getDouble(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getDouble", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getDouble");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getDouble(columnIndex);
- }
-
- public int getFetchDirection() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getFetchDirection", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getFetchDirection");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- return fetchDirection_;
- }
-
- public int getFetchSize() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getFetchSize", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getFetchSize");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- return fetchSize_;
- }
-
- public float getFloat(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getFloat", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getFloat");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- double data;
- validateGetInvocation(columnIndex);
-
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- // parseFloat doesn't return error when
- // the value exceds the float max
- data = getDouble(columnIndex);
- if (data >= Float.NEGATIVE_INFINITY && data <= Float.POSITIVE_INFINITY) {
- return (float) data;
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "numeric_out_of_range",
- null);
- }
- }
-
- public float getFloat(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getFloat", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getFloat");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getFloat(columnIndex);
- }
-
- public int getInt(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getInt", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getInt");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- int retValue;
- double d;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- retValue = Integer.parseInt(data);
- } catch (NumberFormatException e) {
- try {
- d = new Double(data).doubleValue();
- } catch (NumberFormatException e1) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
-
- if (d > (double) Integer.MIN_VALUE - 1 && d < (double) Integer.MAX_VALUE + 1) {
- retValue = (int) d;
- if ((double) retValue != d) {
- setSQLWarning(null, "data_truncation", null);
- }
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "numeric_out_of_range", null);
- }
- }
- } else {
- retValue = 0;
- }
-
- return retValue;
- }
-
- public int getInt(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getInt", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getInt");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getInt(columnIndex);
- }
-
- public long getLong(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getLong", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getLong");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- long retValue;
- double d;
-
- BigDecimal bd;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
- data = getLocalString(columnIndex);
-
- if (data != null) {
- try {
- retValue = Long.parseLong(data);
- } catch (NumberFormatException e) {
- try {
- bd = new BigDecimal(data);
- retValue = bd.longValue();
- if (bd.compareTo(BigDecimal.valueOf(Long.MAX_VALUE)) <= 0
- && bd.compareTo(BigDecimal.valueOf(Long.MIN_VALUE)) >= 0) {
-
- if (bd.compareTo(BigDecimal.valueOf(retValue)) != 0) {
- setSQLWarning(null, "data_truncation", null);
- }
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "numeric_out_of_range", null);
- }
- } catch (NumberFormatException e2) {
-
- try {
- d = new Double(data).doubleValue();
- } catch (NumberFormatException e1) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
-
- if (d >= Long.MIN_VALUE && d <= Long.MAX_VALUE) {
- retValue = (long) d;
-
- if ((double) retValue != d) {
- setSQLWarning(null, "data_truncation", null);
- }
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "numeric_out_of_range", null);
- }
- }
- }
- } else {
- retValue = 0;
- }
-
- return retValue;
- }
-
- public long getLong(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getLong", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getLong");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getLong(columnIndex);
- }
-
- public ResultSetMetaData getMetaData() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getMetaData", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getMetaData");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- return new HPT4ResultSetMetaData(this, outputDesc_);
- }
-
- public Object getObject(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getObject", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getObject");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int dataType;
- int precision;
- byte byteValue;
- short shortValue;
- int intValue;
- long longValue;
- float floatValue;
- double doubleValue;
- boolean booleanValue;
-
- validateGetInvocation(columnIndex);
- dataType = outputDesc_[columnIndex - 1].dataType_;
- precision = outputDesc_[columnIndex - 1].sqlPrecision_;
- switch (dataType) {
- case Types.TINYINT:
- byteValue = getByte(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Byte(byteValue);
- }
- case Types.SMALLINT:
- shortValue = getShort(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Short(shortValue);
- }
- case Types.INTEGER:
- intValue = getInt(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Integer(intValue);
- }
- case Types.BIGINT:
- longValue = getLong(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Long(longValue);
- }
- case Types.REAL:
- floatValue = getFloat(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Float(floatValue);
- }
- case Types.FLOAT:
- case Types.DOUBLE:
- doubleValue = getDouble(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Double(doubleValue);
- }
- case Types.DECIMAL:
- case Types.NUMERIC:
- return getBigDecimal(columnIndex);
- case Types.BIT:
- booleanValue = getBoolean(columnIndex);
- if (wasNull_) {
- return null;
- } else {
- return new Boolean(booleanValue);
- }
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BLOB:
- case Types.CLOB:
- return getString(columnIndex);
- case Types.BINARY:
- case Types.VARBINARY:
- return getBytes(columnIndex);
- case Types.LONGVARBINARY:
- return getBinaryStream(columnIndex);
- case Types.DATE:
- return getDate(columnIndex);
- case Types.TIME:
- if (precision > 0)
- return getString(columnIndex);
-
- return getTime(columnIndex);
- case Types.TIMESTAMP:
- return getTimestamp(columnIndex);
- // For LOB Support - SB 10/8/2004
-
-
- case Types.OTHER:
- return getString(columnIndex);
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
- }
-
- // JDK 1.2
- public Object getObject(int columnIndex, Map map) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getObject", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getObject");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- validateGetInvocation(columnIndex);
- HPT4Messages.throwUnsupportedFeatureException(connection_.props_, connection_.getLocale(), "getObject()");
- return null;
- }
-
- public Object getObject(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getObject", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getObject");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getObject(columnIndex);
- }
-
- // JDK 1.2
- public Object getObject(String columnName, Map map) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, map);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getObject", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, map);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getObject");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getObject(columnIndex, map);
- }
-
- // JDK 1.2
- public Ref getRef(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getRef", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getRef");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- validateGetInvocation(columnIndex);
- HPT4Messages.throwUnsupportedFeatureException(connection_.props_, connection_.getLocale(), "getRef()");
- return null;
- }
-
- // JDK 1.2
- public Ref getRef(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getRef", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getRef");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getRef(columnIndex);
- }
-
- public int getRow() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getRow", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getRow");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- clearWarnings();
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (isBeforeFirst_ || isAfterLast_ || onInsertRow_) {
- return 0;
- }
-
- if ((getType() == ResultSet.TYPE_FORWARD_ONLY) && (getConcurrency() == ResultSet.CONCUR_UPDATABLE)) {
- return currentRowCount_;
- }
- return currentRow_;
- }
-
- public short getShort(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getShort", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getShort");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
-
- String data;
- short retValue;
- double d;
-
- validateGetInvocation(columnIndex);
- outputDesc_[columnIndex - 1].checkValidNumericConversion(connection_.getLocale());
-
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- retValue = Short.parseShort(data);
- } catch (NumberFormatException e) {
- try {
- d = new Double(data).doubleValue();
- } catch (NumberFormatException e1) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
-
- if (d > (double) Short.MIN_VALUE - 1 && d < (double) Short.MAX_VALUE + 1) {
- retValue = (short) d;
- if ((double) retValue != d)
-
- {
- setSQLWarning(null, "data_truncation", null);
- }
- } else {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "numeric_out_of_range", null);
- }
- }
-
- } else {
- retValue = 0;
- }
-
- return retValue;
- }
-
- public short getShort(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getShort", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getShort");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getShort(columnIndex);
- }
-
- public Statement getStatement() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getStatement", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getStatement");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- return stmt_;
- }
-
- public String getString(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getString", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getString");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
- int targetSqlType;
- int precision;
- Object x;
- BaseRow currentRow;
-
- validateGetInvocation(columnIndex);
- currentRow = getCurrentRow();
- x = currentRow.getColumnObject(columnIndex);
-
- if (x == null) {
- wasNull_ = true;
- return null;
- }
-
- wasNull_ = false;
- targetSqlType = outputDesc_[columnIndex - 1].dataType_;
- precision = outputDesc_[columnIndex - 1].sqlPrecision_;
- switch (targetSqlType) {
-
-
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BLOB:
- case Types.CLOB:
- data = getLocalString(columnIndex);
- if (stmt_ != null && stmt_.maxFieldSize_ != 0) {
- if (data.length() > stmt_.maxFieldSize_) {
- data = data.substring(0, stmt_.maxFieldSize_);
- }
- }
- break;
- case Types.VARBINARY:
- case Types.BINARY:
- case Types.LONGVARBINARY:
- data = String.valueOf(getBytes(columnIndex));
- break;
- case Types.TIMESTAMP:
- Timestamp t = getTimestamp(columnIndex);
- data = "" + t.getNanos();
- int l = data.length();
- data = t.toString();
-
- if(precision > 0) {
- for(int i=0;i<precision-l;i++)
- data += '0';
- } else {
- data = data.substring(0,data.lastIndexOf('.'));
- }
-
- break;
- case Types.TIME:
- if (precision > 0)
- data = x.toString();
- else
- data = String.valueOf(getTime(columnIndex));
- break;
- case Types.DATE:
- data = String.valueOf(getDate(columnIndex));
- break;
- case Types.BOOLEAN:
- data = String.valueOf(getBoolean(columnIndex));
- break;
- case Types.SMALLINT:
- data = String.valueOf(getShort(columnIndex));
- break;
- case Types.TINYINT:
- data = String.valueOf(getByte(columnIndex));
- break;
- case Types.REAL:
- data = String.valueOf(getFloat(columnIndex));
- break;
- case Types.DOUBLE:
- case Types.FLOAT:
- data = String.valueOf(getDouble(columnIndex));
- break;
- case Types.DECIMAL:
- case Types.NUMERIC:
- BigDecimal bd = getBigDecimal(columnIndex);
- if (_javaVersion >= 1.5) {
- // as of Java 5.0 and above, BigDecimal.toPlainString() should be used.
- try {
- data = (String) _toPlainString.invoke(bd, (Object[]) null);
- } catch (Exception e) {
- data = bd.toString();
- }
- } else {
- data = bd.toString();
- }
- break;
- case Types.BIGINT:
- data = String.valueOf(getLong(columnIndex));
- break;
- case Types.INTEGER:
- data = String.valueOf(getInt(columnIndex));
- break;
- case Types.OTHER: {
- if (x instanceof byte[]) {
- try {
- data = new String((byte[]) x, "ASCII");
- } catch (Exception e) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "unsupported_encoding", "ASCII");
- }
- } else {
- data = x.toString();
- }
- // only 2 supported today
- // 1. SQLTYPECODE_INTERVAL
- // 2. SQLTYPECODE_DATETIME
- // Within DATETIME we check for only the SQL/MP specific data types
- // in another switch-case statement
- switch (outputDesc_[columnIndex - 1].fsDataType_) {
- case InterfaceResultSet.SQLTYPECODE_INTERVAL: {
- // if data does no start with a hyphen (representing a negative
- // sign)
- // then send back data without the byte that holds the hyphen
- // Reason: for Interval data types first byte is holding either
- // the
- // a negative sign or if number is positive, it is just an extra
- // space
- data = Utility.trimRightZeros(data);
- if (!data.startsWith(hyphen_string)) {
- data = data.substring(1);
- }
- }
- break;
- case InterfaceResultSet.SQLTYPECODE_DATETIME: {
- switch (outputDesc_[columnIndex - 1].sqlDatetimeCode_) {
- case HPT4Desc.SQLDTCODE_YEAR:
- case HPT4Desc.SQLDTCODE_YEAR_TO_MONTH:
- case HPT4Desc.SQLDTCODE_MONTH:
- case HPT4Desc.SQLDTCODE_MONTH_TO_DAY:
- case HPT4Desc.SQLDTCODE_DAY:
- case HPT4Desc.SQLDTCODE_HOUR:
- case HPT4Desc.SQLDTCODE_HOUR_TO_MINUTE:
- case HPT4Desc.SQLDTCODE_MINUTE:
- case HPT4Desc.SQLDTCODE_MINUTE_TO_SECOND:
- // case HPT4Desc.SQLDTCODE_MINUTE_TO_FRACTION:
- case HPT4Desc.SQLDTCODE_SECOND:
- // case HPT4Desc.SQLDTCODE_SECOND_TO_FRACTION:
- case HPT4Desc.SQLDTCODE_YEAR_TO_HOUR:
- case HPT4Desc.SQLDTCODE_YEAR_TO_MINUTE:
- case HPT4Desc.SQLDTCODE_MONTH_TO_HOUR:
- case HPT4Desc.SQLDTCODE_MONTH_TO_MINUTE:
- case HPT4Desc.SQLDTCODE_MONTH_TO_SECOND:
- // case HPT4Desc.SQLDTCODE_MONTH_TO_FRACTION:
- case HPT4Desc.SQLDTCODE_DAY_TO_HOUR:
- case HPT4Desc.SQLDTCODE_DAY_TO_MINUTE:
- case HPT4Desc.SQLDTCODE_DAY_TO_SECOND:
- // case HPT4Desc.SQLDTCODE_DAY_TO_FRACTION:
- case HPT4Desc.SQLDTCODE_HOUR_TO_FRACTION:
- break;
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "object_type_not_supported", null);
- }
- }
- break;
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "object_type_not_supported", null);
- }
- }
- break;
- case Types.ARRAY:
- case Types.BIT:
- case Types.REF:
- case Types.DATALINK:
- case Types.DISTINCT:
- case Types.JAVA_OBJECT:
- case Types.STRUCT:
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "object_type_not_supported", null);
- }
- return data;
- }
-
- public String getString(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getString", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getString");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getString(columnIndex);
- }
-
- public Time getTime(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTime", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTime");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int dataType;
- String data;
- Time retValue;
- Timestamp timestamp;
-
- validateGetInvocation(columnIndex);
- dataType = outputDesc_[columnIndex - 1].dataType_;
- if (dataType != Types.CHAR && dataType != Types.VARCHAR && dataType != Types.LONGVARCHAR
- && dataType != Types.TIME && dataType != Types.TIMESTAMP) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
- data = getLocalString(columnIndex);
- if (data != null) {
- switch (dataType) {
- case Types.TIMESTAMP:
- try {
- timestamp = Timestamp.valueOf(data);
- retValue = new Time(timestamp.getTime());
- } catch (IllegalArgumentException e) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- break;
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BLOB:
- case Types.CLOB:
- data = data.trim(); // Fall Thru
- case Types.TIME:
- try {
- retValue = Time.valueOf(data);
- } catch (IllegalArgumentException e) {
- try {
- timestamp = Timestamp.valueOf(data);
- retValue = new Time(timestamp.getTime());
- } catch (IllegalArgumentException ex) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- }
- break;
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "restricted_data_type", null);
- }
- return retValue;
- } else {
- return null;
- }
- }
-
- public Time getTime(int columnIndex, Calendar cal) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, cal);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTime", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, cal);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTime");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- Time sqlTime;
- java.util.Date d;
-
- sqlTime = getTime(columnIndex);
- if (sqlTime != null) {
- if (cal != null) {
- cal.setTime(sqlTime);
- d = cal.getTime();
- sqlTime = new Time(d.getTime());
- }
- return sqlTime;
- } else {
- return (sqlTime);
- }
- }
-
- public Time getTime(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTime", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTime");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getTime(columnIndex);
- }
-
- public Time getTime(String columnName, Calendar cal) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, cal);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTime", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, cal);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTime");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getTime(columnIndex, cal);
- }
-
- public Timestamp getTimestamp(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTimestamp", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTimestamp");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int dataType;
- String data;
- Timestamp retValue;
- Date dateValue;
- Time timeValue;
-
- validateGetInvocation(columnIndex);
- dataType = outputDesc_[columnIndex - 1].dataType_;
- if (dataType != Types.CHAR && dataType != Types.VARCHAR && dataType != Types.LONGVARCHAR
- && dataType != Types.DATE && dataType != Types.TIME && dataType != Types.TIMESTAMP) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "restricted_data_type",
- null);
- }
- data = getLocalString(columnIndex);
- if (data != null) {
- switch (dataType) {
- case Types.DATE:
- try {
- dateValue = Date.valueOf(data);
- retValue = new Timestamp(dateValue.getTime());
- } catch (IllegalArgumentException e) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
- break;
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BLOB:
- case Types.CLOB:
- data = data.trim();
- case Types.TIMESTAMP:
- case Types.TIME:
- try {
- retValue = Timestamp.valueOf(data);
- } catch (IllegalArgumentException e) {
- try {
- dateValue = Date.valueOf(data);
- retValue = new Timestamp(dateValue.getTime());
- } catch (IllegalArgumentException e1) {
- try {
- int nano = 0;
- if (outputDesc_[columnIndex - 1].sqlPrecision_ > 0) {
- nano = Integer.parseInt(data.substring(data.indexOf(".") + 1));
- nano *= Math.pow(10, 9 - outputDesc_[columnIndex - 1].sqlPrecision_);
- data = data.substring(0, data.indexOf("."));
- }
-
- timeValue = Time.valueOf(data);
- retValue = new Timestamp(timeValue.getTime());
- retValue.setNanos(nano);
- } catch (IllegalArgumentException e2) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "invalid_cast_specification", null);
- }
-
- }
- }
- break;
- default:
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "restricted_data_type", null);
- }
- return retValue;
- } else {
- return null;
- }
- }
-
- public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, cal);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTimestamp", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex, cal);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTimestamp");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- Timestamp sqlTimestamp;
- java.util.Date d;
- int nanos;
-
- sqlTimestamp = getTimestamp(columnIndex);
- if (sqlTimestamp != null) {
- if (cal != null) {
- nanos = sqlTimestamp.getNanos();
- cal.setTime(sqlTimestamp);
- d = cal.getTime();
- sqlTimestamp = new Timestamp(d.getTime());
- sqlTimestamp.setNanos(nanos);
- }
- return sqlTimestamp;
- } else {
- return (sqlTimestamp);
- }
- }
-
- public Timestamp getTimestamp(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTimestamp", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTimestamp");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getTimestamp(columnIndex);
- }
-
- public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, cal);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getTimestamp", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName, cal);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getTimestamp");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getTimestamp(columnIndex, cal);
- }
-
- public int getType() throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getType", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getType");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- if (isClosed_) {
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_cursor_state",
- null);
- }
- if (stmt_ != null) {
- return stmt_.resultSetType_;
- } else {
- return ResultSet.TYPE_FORWARD_ONLY;
- }
-
- }
-
- public InputStream getUnicodeStream(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getUnicodeStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getUnicodeStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- String data;
-
- validateGetInvocation(columnIndex);
- data = getLocalString(columnIndex);
- if (data != null) {
- try {
- return new java.io.ByteArrayInputStream(data.getBytes((String) InterfaceUtilities
- .getCharsetName(InterfaceUtilities.SQLCHARSETCODE_UNICODE)));
- } catch (java.io.UnsupportedEncodingException e) {
- Object[] messageArguments = new Object[1];
- messageArguments[0] = e.getMessage();
- throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
- "unsupported_encoding", messageArguments);
- }
- } else {
- return null;
- }
-
- }
-
- public InputStream getUnicodeStream(String columnName) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4ResultSet", "getUnicodeStream", "", p);
- }
- if (connection_.props_.getLogWriter() != null) {
- LogRecord lr = new LogRecord(Level.FINE, "");
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnName);
- lr.setParameters(p);
- lr.setSourceClassName("TrafT4ResultSet");
- lr.setSourceMethodName("getUnicodeStream");
- T4LogFormatter lf = new T4LogFormatter();
- String temp = lf.format(lr);
- connection_.props_.getLogWriter().println(temp);
- }
- int columnIndex = validateGetInvocation(columnName);
- return getUnicodeStream(columnIndex);
- }
-
- public URL getURL(int columnIndex) throws SQLException {
- if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
- Object p[] = T4LoggingUtilities.makeParams(connection_.props_, columnIndex);
- connection_.props_.t4Log
<TRUNCATED>