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:41 UTC

[02/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/TrafT4Statement.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4Statement.java b/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4Statement.java
deleted file mode 100644
index d0daff1..0000000
--- a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/TrafT4Statement.java
+++ /dev/null
@@ -1,1690 +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.lang.ref.WeakReference;
-import java.math.BigDecimal;
-import java.nio.ByteBuffer;
-import java.sql.BatchUpdateException;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-
-/**
- * <p>
- * JDBC Type 4 TrafT4Statement class.
- * </p>
- * <p>
- * Description: The <code>TrafT4Statement</code> class is an implementation of
- * the <code>java.sql.Statement</code> interface.
- * </p>
- */
-public class TrafT4Statement extends HPT4Handle implements java.sql.Statement {
-	// java.sql.Statement interface Methods
-
-	public void addBatch(String sql) throws SQLException {
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("addBatch");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "addBatch", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("addBatch");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		if (batchCommands_ == null) {
-			batchCommands_ = new ArrayList();
-		}
-
-
-		batchCommands_.add(sql);
-	}
-
-	public void cancel() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "cancel", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("cancel");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		// Donot clear warning, since the warning may pertain to
-		// previous opertation and it is not yet seen by the application
-		//
-		// We must decide if this statement is currently being processed or
-		// if it has a result set associated with it, and if that
-		// result set is currently active (i.e. we are fetching rows).
-		if ((ist_.t4statement_ != null && ist_.t4statement_.m_processing == true)
-				|| (resultSet_ != null && resultSet_[result_set_offset] != null
-						&& resultSet_[result_set_offset].irs_ != null
-						&& resultSet_[result_set_offset].irs_.t4resultSet_ != null && resultSet_[result_set_offset].irs_.t4resultSet_.m_processing == true))
-			ist_.cancel();
-	}
-
-	public void clearBatch() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "clearBatch", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("clearBatch");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		batchCommands_.clear();
-	}
-
-	/**
-	 * Closes the statement object. Synchronized to prevent the same resource
-	 * issued free command twice on the server.
-	 * 
-	 * @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, "TrafT4Statement", "close", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("close");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		if (isClosed_) {
-			return;
-		}
-
-		try {
-			if (connection_._isClosed() == false) {
-				for (int i = 0; i < num_result_sets_; i++) {
-					if (resultSet_[i] != null) {
-						resultSet_[i].close(false);
-					}
-				}
-				ist_.close();
-			}
-		} finally {
-			isClosed_ = true;
-			connection_.removeElement(pRef_);
-			initResultSets();
-		}
-	}
-
-	void initResultSets() {
-		num_result_sets_ = 1;
-		result_set_offset = 0;
-		resultSet_[result_set_offset] = null;
-	}
-
-	// ------------------------------------------------------------------
-	/**
-	 * This method will execute an operation.
-	 * 
-	 * @return true
-	 * 
-	 * @exception A
-	 *                SQLException is thrown
-	 */
-
-	public boolean execute() throws SQLException {
-		try {
-			ist_.executeDirect(queryTimeout_, this);
-		} catch (SQLException se) {
-			performConnectionErrorChecks(se);
-			throw se;
-		}
-		return true;
-	} // end execute
-
-	// ------------------------------------------------------------------
-
-	public boolean execute(String sql) throws SQLException {
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("execute");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "execute", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("execute");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		validateExecDirectInvocation(sql);
-		try {
-			ist_.execute(TRANSPORT.SRVR_API_SQLEXECDIRECT, 0, 0, null, queryTimeout_, sql_, this);
-
-			checkSQLWarningAndClose();
-		} catch (SQLException se) {
-			try {
-				if (num_result_sets_ == 1 && resultSet_[result_set_offset] == null)
-					;
-				{
-					internalClose();
-				}
-			} catch (SQLException closeException) {
-				se.setNextException(closeException);
-			}
-			performConnectionErrorChecks(se);
-			throw se;
-		}
-		if (resultSet_[result_set_offset] != null) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-	public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, autoGeneratedKeys);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "execute", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, autoGeneratedKeys);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("execute");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		boolean ret;
-
-		if (autoGeneratedKeys == TrafT4Statement.NO_GENERATED_KEYS) {
-			ret = execute(sql);
-		} else {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"auto_generated_keys_not_supported", null);
-		}
-		return ret;
-	}
-
-	public boolean execute(String sql, int[] columnIndexes) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnIndexes);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "execute", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnIndexes);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("execute");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		boolean ret;
-
-		if (columnIndexes == null) {
-			ret = execute(sql);
-		} else if (columnIndexes.length == 0) {
-			ret = execute(sql);
-		} else {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"auto_generated_keys_not_supported", null);
-		}
-		return ret;
-	}
-
-	public boolean execute(String sql, String[] columnNames) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnNames);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "execute", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnNames);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("execute");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		boolean ret;
-
-		if (columnNames == null) {
-			ret = execute(sql);
-		} else if (columnNames.length == 0) {
-			ret = execute(sql);
-		} else {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"auto_generated_keys_not_supported", null);
-		}
-		return ret;
-	}
-
-	public int[] executeBatch() throws SQLException, BatchUpdateException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "executeBatch", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("executeBatch");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		try {
-			int i = 0;
-			SQLException se;
-
-			validateExecDirectInvocation();
-			if ((batchCommands_ == null) || (batchCommands_.isEmpty())) {
-				return new int[]
-
-				{};
-			}
-
-			batchRowCount_ = new int[batchCommands_.size()];
-			for (i = 0; i < batchCommands_.size(); i++) {
-				String sql = (String) batchCommands_.get(i);
-
-				if (sql == null) {
-					se = HPT4Messages.createSQLException(connection_.props_, this.ist_.ic_.getLocale(),
-							"batch_command_failed", "Invalid SQL String");
-					throw new BatchUpdateException(se.getMessage(), se.getSQLState(), new int[0]);
-				}
-
-				sqlStmtType_ = ist_.getSqlStmtType(sql);
-
-				if (sqlStmtType_ == TRANSPORT.TYPE_SELECT) {
-					se = HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-							"select_in_batch_not_supported", null);
-					throw new BatchUpdateException(se.getMessage(), se.getSQLState(), new int[0]);
-				} else if (sqlStmtType_ == TRANSPORT.TYPE_STATS) {
-					se = HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-							"infostats_invalid_error", null);
-					throw new BatchUpdateException(se.getMessage(), se.getSQLState(), new int[0]);
-				} else if (sqlStmtType_ == TRANSPORT.TYPE_CONFIG) {
-					se = HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-							"config_cmd_invalid_error", null);
-					throw new BatchUpdateException(se.getMessage(), se.getSQLState(), new int[0]);
-				}
-				ist_.setTransactionStatus(connection_, sql);
-			}
-
-			Object[] commands = batchCommands_.toArray();
-			int[] batchRowCount = new int[commands.length];
-			String sql;
-			int rowCount = 0;
-
-			try {
-				for (i = 0; i < commands.length; i++) {
-					sql = String.valueOf(commands[i]);
-
-					validateExecDirectInvocation(sql);
-
-					ist_.execute(TRANSPORT.SRVR_API_SQLEXECDIRECT, 0, 0, null, queryTimeout_, sql_, this);
-
-					checkSQLWarningAndClose();
-
-					batchRowCount[i] = batchRowCount_[0]; // the member will
-					// be set by
-					// execute...keep
-					// them in our local
-					// array
-					rowCount += ist_.getRowCount();
-				}
-				// CTS requirement.
-				if (commands.length < 1) {
-					batchRowCount = new int[] {};
-				}
-			} catch (SQLException e) {
-				ist_.setRowCount(rowCount);
-				batchRowCount_ = new int[i];
-				System.arraycopy(batchRowCount, 0, batchRowCount_, 0, i);
-
-				BatchUpdateException be;
-
-				se = HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-						"batch_command_failed", null);
-				be = new BatchUpdateException(se.getMessage(), se.getSQLState(), batchRowCount_);
-				be.setNextException(e);
-
-				try {
-					if (resultSet_[result_set_offset] == null) {
-						internalClose();
-					}
-				} catch (SQLException closeException) {
-					be.setNextException(closeException);
-				}
-				performConnectionErrorChecks(e);
-
-				throw be;
-			}
-
-			ist_.setRowCount(rowCount);
-			batchRowCount_ = new int[i];
-			System.arraycopy(batchRowCount, 0, batchRowCount_, 0, i);
-			return batchRowCount_;
-		} finally {
-			clearBatch();
-		}
-
-	}
-
-	public ResultSet executeQuery(String sql) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "executeQuery", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("executeQuery");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		validateExecDirectInvocation(sql);
-		if (sqlStmtType_ != TRANSPORT.TYPE_SELECT && sqlStmtType_ != TRANSPORT.TYPE_STATS) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "non_select_invalid",
-					null);
-		}
-		try {
-			ist_.execute(TRANSPORT.SRVR_API_SQLEXECDIRECT, 0, 0, null, queryTimeout_, sql_, this);
-
-			checkSQLWarningAndClose();
-		} catch (SQLException se) {
-			try {
-				if (resultSet_[result_set_offset] == null) {
-					internalClose();
-				}
-			} catch (SQLException closeException) {
-				se.setNextException(closeException);
-			}
-			performConnectionErrorChecks(se);
-			throw se;
-		}
-		return resultSet_[result_set_offset];
-	}
-
-	public int executeUpdate(String sql) throws SQLException {
-		long count = executeUpdate64(sql);
-
-		if (count > Integer.MAX_VALUE)
-			this.setSQLWarning(null, "numeric_out_of_range", null);
-
-		return (int) count;
-	}
-
-	public long executeUpdate64(String sql) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "executeUpdate", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("executeUpdate");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		validateExecDirectInvocation(sql);
-		// 7708
-		if (sqlStmtType_ == TRANSPORT.TYPE_SELECT && (ist_.stmtIsLock != true)) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "select_invalid", null);
-		}
-		try {
-			ist_.execute(TRANSPORT.SRVR_API_SQLEXECDIRECT, 0, 0, null, queryTimeout_, sql_, this);
-
-			checkSQLWarningAndClose();
-		} catch (SQLException se) {
-			try {
-				if (resultSet_[result_set_offset] == null) {
-					internalClose();
-				}
-			} catch (SQLException closeException) {
-				se.setNextException(closeException);
-			}
-			performConnectionErrorChecks(se);
-			throw se;
-		}
-		return ist_.getRowCount();
-	}
-
-	public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, autoGeneratedKeys);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "executeUpdate", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, autoGeneratedKeys);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("executeUpdate");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		int ret;
-
-		if (autoGeneratedKeys == TrafT4Statement.NO_GENERATED_KEYS) {
-			ret = executeUpdate(sql);
-		} else {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"auto_generated_keys_not_supported", null);
-		}
-		return ret;
-	}
-
-	public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnIndexes);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "executeUpdate", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnIndexes);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("executeUpdate");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		int ret;
-
-		if (columnIndexes == null) {
-			ret = executeUpdate(sql);
-		} else if (columnIndexes.length == 0) {
-			ret = executeUpdate(sql);
-		} else {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"auto_generated_keys_not_supported", null);
-		}
-		return ret;
-	}
-
-	public int executeUpdate(String sql, String[] columnNames) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnNames);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "executeUpdate", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql, columnNames);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("executeUpdate");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		int ret;
-
-		if (columnNames == null) {
-			ret = executeUpdate(sql);
-		} else if (columnNames.length == 0) {
-			ret = executeUpdate(sql);
-		} else {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"auto_generated_keys_not_supported", null);
-		}
-		return ret;
-	}
-
-	public Connection getConnection() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getConnection", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getConnection");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		return connection_;
-	}
-
-	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, "TrafT4Statement", "getFetchDirection", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getFetchDirection");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		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, "TrafT4Statement", "getFetchSize", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getFetchSize");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return fetchSize_;
-	}
-
-	public ResultSet getGeneratedKeys() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getGeneratedKeys", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getGeneratedKeys");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-				"auto_generated_keys_not_supported", null);
-	}
-
-	public int getMaxFieldSize() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getMaxFieldSize", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getMaxFieldSize");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return maxFieldSize_;
-	}
-
-	public int getMaxRows() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getMaxRows", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getMaxRows");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return maxRows_;
-	}
-
-	public boolean getMoreResults() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getMoreResults", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getMoreResults");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return getMoreResults(Statement.CLOSE_CURRENT_RESULT);
-	}
-
-	public boolean getMoreResults(int current) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, current);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getMoreResults", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, current);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getMoreResults");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		switch (current) {
-		case Statement.CLOSE_ALL_RESULTS:
-			for (int i = 0; i <= result_set_offset; i++) {
-				if (resultSet_[i] != null) {
-					resultSet_[i].close();
-				}
-			}
-			break;
-		case Statement.KEEP_CURRENT_RESULT:
-			break;
-		case Statement.CLOSE_CURRENT_RESULT: // this is the default action
-		default:
-			if (resultSet_[result_set_offset] != null) {
-				resultSet_[result_set_offset].close();
-			}
-			break;
-		}
-		ist_.setRowCount(-1);
-		if (result_set_offset < num_result_sets_ - 1) {
-			result_set_offset++;
-			return true;
-		}
-		return false;
-	}
-
-	public int getQueryTimeout() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getQueryTimeout", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getQueryTimeout");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return queryTimeout_;
-	}
-
-	public ResultSet getResultSet() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getResultSet", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getResultSet");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return resultSet_[result_set_offset];
-	}
-
-	public int getResultSetConcurrency() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getResultSetConcurrency", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getResultSetConcurrency");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return resultSetConcurrency_;
-	}
-
-	public int getResultSetHoldability() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getResultSetHoldability", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getResultSetHoldability");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return resultSetHoldability_;
-	}
-
-	public int getResultSetType() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getResultSetType", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getResultSetType");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		return resultSetType_;
-	}
-
-	public int getUpdateCount() throws SQLException {
-		long count = getUpdateCount64();
-
-		if (count > Integer.MAX_VALUE)
-			this.setSQLWarning(null, "numeric_out_of_range", null);
-
-		return (int) count;
-	}
-
-	public long getUpdateCount64() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "getUpdateCount", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("getUpdateCount");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		if (ist_ == null) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_statement_handle", null);
-		}
-
-		// Spec wants -1 when the resultset is current and no more rows.
-		long count = ist_.getRowCount();
-		if ((count == 0) && resultSet_ != null && resultSet_[result_set_offset] != null) {
-			count = -1;
-		}
-
-		return count;
-	}
-
-	// ------------------------------------------------------------------
-	/**
-	 * This method will get the operation ID for this statement. -1 is returned
-	 * if the operation ID has not been set.
-	 * 
-	 * @retrun The operation ID or -1 if the operation ID has not been set.
-	 * 
-	 * @exception A
-	 *                SQLException is thrown
-	 */
-	public short getOperationID() throws SQLException {
-		return operationID_;
-	} // end getOperationID
-
-	// ------------------------------------------------------------------
-	/**
-	 * This method will get the operation buffer for this statement. Null is
-	 * returned if the operation buffer has not been set.
-	 * 
-	 * @retrun The operation buffer or null if the operation ID has not been
-	 *         set.
-	 * 
-	 * @exception A
-	 *                SQLException is thrown
-	 */
-	public byte[] getOperationBuffer() throws SQLException {
-		// System.out.println("in getOperation");
-		return operationBuffer_;
-	}
-
-	// ------------------------------------------------------------------
-	/**
-	 * This method will get the operation reply buffer for this statement. Null
-	 * is returned if the operation reply buffer has not been set.
-	 * 
-	 * @retrun The operation reply buffer or null.
-	 * 
-	 * @exception A
-	 *                SQLException is thrown
-	 */
-	public byte[] getOperationReplyBuffer() throws SQLException {
-		// System.out.println("in getOperationReplyBuffer");
-		return operationReply_;
-	}
-
-	// ------------------------------------------------------------------
-
-	public void setCursorName(String name) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, name);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setCursorName", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, name);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setCursorName");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-		// TODO: May need to check the Statement STATE
-		cursorName_ = name;
-	}
-
-	public void setEscapeProcessing(boolean enable) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, enable);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setEscapeProcessing", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, enable);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setEscapeProcessing");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		escapeProcess_ = enable;
-
-	}
-
-	public void setFetchDirection(int direction) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, direction);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setFetchDirection", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, direction);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setFetchDirection");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		switch (direction) {
-		case ResultSet.FETCH_FORWARD:
-			fetchDirection_ = direction;
-			break;
-		case ResultSet.FETCH_REVERSE:
-		case ResultSet.FETCH_UNKNOWN:
-			fetchDirection_ = ResultSet.FETCH_FORWARD;
-			break;
-		default:
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_fetch_direction", null);
-		}
-	}
-
-	public void setFetchSize(int rows) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, rows);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setFetchSize", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, rows);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setFetchSize");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		if (rows < 0) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_fetch_size",
-					null);
-		} else if (rows == 0) {
-			fetchSize_ = TrafT4ResultSet.DEFAULT_FETCH_SIZE;
-		} else {
-			fetchSize_ = rows;
-		}
-	}
-
-	public void setMaxFieldSize(int max) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, max);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setMaxFieldSize", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, max);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setMaxFieldSize");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		if (max < 0) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_maxFieldSize_value", null);
-		}
-		maxFieldSize_ = max;
-	}
-
-	public void setMaxRows(int max) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, max);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setMaxRows", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, max);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setMaxRows");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		if (max < 0) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_maxRows_value",
-					null);
-		}
-		maxRows_ = max;
-	}
-
-	public void setQueryTimeout(int seconds) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, seconds);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "setQueryTimeout", "", p);
-		}
-		if (connection_.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, seconds);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("setQueryTimeout");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection_.props_.getLogWriter().println(temp);
-		}
-
-		//HPT4Messages.throwUnsupportedFeatureException(connection_.props_, connection_.getLocale(), "setQueryTimeout()");
-		
-		if (seconds < 0) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_queryTimeout_value", null);
-		}
-		queryTimeout_ = seconds;
-	}
-
-	// ------------------------------------------------------------------
-	/**
-	 * This method will set the operation ID for this statement.
-	 * 
-	 * @param opID
-	 *            the operation ID to associate with this statement.
-	 * 
-	 * @exception A
-	 *                SQLException is thrown
-	 */
-	public void setOperationID(short opID) throws SQLException {
-		operationID_ = opID;
-	} // end setOperationID
-
-	// ------------------------------------------------------------------
-	/**
-	 * This method will set the operation buffer for this statement.
-	 * 
-	 * @param The
-	 *            operation buffer.
-	 * 
-	 * @exception A
-	 *                SQLException is thrown
-	 */
-	public void setOperationBuffer(byte[] opBuffer) throws SQLException {
-		operationBuffer_ = opBuffer;
-	}
-
-
-	void validateExecDirectInvocation(String sql) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, sql);
-			connection_.props_.t4Logger_.logp(Level.FINER, "TrafT4Statement", "validateExecDirectInvocation", "", p);
-		}
-
-		validateExecDirectInvocation();
-		sqlStmtType_ = ist_.getSqlStmtType(sql);
-		ist_.setTransactionStatus(connection_, sql);
-                sql_ = sql;
-
-	}
-
-	void validateExecDirectInvocation() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINER, "TrafT4Statement", "validateExecDirectInvocation", "", p);
-		}
-		ist_.setRowCount(-1);
-		clearWarnings();
-		if (isClosed_) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_statement",
-					null);
-		}
-		try {
-			// connection_.getServerHandle().isConnectionOpen();
-			connection_.isConnectionOpen();
-
-			// close the previous resultset, if any
-			for (int i = 0; i < num_result_sets_; i++) {
-				if (resultSet_[i] != null) {
-					resultSet_[i].close();
-				}
-			}
-		} catch (SQLException se) {
-			performConnectionErrorChecks(se);
-			throw se;
-		}
-	}
-	
-	// This functions ensure that Database Resources are cleaned up,
-	// but leave the java Statement object
-	// intact.
-	void internalClose() throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINER, "TrafT4Statement", "internalClose", "", p);
-		}
-		if (connection_._isClosed() == false) {
-			ist_.close();
-		}
-	}
-
-	private void setResultSet(HPT4Desc[] outputDesc) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, outputDesc);
-			connection_.props_.t4Logger_.logp(Level.FINER, "TrafT4Statement", "setResultSet", "", p);
-		}
-		initResultSets();
-		if (outputDesc != null) {
-			resultSet_[result_set_offset] = new TrafT4ResultSet(this, outputDesc);
-		} else {
-			resultSet_[result_set_offset] = null;
-		}
-	}
-
-	public void setTransactionToJoin(byte[] txid) throws SQLException {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, txid);
-			connection_.props_.t4Logger_.logp(Level.FINER, "TrafT4Statement", "setTransactionToJoin", "", p);
-		}
-
-		this.transactionToJoin = txid;
-	}
-
-	void setMultipleResultSets(int num_result_sets, HPT4Desc[][] output_descriptors, String[] stmt_labels,
-			String[] proxySyntax) throws SQLException {
-		if (num_result_sets < 1)
-			return;
-
-		resultSet_ = new TrafT4ResultSet[num_result_sets];
-		num_result_sets_ = num_result_sets;
-		for (int i = 0; i < num_result_sets; i++) {
-			HPT4Desc[] desc = output_descriptors[i];
-			if (desc == null) {
-				resultSet_[i] = null;
-			} else {
-				resultSet_[i] = new TrafT4ResultSet(this, desc, stmt_labels[i], true);
-				resultSet_[i].proxySyntax_ = proxySyntax[i];
-			}
-		}
-	}
-
-	// ----------------------------------------------------------------------------------
-	void setExecute2Outputs(byte[] values, short rowsAffected, boolean endOfData, String[] proxySyntax, HPT4Desc[] desc)
-			throws SQLException {
-		num_result_sets_ = 1;
-		result_set_offset = 0;
-
-		// if NO DATA FOUND is returned from the server, desc = null but
-		// we still want to save our descriptors from PREPARE
-		if (desc != null)
-			outputDesc_ = desc;
-
-		resultSet_ = new TrafT4ResultSet[num_result_sets_];
-
-		if (outputDesc_ != null) {
-			resultSet_[result_set_offset] = new TrafT4ResultSet(this, outputDesc_);
-			resultSet_[result_set_offset].proxySyntax_ = proxySyntax[result_set_offset];
-
-			if (rowsAffected == 0) {
-				if (endOfData == true) {
-					resultSet_[result_set_offset].setFetchOutputs(new Row[0], 0, true);
-				}
-			} else {
-				 if(resultSet_[result_set_offset].keepRawBuffer_ == true)
-			          resultSet_[result_set_offset].rawBuffer_ = values;
-				 
-				resultSet_[result_set_offset].irs_.setExecute2FetchOutputs(resultSet_[result_set_offset], 1, true,
-						values);
-			}
-		} else {
-			resultSet_[result_set_offset] = null;
-		}
-	}
-
-	// Constructors with access specifier as "default"
-	TrafT4Statement() {
-		if (T4Properties.t4GlobalLogger.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(null);
-			T4Properties.t4GlobalLogger.logp(Level.FINE, "TrafT4Statement", "<init>", "", p);
-		}
-		resultSet_ = new TrafT4ResultSet[1];
-		initResultSets();
-	}
-
-	/*
-	 * * For closing statements using label.
-	 */
-	TrafT4Statement(TrafT4Connection connection, String stmtLabel) throws SQLException {
-		if (connection.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, stmtLabel);
-			connection.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "<init>", "", p);
-		}
-		if (connection.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("Note, this constructor was called before the previous constructor");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection.props_.getLogWriter().println(temp);
-		}
-		int hashcode;
-
-		connection_ = connection;
-		operationID_ = -1;
-
-		resultSetType_ = ResultSet.TYPE_FORWARD_ONLY;
-		resultSetConcurrency_ = ResultSet.CONCUR_READ_ONLY;
-		resultSetHoldability_ = TrafT4ResultSet.CLOSE_CURSORS_AT_COMMIT;
-		queryTimeout_ = connection_.getServerHandle().getQueryTimeout();
-
-		stmtLabel_ = stmtLabel;
-		fetchSize_ = TrafT4ResultSet.DEFAULT_FETCH_SIZE;
-		maxRows_ = 0;
-		fetchDirection_ = ResultSet.FETCH_FORWARD;
-		pRef_ = new WeakReference(this, connection_.refStmtQ_);
-		ist_ = new InterfaceStatement(this);
-		connection_.addElement(pRef_, stmtLabel_);
-
-		resultSet_ = new TrafT4ResultSet[1];
-		initResultSets();
-	}
-
-	TrafT4Statement(TrafT4Connection connection) throws SQLException {
-		this(connection, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, TrafT4ResultSet.CLOSE_CURSORS_AT_COMMIT);
-		if (connection.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection);
-			connection.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "<init>",
-					"Note, this constructor was called before the previous constructor", p);
-		}
-		if (connection.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("<init>");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection.props_.getLogWriter().println(temp);
-		}
-		resultSet_ = new TrafT4ResultSet[1];
-		roundingMode_ = connection_.props_.getRoundingMode();
-		initResultSets();
-	}
-
-	TrafT4Statement(TrafT4Connection connection, int resultSetType, int resultSetConcurrency) throws SQLException {
-		this(connection, resultSetType, resultSetConcurrency, TrafT4ResultSet.CLOSE_CURSORS_AT_COMMIT);
-		if (connection.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, resultSetType,
-					resultSetConcurrency);
-			connection.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "<init>",
-					"Note, this constructor was called before the previous constructor", p);
-		}
-		if (connection.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, resultSetType,
-					resultSetConcurrency);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("<init>");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection.props_.getLogWriter().println(temp);
-		}
-		resultSet_ = new TrafT4ResultSet[1];
-		roundingMode_ = connection_.props_.getRoundingMode();
-		initResultSets();
-	}
-	TrafT4Statement(TrafT4Connection connection, int resultSetType, int resultSetConcurrency, int resultSetHoldability,
-			String stmtLabel) throws SQLException {
-		if (connection.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, resultSetType,
-					resultSetConcurrency, resultSetHoldability);
-			connection.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "<init>", "", p);
-		}
-		if (connection.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, resultSetType,
-					resultSetConcurrency, resultSetHoldability);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("<init>");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection.props_.getLogWriter().println(temp);
-		}
-		int hashcode;
-
-		connection_ = connection;
-		operationID_ = -1;
-
-		if (resultSetType != ResultSet.TYPE_FORWARD_ONLY && resultSetType != ResultSet.TYPE_SCROLL_INSENSITIVE
-				&& resultSetType != ResultSet.TYPE_SCROLL_SENSITIVE) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_resultset_type", null);
-		}
-
-		if (resultSetType == ResultSet.TYPE_SCROLL_SENSITIVE) {
-			resultSetType_ = ResultSet.TYPE_SCROLL_INSENSITIVE;
-			connection_.setSQLWarning(null, "scrollResultSetChanged", null);
-			//setSQLWarning(null, "scrollResultSetChanged", null);
-		} else {
-			resultSetType_ = resultSetType;
-		}
-		if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY && resultSetConcurrency != ResultSet.CONCUR_UPDATABLE) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_resultset_concurrency", null);
-		}
-
-		if ((resultSetHoldability != 0) && (resultSetHoldability != ResultSet.CLOSE_CURSORS_AT_COMMIT)
-				&& (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT)) {
-				throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_holdability",
-					null);
-		}
-
-		resultSetConcurrency_ = resultSetConcurrency;
-		resultSetHoldability_ = resultSetHoldability;
-		queryTimeout_ = connection_.getServerHandle().getQueryTimeout();
-
-		stmtLabel_ = stmtLabel;
-		fetchSize_ = TrafT4ResultSet.DEFAULT_FETCH_SIZE;
-		maxRows_ = 0;
-		fetchDirection_ = ResultSet.FETCH_FORWARD;
-
-		connection_.gcStmts();
-		pRef_ = new WeakReference(this, connection_.refStmtQ_);
-		ist_ = new InterfaceStatement(this);
-		connection_.addElement(pRef_, stmtLabel_);
-		roundingMode_ = connection_.props_.getRoundingMode();
-
-		resultSet_ = new TrafT4ResultSet[1];
-	}
-
-	TrafT4Statement(TrafT4Connection connection, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
-			throws SQLException {
-		if (connection.props_.t4Logger_.isLoggable(Level.FINE) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, resultSetType,
-					resultSetConcurrency, resultSetHoldability);
-			connection.props_.t4Logger_.logp(Level.FINE, "TrafT4Statement", "<init>", "", p);
-		}
-		if (connection.props_.getLogWriter() != null) {
-			LogRecord lr = new LogRecord(Level.FINE, "");
-			Object p[] = T4LoggingUtilities.makeParams(connection.props_, connection, resultSetType,
-					resultSetConcurrency, resultSetHoldability);
-			lr.setParameters(p);
-			lr.setSourceClassName("TrafT4Statement");
-			lr.setSourceMethodName("<init>");
-			T4LogFormatter lf = new T4LogFormatter();
-			String temp = lf.format(lr);
-			connection.props_.getLogWriter().println(temp);
-		}
-		int hashcode;
-
-		connection_ = connection;
-		operationID_ = -1;
-
-		if (resultSetType != ResultSet.TYPE_FORWARD_ONLY && resultSetType != ResultSet.TYPE_SCROLL_INSENSITIVE
-				&& resultSetType != ResultSet.TYPE_SCROLL_SENSITIVE) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_resultset_type", null);
-		}
-
-		if (resultSetType == ResultSet.TYPE_SCROLL_SENSITIVE) {
-			resultSetType_ = ResultSet.TYPE_SCROLL_INSENSITIVE;
-			connection_.setSQLWarning(null, "scrollResultSetChanged", null);
-			//setSQLWarning(null, "scrollResultSetChanged", null);
-		} else {
-			resultSetType_ = resultSetType;
-		}
-		if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY && resultSetConcurrency != ResultSet.CONCUR_UPDATABLE) {
-			throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(),
-					"invalid_resultset_concurrency", null);
-		}
-
-		if ((resultSetHoldability != 0) && (resultSetHoldability != ResultSet.CLOSE_CURSORS_AT_COMMIT)
-				&& (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT)) {
-				throw HPT4Messages.createSQLException(connection_.props_, connection_.getLocale(), "invalid_holdability",
-					null);
-		}
-
-		resultSetConcurrency_ = resultSetConcurrency;
-		resultSetHoldability_ = resultSetHoldability;
-		queryTimeout_ = connection_.getServerHandle().getQueryTimeout();
-
-		stmtLabel_ = generateStmtLabel();
-		fetchSize_ = TrafT4ResultSet.DEFAULT_FETCH_SIZE;
-		maxRows_ = 0;
-		fetchDirection_ = ResultSet.FETCH_FORWARD;
-
-		connection_.gcStmts();
-		pRef_ = new WeakReference(this, connection_.refStmtQ_);
-		ist_ = new InterfaceStatement(this);
-		connection_.addElement(pRef_, stmtLabel_);
-
-		resultSet_ = new TrafT4ResultSet[1];
-		roundingMode_ = connection_.props_.getRoundingMode();
-		initResultSets();
-	}
-
-	//max length for a label is 32 characters.
-	String generateStmtLabel() {
-		String id = String.valueOf(this.connection_.ic_.getSequenceNumber());
-		if(id.length() > 24) {
-			id = id.substring(id.length()-24);
-		}
-	
-		return "SQL_CUR_" + id;
-	}
-	
-	// Database statement are not deallocated when there is a
-	// SQLWarning or SQLException or when a resultSet is produced
-	void checkSQLWarningAndClose() {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_);
-			connection_.props_.t4Logger_.logp(Level.FINER, "TrafT4Statement", "checkSQLWarningAndClose", "", p);
-		}
-		if (sqlWarning_ != null) {
-			if (resultSet_[result_set_offset] == null) {
-				try {
-					internalClose();
-				} catch (SQLException closeException1) {
-				}
-			}
-		}
-	}
-
-	public void setRoundingMode(int roundingMode) {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, roundingMode);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4PreparedStatement", "setRoundingMode", "", p);
-		}
-		roundingMode_ = Utility.getRoundingMode(roundingMode);
-	}
-
-	public void setRoundingMode(String roundingMode) {
-		if (connection_.props_.t4Logger_.isLoggable(Level.FINER) == true) {
-			Object p[] = T4LoggingUtilities.makeParams(connection_.props_, roundingMode);
-			connection_.props_.t4Logger_.logp(Level.FINE, "TrafT4PreparedStatement", "setRoundingMode", "", p);
-		}
-		roundingMode_ = Utility.getRoundingMode(roundingMode);
-	}
-
-	void closeErroredConnection(HPT4Exception sme) {
-		connection_.closeErroredConnection(sme);
-	}
-
-	/**
-	 * Use this method to retrieve the statement-label name that was used when
-	 * creating the statement through the Trafodion connectivity service. You can
-	 * subsequently use the name retrieved as the cursor name when invoking
-	 * INFOSTATS to gather resource statistics through either the
-	 * <code>executeQuery(String sql)</code> or
-	 * <code>execute(String sql)</code> methods.
-	 */
-	public String getStatementLabel() {
-		return new String(stmtLabel_);
-	}
-
-	/**
-	 * Returns the raw SQL associated with the statement
-	 * 
-	 * @return the SQL text
-	 */
-	public String getSQL() {
-		return this.sql_;
-	}
-
-	/**
-	 * Returns the MXCS statement handle
-	 * 
-	 * @return the MXCS statement handle
-	 */
-	public int getStmtHandle() {
-		return this.ist_.stmtHandle_;
-	}
-
-	// static fields
-	public static final int NO_GENERATED_KEYS = 2;
-	// Fields
-	TrafT4Connection connection_;
-	int resultSetType_;
-	int resultSetConcurrency_;
-	String sql_;
-	int queryTimeout_;
-	int maxRows_;
-	int maxFieldSize_;
-	int fetchSize_;
-	int fetchDirection_;
-	boolean escapeProcess_;
-	String cursorName_ = "";
-	TrafT4ResultSet[] resultSet_; // Added for SPJ RS - SB 11/21/2005
-	int num_result_sets_; // Added for SPJ RS - SB 11/21/2005
-	int result_set_offset; // Added for SPJ RS - SB 11/21/2005
-	String stmtLabel_;
-	short sqlStmtType_;
-	boolean isClosed_;
-	ArrayList batchCommands_;
-	int[] batchRowCount_;
-	WeakReference pRef_;
-	int resultSetHoldability_;
-	InterfaceStatement ist_;
-
-	int inputParamsLength_;
-	int outputParamsLength_;
-	int inputDescLength_;
-	int outputDescLength_;
-
-	int inputParamCount_;
-	int outputParamCount_;
-
-	int roundingMode_ = BigDecimal.ROUND_HALF_EVEN;
-
-	HPT4Desc[] inputDesc_, outputDesc_;
-
-	short operationID_;
-	byte[] operationBuffer_;
-	byte[] operationReply_;
-
-	boolean usingRawRowset_;
-	ByteBuffer rowwiseRowsetBuffer_;
-
-	byte[] transactionToJoin;
-	
-	int _lastCount = -1;
-
-	/**
-	 * @return the inputParamsLength_
-	 */
-	public int getInputParamsLength_() {
-		return inputParamsLength_;
-	}
-
-	/**
-	 * @return the outputParamsLength_
-	 */
-	public int getOutputParamsLength_() {
-		return outputParamsLength_;
-	}
-
-	public Object unwrap(Class iface) throws SQLException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public boolean isWrapperFor(Class iface) throws SQLException {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public boolean isClosed() throws SQLException {
-		// TODO Auto-generated method stub
-                return isClosed_;
-	}
-
-	public void setPoolable(boolean poolable) throws SQLException {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public boolean isPoolable() throws SQLException {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public void closeOnCompletion() throws SQLException {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public boolean isCloseOnCompletion() throws SQLException {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/72e17019/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/USER_DESC_def.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/USER_DESC_def.java b/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/USER_DESC_def.java
deleted file mode 100644
index d67aa96..0000000
--- a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/USER_DESC_def.java
+++ /dev/null
@@ -1,61 +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.nio.charset.CharacterCodingException;
-import java.nio.charset.UnsupportedCharsetException;
-
-class USER_DESC_def {
-	int userDescType;
-	byte[] userSid;
-	String domainName;
-	String userName;
-	byte[] password;
-
-	byte[] domainNameBytes;
-	byte[] userNameBytes;
-
-	int sizeOf(InterfaceConnection ic) throws CharacterCodingException, UnsupportedCharsetException {
-		int size = 0;
-
-		domainNameBytes = ic.encodeString(domainName, 1);
-		userNameBytes = ic.encodeString(userName, 1);
-
-		size += TRANSPORT.size_int; // descType
-
-		size += TRANSPORT.size_bytes(userSid);
-		size += TRANSPORT.size_bytes(domainNameBytes);
-		size += TRANSPORT.size_bytes(userNameBytes);
-		size += TRANSPORT.size_bytes(password);
-
-		return size;
-	}
-
-	void insertIntoByteArray(LogicalByteArray buf) {
-		buf.insertInt(userDescType);
-
-		buf.insertString(userSid);
-		buf.insertString(domainNameBytes);
-		buf.insertString(userNameBytes);
-		buf.insertString(password);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/72e17019/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/Utility.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/Utility.java b/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/Utility.java
deleted file mode 100644
index a3224d7..0000000
--- a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/Utility.java
+++ /dev/null
@@ -1,636 +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.UnsupportedEncodingException;
-import java.math.BigDecimal;
-import java.sql.DataTruncation;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-
-/**
- * This class contains a variety of methods for doing all sorts of things. 
- * @version 1.0
- */
-
-class Utility {
-
-	private static final byte key[] = Utility.UnicodeToAscii("ci4mg04-3;" + "b,hl;y'd1q" + "x8ngp93nGp" + "oOp4HlD7vm"
-			+ ">o(fHoPdkd" + "khp1`gl0hg" + "qERIFdlIFl" + "w48fgljksg" + "3oi5980rfd" + "4t8u9dfvkl");
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will translate a double byte Unicode string into a single
-	 * byte ASCII array.
-	 * 
-	 * @param original
-	 *            the original string
-	 * 
-	 * @return a byte array containing the translated string
-	 * 
-	 * @exception An
-	 *                UnsupportedEncodingException is thrown
-	 */
-	static byte[] UnicodeToAscii(String original) {
-		try {
-			byte[] utf8Bytes = original.getBytes("UTF8");
-			return utf8Bytes;
-		} catch (UnsupportedEncodingException e) {
-			e.printStackTrace();
-		}
-		return null;
-	} // end UnicodeToAscii
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will encrypt a byte buffer according to the encryption
-	 * algorithm used by the ODBC server.
-	 * 
-	 * @param original
-	 *            the original string
-	 * 
-	 * @return a byte array containing the translated string
-	 * 
-	 */
-	static boolean Encryption(byte inBuffer[], byte outBuffer[], int inLength) {
-		// Use simple encryption/decryption
-
-		if (outBuffer != inBuffer) {
-			System.arraycopy(outBuffer, 0, inBuffer, 0, inLength);
-		} // end if
-
-		for (int i = 0; i < inLength; ++i) {
-			int j = i % 100;
-			outBuffer[i] ^= key[j];
-		}
-
-		return true;
-	} // end Encryption
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a float value according to the MAX_FLOAT and
-	 * MIN_FLOAT values in the Java language.
-	 * 
-	 * @param the
-	 *            original double value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkFloatBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		double indbl = inbd.doubleValue();
-		// double abdbl = inbd.abs().doubleValue(); Need to do MIN check as well
-		if (indbl > (double) Float.MAX_VALUE) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", inbd.toString());
-		}
-	} // end checkFloatBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a double value according to the MAX_VALUE and
-	 * MIN_VALUE values in the Double class.
-	 * 
-	 * @param the
-	 *            original double value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkDoubleBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		BigDecimal maxbd = new BigDecimal(Double.MAX_VALUE);
-		// need to check min as well
-		// BigDecimal minbd = new BigDecimal(Double.MIN_VALUE);
-		if ((inbd.compareTo(maxbd) > 0)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", inbd.toString());
-		}
-
-	} // end checkDoubleBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Integer value according to the
-	 * Interger.MAX_VALUE and Integer.MIN_VALUE values.
-	 * 
-	 * @param the
-	 *            original long value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkIntegerBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		if ((inlong > Integer.MAX_VALUE) || (inlong < Integer.MIN_VALUE)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", String.valueOf(inlong));
-		}
-	} // end checkIntegerBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Long value according to the Long.MAX_VALUE*2 and
-	 * 0 values.
-	 * 
-	 * @param the
-	 *            original BigDecimal value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkSignedLongBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		BigDecimal maxbd = new BigDecimal(Long.MAX_VALUE);
-		maxbd = maxbd.add(maxbd);
-		if ((inlong < 0) || (inbd.compareTo(maxbd) > 0)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", String.valueOf(inlong));
-		}
-	} // end checkIntegerBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a unsigned Short value according to the
-	 * Short.MAX_VALUE*2 and 0 values.
-	 * 
-	 * @param the
-	 *            original BigDecimal value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkSignedShortBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		long maxushort = (Short.MAX_VALUE * 2) + 1;
-		if ((inlong < 0) || (inlong > maxushort)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", String.valueOf(inlong));
-		}
-	} // end checkIntegerBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a unsigned Int value according to the
-	 * Integer.MAX_VALUE*2 and 0 values.
-	 * 
-	 * @param the
-	 *            original BigDecimal value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkUnsignedIntegerBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		long maxuint = ((long) Integer.MAX_VALUE * 2L) + 1L;
-		if ((inlong < 0) || (inlong > maxuint)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", String.valueOf(inlong));
-		}
-	} // end checkIntegerBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Tinyint value according to the Byte.MAX_VALUE
-	 * and Byte.MIN_VALUE values.
-	 * 
-	 * @param the
-	 *            original long value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkTinyintBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		if ((inlong > Byte.MAX_VALUE) || (inlong < Byte.MIN_VALUE)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", String.valueOf(inlong));
-		}
-	} // end checkTinyintBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Short value according to the Short.MAX_VALUE and
-	 * Short.MIN_VALUE values.
-	 * 
-	 * @param the
-	 *            original long value to check
-	 * @Locale the Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkShortBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		if ((inlong > Short.MAX_VALUE) || (inlong < Short.MIN_VALUE)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", String.valueOf(inlong));
-		}
-	} // end checkShortBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will extract the BigDecimal value.
-	 * 
-	 * @param the
-	 *            Locale to print the error message in
-	 * @param the
-	 *            original object value to extract
-	 * 
-	 * @return constructed BigDecimal value
-	 * 
-	 */
-	static BigDecimal getBigDecimalValue(Locale locale, Object paramValue) throws SQLException {
-		BigDecimal tmpbd;
-
-		if (paramValue instanceof Long) {
-			tmpbd = BigDecimal.valueOf(((Long) paramValue).longValue());
-		} else if (paramValue instanceof Integer) {
-			tmpbd = BigDecimal.valueOf(((Integer) paramValue).longValue());
-		} else if (paramValue instanceof BigDecimal) {
-			tmpbd = (BigDecimal) paramValue;
-		} else if (paramValue instanceof String) {
-			String sVal = (String) paramValue;
-			if (sVal.equals("true") == true) {
-				sVal = "1";
-			} else if (sVal.equals("false") == true) {
-				sVal = "0";
-			}
-			tmpbd = new BigDecimal(sVal);
-		} else if (paramValue instanceof Float) {
-			tmpbd = new BigDecimal(paramValue.toString());
-		} else if (paramValue instanceof Double) {
-			tmpbd = new BigDecimal(((Double) paramValue).toString());
-		} else if (paramValue instanceof Boolean) {
-			tmpbd = BigDecimal.valueOf(((((Boolean) paramValue).booleanValue() == true) ? 1 : 0));
-		} else if (paramValue instanceof Byte) {
-			tmpbd = BigDecimal.valueOf(((Byte) paramValue).longValue());
-		} else if (paramValue instanceof Short) {
-			tmpbd = BigDecimal.valueOf(((Short) paramValue).longValue());
-		} else if (paramValue instanceof Integer) {
-			tmpbd = BigDecimal.valueOf(((Integer) paramValue).longValue());
-			// For LOB Support SB: 10/25/2004
-			/*
-			 * else if (paramValue instanceof DataWrapper) tmpbd =
-			 * BigDecimal.valueOf(((DataWrapper)paramValue).longValue);
-			 */
-		} else {
-			throw HPT4Messages.createSQLException(null, locale, "object_type_not_supported", paramValue);
-		}
-		return tmpbd;
-	} // end getBigDecimalValue
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Decimal value according to the precision in the
-	 * Database table.
-	 * 
-	 * @param the
-	 *            original BigDecimal value to check
-	 * @param the
-	 *            Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkDecimalBoundary(Locale locale, BigDecimal inbd, int precision) throws SQLException {
-		if (precision > 0) {
-			BigDecimal maxbd = new BigDecimal(Math.pow(10, precision));
-			BigDecimal minbd = maxbd.negate();
-			if ((inbd.compareTo(maxbd) >= 0) || (inbd.compareTo(minbd) < 0)) {
-				throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", inbd.toString());
-			}
-		}
-	} // end checkBigDecimalBoundary
-	//---------------------------------------------------------------
-	/*code change starts
-	 *  MR Description:  Warnings not  being displayed  when numeric overflow occurs
-	 */
-
-	/**
-	 * This method will check a scale value with the column in the
-	 * Database table.
-	 * 
-	 * @param the
-	 *             BigDecimal value to check
-	 * @param the
-	 *            scale to check with the BigDecimal's scale
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkScale(BigDecimal tmpbd, int scale) throws SQLException
-	{
-		if (tmpbd.scale() > scale)
-			if (!((tmpbd.scale() == 1) && (tmpbd.toString().endsWith("0"))))
-			{
-				try
-				{
-					Object[] messageArguments = new Object[1];
-					messageArguments[0] = new String("A numeric overflow occurred during an arithmetic computation " +
-							"or data conversion.");
-					throw HPT4Messages.createSQLWarning(null, "8411", messageArguments);
-				}
-				catch (SQLWarning e)
-				{
-					e.printStackTrace();
-				}
-			}
-	}
-
-	//code change ends
-
-	// Fix_LeadingZero - AM 08/07/2006
-	private static int getExtraLen(String s) {
-		int extra = 0;
-
-		// count the trailing zero
-		int inx = s.indexOf(".");
-		if (inx != -1) {
-			int len = s.length();
-			for (int i = len - 1; i > inx; i--) {
-				char ch = s.charAt(i);
-				if (ch != '0') {
-					break;
-				}
-				extra++;
-			}
-		}
-		// count for leading zero
-		if (s.startsWith("0.") || s.startsWith("-0.")) {
-			extra++;
-		}
-
-		return extra;
-	}
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Decimal value according to the precision in the
-	 * Database table.
-	 * 
-	 * @param the
-	 *            original BigDecimal value to check
-	 * @param the
-	 *            Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkDecimalTruncation(int parameterIndex, Locale locale, BigDecimal inbd, int precision, int scale)
-			throws SQLException {
-		if (precision <= 0)
-			return;
-
-		int expectedLen = precision;
-
-		if (scale > 0)
-			expectedLen = precision + 1;
-
-		if (inbd.signum() == -1)
-			expectedLen++;
-		int actualLen = 0;
-
-		// Fix_LeadingZero - AM 08/07/2006
-		expectedLen += getExtraLen(inbd.toString());
-		/*
-		 * if( (actualLen = inbd.toString().length()) > expectedLen ){
-		 * //System.out.println("Length of " + inbd.toString() + " is greater
-		 * than " + precision); throw new DataTruncation(parameterIndex, true,
-		 * false, actualLen, expectedLen); }
-		 */
-		actualLen = inbd.toString().length();
-		if (precision > 0) {
-			BigDecimal maxbd = new BigDecimal(Math.pow(10, precision - scale));
-			BigDecimal minbd = maxbd.negate();
-			if ((inbd.compareTo(maxbd) >= 0) || (inbd.compareTo(minbd) < 0)) {
-				// System.out.println("Max = " + maxbd.toString() + "\nMin = " +
-				// minbd + "\nInputted Val: " + inbd.toString());
-				// throw new DataTruncation(parameterIndex, true, false,
-				// actualLen, expectedLen);
-				throw new SQLException("*** ERROR[29188] Numeric value " + inbd.doubleValue() + " is out of range [" + minbd.doubleValue() + ", " + maxbd.doubleValue() + "]; Parameter index: " + (parameterIndex) +". ["+new SimpleDateFormat("yyyy-MM-dd HH:mm:s").format(new Date())+"]", "22003", -8411);
-			}
-		}
-	} // end checkDecimalTruncation
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Long value according to the Long.MAX_VALUE and
-	 * Long.MIN_VALUE values.
-	 * 
-	 * @param the
-	 *            original long value to check
-	 * @param the
-	 *            Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkLongBoundary(Locale locale, BigDecimal inbd) throws SQLException {
-		if ((inbd.compareTo(long_maxbd) > 0) || (inbd.compareTo(long_minbd) < 0)) {
-			throw HPT4Messages.createSQLException(null, locale, "numeric_out_of_range", inbd.toString());
-		}
-	} // end checkBigDecimalBoundary
-
-	// -------------------------------------------------------------
-	/**
-	 * This method will check a Double and long value are the same.
-	 * 
-	 * @param the
-	 *            original double value to check
-	 * @param the
-	 *            original long value to check
-	 * @param the
-	 *            Locale to print the error message in
-	 * 
-	 * @return none
-	 * 
-	 */
-	static void checkLongTruncation(int parameterindex, BigDecimal inbd) throws SQLException {
-		long inlong = inbd.longValue();
-		double indbl = inbd.doubleValue();
-
-		if ((double) inlong != indbl) {
-			int sizeLong = String.valueOf(inlong).length();
-			int sizeDbl = String.valueOf(indbl).length();
-			// throw new DataTruncation(parameterindex, true, false,
-			// sizeLong, sizeDbl);
-
-			DataTruncation dt = new DataTruncation(parameterindex, true, false, sizeLong, sizeDbl);
-			dt.setNextException(new SQLException("DataTruncation", "22003", -8411));
-			throw dt;
-		}
-	} // end checkLongTruncation
-
-	/**
-	 * This method sets the round mode behaviour for the driver. Accepted values
-	 * are: static int ROUND_CEILING Rounding mode to round towards positive
-	 * infinity. static int ROUND_DOWN Rounding mode to round towards zero.
-	 * static int ROUND_FLOOR Rounding mode to round towards negative infinity.
-	 * static int ROUND_HALF_DOWN Rounding mode to round towards "nearest
-	 * neighbor" unless both neighbors are equidistant, in which case round
-	 * down. static int ROUND_HALF_EVEN Rounding mode to round towards the
-	 * "nearest neighbor" unless both neighbors are equidistant, in which case,
-	 * round towards the even neighbor. static int ROUND_HALF_UP Rounding mode
-	 * to round towards "nearest neighbor" unless both neighbors are
-	 * equidistant, in which case round up. static int ROUND_UNNECESSARY
-	 * Rounding mode to assert that the requested operation has an exact result,
-	 * hence no rounding is necessary. static int ROUND_UP Rounding mode to
-	 * round away from zero. The default behaviour is to do ROUND_DOWN.
-	 * 
-	 * @param ref
-	 *            roundMode
-	 */
-	static int getRoundingMode(String roundMode) {
-		int op_roundMode = BigDecimal.ROUND_DOWN;
-		if (roundMode == null) {
-			op_roundMode = BigDecimal.ROUND_DOWN;
-		} else if (roundMode.equals("ROUND_CEILING")) {
-			op_roundMode = BigDecimal.ROUND_CEILING;
-		} else if (roundMode.equals("ROUND_DOWN")) {
-			op_roundMode = BigDecimal.ROUND_DOWN;
-		} else if (roundMode.equals("ROUND_FLOOR")) {
-			op_roundMode = BigDecimal.ROUND_FLOOR;
-		} else if (roundMode.equals("ROUND_HALF_UP")) {
-			op_roundMode = BigDecimal.ROUND_HALF_UP;
-		} else if (roundMode.equals("ROUND_UNNECESSARY")) {
-			op_roundMode = BigDecimal.ROUND_UNNECESSARY;
-		} else if (roundMode.equals("ROUND_HALF_EVEN")) {
-			op_roundMode = BigDecimal.ROUND_HALF_EVEN;
-		} else if (roundMode.equals("ROUND_HALF_DOWN")) {
-			op_roundMode = BigDecimal.ROUND_HALF_DOWN;
-		} else if (roundMode.equals("ROUND_UP")) {
-			op_roundMode = BigDecimal.ROUND_UP;
-		} else {
-			try {
-				op_roundMode = getRoundingMode(Integer.parseInt(roundMode));
-			} catch (Exception ex) {
-				op_roundMode = BigDecimal.ROUND_DOWN;
-			}
-
-		}
-		return op_roundMode;
-	}
-
-	/**
-	 * This method sets the round mode behaviour for the driver. Accepted values
-	 * are: static int ROUND_CEILING Rounding mode to round towards positive
-	 * infinity. static int ROUND_DOWN Rounding mode to round towards zero.
-	 * static int ROUND_FLOOR Rounding mode to round towards negative infinity.
-	 * static int ROUND_HALF_DOWN Rounding mode to round towards "nearest
-	 * neighbor" unless both neighbors are equidistant, in which case round
-	 * down. static int ROUND_HALF_EVEN Rounding mode to round towards the
-	 * "nearest neighbor" unless both neighbors are equidistant, in which case,
-	 * round towards the even neighbor. static int ROUND_HALF_UP Rounding mode
-	 * to round towards "nearest neighbor" unless both neighbors are
-	 * equidistant, in which case round up. static int ROUND_UNNECESSARY
-	 * Rounding mode to assert that the requested operation has an exact result,
-	 * hence no rounding is necessary. static int ROUND_UP Rounding mode to
-	 * round away from zero. The default behaviour is to do ROUND_DOWN.
-	 * 
-	 * @param ref
-	 *            roundMode
-	 */
-	static int getRoundingMode(int roundMode) {
-		if ((roundMode == BigDecimal.ROUND_CEILING) || (roundMode == BigDecimal.ROUND_DOWN)
-				|| (roundMode == BigDecimal.ROUND_UP) || (roundMode == BigDecimal.ROUND_FLOOR)
-				|| (roundMode == BigDecimal.ROUND_HALF_UP) || (roundMode == BigDecimal.ROUND_UNNECESSARY)
-				|| (roundMode == BigDecimal.ROUND_HALF_EVEN) || (roundMode == BigDecimal.ROUND_HALF_DOWN)) {
-			return roundMode;
-		} else {
-			return BigDecimal.ROUND_DOWN;
-		}
-	}
-
-	static BigDecimal setScale(BigDecimal tmpbd, int scale, int roundingMode) throws SQLException {
-		try {
-			if (scale > -1) {
-				tmpbd = tmpbd.setScale(scale, roundingMode);
-			}
-		} catch (ArithmeticException aex) {
-			throw new SQLException(aex.getMessage());
-		}
-		return tmpbd;
-	}
-
-	static final BigDecimal long_maxbd = BigDecimal.valueOf(Long.MAX_VALUE);
-	static final BigDecimal long_minbd = BigDecimal.valueOf(Long.MIN_VALUE);
-
-    static private final char DEFAULT_TRIM_WHITESPACE = ' ';
-
-    static public String trimRight(final String string)
-    {
-        return trimRight(string, DEFAULT_TRIM_WHITESPACE);
-    }
-
-    static public String trimRight(final String string, final char trimChar)
-    {
-        final int lastChar = string.length() - 1;
-        int i;
-
-        for (i = lastChar; i >= 0 && string.charAt(i) == trimChar; i--) {
-            /* Decrement i until it is equal to the first char that does not
-             * match the trimChar given. */
-        }
-        
-        if (i < lastChar) {
-            // the +1 is so we include the char at i
-            return string.substring(0, i+1);
-        } else {
-            return string;
-        }
-    }
-    static public String trimLeft(String string)
-    {
-        return trimLeft( string, DEFAULT_TRIM_WHITESPACE );
-    }
-
-    static public String trimLeft(final String string, final char trimChar)
-    {
-        final int stringLength = string.length();
-        int i;
-        
-        for (i = 0; i < stringLength && string.charAt(i) == trimChar; i++) {
-            /* increment i until it is at the location of the first char that
-             * does not match the trimChar given. */
-        }
-
-        if (i == 0) {
-            return string;
-        } else {
-            return string.substring(i);
-        }
-    }
-    static public String trimRightZeros(String x) {
-    	byte[] input = x.getBytes();
-    	int i = input.length;
-   	
-		while (i-- > 0 && input[i] == 0) {}
-	
-		byte[] output = new byte[i+1];
-		System.arraycopy(input, 0, output, 0, i+1);
-		return new String(output);
-    }
-
-} // end class Utility