Class EmbedResultSet

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.lang.Comparable, java.sql.ResultSet, java.sql.Wrapper, EngineResultSet
    Direct Known Subclasses:
    EmbedResultSet42

    public class EmbedResultSet
    extends ConnectionChild
    implements EngineResultSet, java.lang.Comparable
    A EmbedResultSet for results from the EmbedStatement family. Supports JDBC 4.1.
    • Constructor Summary

      Constructors 
      Constructor Description
      EmbedResultSet​(EmbedConnection conn, ResultSet resultsToWrap, boolean forMetaData, EmbedStatement stmt, boolean isAtomic)
      This class provides the glue between the Derby resultset and the JDBC resultset, mapping calls-to-calls.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean absolute​(int row)
      JDBC 2.0
      private void addWarning​(java.sql.SQLWarning w)
      Adds a warning to the end of the warning chain.
      protected void adjustScale​(int columnIndex, int scale)
      Adjust the scale of a type.
      void afterLast()
      JDBC 2.0
      void beforeFirst()
      JDBC 2.0
      void cancelRowUpdates()
      JDBC 2.0 The cancelRowUpdates() method may be called after calling an updateXXX() method(s) and before calling updateRow() to rollback the updates made to a row.
      (package private) void checkExecIfClosed​(java.lang.String operation)
      Throw an exception if this ResultSet is closed or its Connection has been closed.
      (package private) void checkIfClosed​(java.lang.String operation)
      Throw an exception if this ResultSet is closed.
      private void checkLOBMultiCall​(int columnIndex)
      Checks if a stream or a LOB object has already been created for the specified LOB column.
      private void checkNotOnInsertRow()  
      protected void checkOnRow()  
      private boolean checkRowPosition​(int position, java.lang.String positionText)  
      protected void checksBeforeInsert()  
      private void checksBeforeUpdateAsciiStream​(int columnIndex)
      Check whether it is OK to update a column using updateAsciiStream().
      private void checksBeforeUpdateBinaryStream​(int columnIndex)
      Check whether it is OK to update a column using updateBinaryStream().
      private void checksBeforeUpdateCharacterStream​(int columnIndex)
      Check whether it is OK to update a column using updateCharacterStream().
      protected void checksBeforeUpdateOrDelete​(java.lang.String methodName, int columnIndex)  
      protected void checksBeforeUpdateXXX​(java.lang.String methodName, int columnIndex)  
      private void checkScrollCursor​(java.lang.String methodName)
      Checks if the result set has a scrollable cursor.
      private void checkUpdatableCursor​(java.lang.String operation)  
      void clearWarnings()
      After this call getWarnings returns null until a new warning is reported for this ResultSet.
      void close()
      In some cases, it is desirable to immediately release a ResultSet's database and JDBC resources instead of waiting for this to happen when it is automatically closed; the close method provides this immediate release.
      private void closeCurrentStream()
      Documented behaviour for streams is that they are implicitly closed on the next get*() method call.
      (package private) java.sql.SQLException closeOnTransactionError​(java.lang.Throwable thrownException)  
      int compareTo​(java.lang.Object other)  
      private java.sql.SQLException dataTypeConversion​(int column, java.lang.String targetType)  
      private java.sql.SQLException dataTypeConversion​(java.lang.String targetType, int column)  
      void deleteRow()
      JDBC 2.0 Delete the current row from the result set and the underlying database.
      int findColumn​(java.lang.String columnName)
      Map a Resultset column name to a ResultSet column index.
      protected int findColumnName​(java.lang.String columnName)
      Map a Resultset column name to a ResultSet column index.
      boolean first()
      JDBC 2.0
      java.sql.Array getArray​(int i)
      JDBC 2.0 Get an array column.
      java.sql.Array getArray​(java.lang.String colName)
      JDBC 2.0 Get an array column.
      java.io.InputStream getAsciiStream​(int columnIndex)
      Pushes a converter on top of getCharacterStream().
      java.io.InputStream getAsciiStream​(java.lang.String columnName)
      A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream.
      java.math.BigDecimal getBigDecimal​(int columnIndex)  
      java.math.BigDecimal getBigDecimal​(int columnIndex, int scale)
      Deprecated.
      java.math.BigDecimal getBigDecimal​(java.lang.String columnName)
      JDBC 2.0 Get the value of a column in the current row as a java.math.BigDecimal object.
      java.math.BigDecimal getBigDecimal​(java.lang.String columnName, int scale)
      Deprecated.
      java.io.InputStream getBinaryStream​(int columnIndex)
      Get the column as an InputStream.
      java.io.InputStream getBinaryStream​(java.lang.String columnName)
      A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream.
      java.sql.Blob getBlob​(int columnIndex)
      JDBC 2.0 Get a BLOB column.
      java.sql.Blob getBlob​(java.lang.String columnName)
      JDBC 2.0 Get a BLOB column.
      boolean getBoolean​(int columnIndex)
      Get the value of a column in the current row as a Java boolean.
      boolean getBoolean​(java.lang.String columnName)
      Get the value of a column in the current row as a Java boolean.
      byte getByte​(int columnIndex)
      Get the value of a column in the current row as a Java byte.
      byte getByte​(java.lang.String columnName)
      Get the value of a column in the current row as a Java byte.
      byte[] getBytes​(int columnIndex)
      Get the value of a column in the current row as a Java byte array.
      byte[] getBytes​(java.lang.String columnName)
      Get the value of a column in the current row as a Java byte array.
      java.io.Reader getCharacterStream​(int columnIndex)
      JDBC 2.0
      java.io.Reader getCharacterStream​(java.lang.String columnName)
      JDBC 2.0
      java.sql.Clob getClob​(int columnIndex)
      JDBC 2.0 Get a CLOB column.
      java.sql.Clob getClob​(java.lang.String columnName)
      JDBC 2.0 Get a CLOB column.
      protected DataValueDescriptor getColumn​(int columnIndex)
      Get the column value for a getXXX() call.
      (package private) java.lang.String getColumnSQLType​(int column)  
      (package private) int getColumnType​(int columnIndex)
      Check the column is in range *and* return the JDBC type of the column.
      int getConcurrency()
      JDBC 2.0 Return the concurrency of this result set.
      java.lang.String getCursorName()
      Get the name of the SQL cursor used by this ResultSet.
      java.sql.Date getDate​(int columnIndex)
      Get the value of a column in the current row as a java.sql.Date object.
      java.sql.Date getDate​(int columnIndex, java.util.Calendar cal)
      JDBC 2.0 Get the value of a column in the current row as a java.sql.Date object.
      java.sql.Date getDate​(java.lang.String columnName)
      Get the value of a column in the current row as a java.sql.Date object.
      java.sql.Date getDate​(java.lang.String columnName, java.util.Calendar cal)
      JDBC 2.0 Get the value of a column in the current row as a java.sql.Date object.
      double getDouble​(int columnIndex)
      Get the value of a column in the current row as a Java double.
      double getDouble​(java.lang.String columnName)
      Get the value of a column in the current row as a Java double.
      protected DataValueDescriptor getDVDforColumnToBeUpdated​(int columnIndex, java.lang.String updateMethodName)  
      int getFetchDirection()
      JDBC 2.0 Return the fetch direction for this result set.
      int getFetchSize()
      JDBC 2.0 Return the fetch size for this result set.
      float getFloat​(int columnIndex)
      Get the value of a column in the current row as a Java float.
      float getFloat​(java.lang.String columnName)
      Get the value of a column in the current row as a Java float.
      private java.lang.String getFullBaseTableName​(ExecCursorTableReference targetTable)  
      int getHoldability()
      JDBC 4.0
      int getInt​(int columnIndex)
      Get the value of a column in the current row as a Java int.
      int getInt​(java.lang.String columnName)
      Get the value of a column in the current row as a Java int.
      int getLength​(int columnIndex)
      Return the length of the designated columnIndex data value.
      long getLong​(int columnIndex)
      Get the value of a column in the current row as a Java long.
      long getLong​(java.lang.String columnName)
      Get the value of a column in the current row as a Java long.
      private int getMaxColumnWidth​(int columnIndex)
      Return the user-defined maximum size of the column.
      java.sql.ResultSetMetaData getMetaData()
      The number, types and properties of a ResultSet's columns are provided by the getMetaData method.
      java.io.Reader getNCharacterStream​(int columnIndex)  
      java.io.Reader getNCharacterStream​(java.lang.String columnName)  
      java.sql.NClob getNClob​(int i)  
      java.sql.NClob getNClob​(java.lang.String colName)  
      java.lang.String getNString​(int columnIndex)  
      java.lang.String getNString​(java.lang.String columnName)  
      java.lang.Object getObject​(int columnIndex)
      Get the value of a column in the current row as a Java object.
      <T> T getObject​(int columnIndex, java.lang.Class<T> type)
      Retrieve the column as an object of the desired type.
      java.lang.Object getObject​(int columnIndex, java.util.Map<java.lang.String,​java.lang.Class<?>> map)
      JDBC 2.0 Returns the value of column i as a Java object.
      java.lang.Object getObject​(java.lang.String columnName)
      Get the value of a column in the current row as a Java object.
      <T> T getObject​(java.lang.String columnName, java.lang.Class<T> type)  
      java.lang.Object getObject​(java.lang.String colName, java.util.Map<java.lang.String,​java.lang.Class<?>> map)
      JDBC 2.0 Returns the value of column i as a Java object.
      protected ParameterValueSet getParameterValueSet()
      Try to see if we can fish the pvs out of the local statement.
      java.sql.Ref getRef​(int i)
      JDBC 2.0 Get a REF(<structured-type>) column.
      java.sql.Ref getRef​(java.lang.String colName)
      JDBC 2.0 Get a REF(<structured-type>) column.
      int getRow()
      JDBC 2.0
      java.sql.RowId getRowId​(int columnIndex)  
      java.sql.RowId getRowId​(java.lang.String columnName)  
      short getShort​(int columnIndex)
      Get the value of a column in the current row as a Java short.
      short getShort​(java.lang.String columnName)
      Get the value of a column in the current row as a Java short.
      protected java.lang.String getSQLText()
      Try to see if we can fish the SQL Statement out of the local statement.
      java.sql.SQLXML getSQLXML​(int columnIndex)  
      java.sql.SQLXML getSQLXML​(java.lang.String colName)  
      java.sql.Statement getStatement()
      JDBC 2.0 Return the Statement that produced the ResultSet.
      java.lang.String getString​(int columnIndex)
      Get the value of a column in the current row as a Java String.
      java.lang.String getString​(java.lang.String columnName)
      Get the value of a column in the current row as a Java String.
      java.sql.Time getTime​(int columnIndex)
      Get the value of a column in the current row as a java.sql.Time object.
      java.sql.Time getTime​(int columnIndex, java.util.Calendar cal)
      JDBC 2.0 Get the value of a column in the current row as a java.sql.Time object.
      java.sql.Time getTime​(java.lang.String columnName)
      Get the value of a column in the current row as a java.sql.Time object.
      java.sql.Time getTime​(java.lang.String columnName, java.util.Calendar cal)
      JDBC 2.0 Get the value of a column in the current row as a java.sql.Time object.
      java.sql.Timestamp getTimestamp​(int columnIndex)
      Get the value of a column in the current row as a java.sql.Timestamp object.
      java.sql.Timestamp getTimestamp​(int columnIndex, java.util.Calendar cal)
      JDBC 2.0 Get the value of a column in the current row as a java.sql.Timestamp object.
      java.sql.Timestamp getTimestamp​(java.lang.String columnName)
      Get the value of a column in the current row as a java.sql.Timestamp object.
      java.sql.Timestamp getTimestamp​(java.lang.String columnName, java.util.Calendar cal)
      JDBC 2.0 Get the value of a column in the current row as a java.sql.Timestamp object.
      int getType()
      JDBC 2.0 Return the type of this result set.
      java.io.InputStream getUnicodeStream​(int columnIndex)
      Deprecated.
      java.io.InputStream getUnicodeStream​(java.lang.String columnName)
      Deprecated.
      java.net.URL getURL​(int columnIndex)
      JDBC 3.0 Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
      java.net.URL getURL​(java.lang.String columnName)
      JDBC 3.0 Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
      java.sql.SQLWarning getWarnings()
      The first warning reported by calls on this ResultSet is returned.
      private void initializeUpdateRowModifiers()
      Initializes the currentRowHasBeenUpdated and columnGotUpdated fields
      void insertRow()
      JDBC 2.0 Insert the contents of the insert row into the result set and the database.
      boolean isAfterLast()
      JDBC 2.0
      boolean isBeforeFirst()
      JDBC 2.0
      boolean isClosed()
      JDBC 4.0
      boolean isFirst()
      JDBC 2.0
      boolean isForUpdate()
      * Is this result set from a select for update statement?
      boolean isLast()
      JDBC 2.0
      private static boolean isMaxFieldSizeType​(int colType)  
      boolean isNull​(int columnIndex)
      Is the designated columnIndex a null data value?
      boolean isWrapperFor​(java.lang.Class<?> interfaces)
      Returns false unless interfaces is implemented
      boolean last()
      JDBC 2.0
      private void markClosed()
      Mark this ResultSet as closed and trigger the closing of the Statement if necessary.
      private java.sql.SQLException mismatchException​(java.lang.String targetTypeName, int columnIndex)  
      protected boolean movePosition​(int position, int row, java.lang.String positionText)  
      protected boolean movePosition​(int position, java.lang.String positionText)  
      void moveToCurrentRow()
      JDBC 2.0 Move the cursor to the remembered cursor position, usually the current row.
      void moveToInsertRow()
      JDBC 2.0 Move to the insert row.
      boolean next()
      A ResultSet is initially positioned before its first row; the first call to next makes the first row the current row; the second call makes the second row the current row, etc.
      (package private) static java.sql.SQLException noStateChangeException​(java.lang.Throwable thrownException)
      An exception on many method calls to JDBC objects does not change the state of the transaction or statement, or even the underlying object.
      boolean previous()
      JDBC 2.0
      void refreshRow()
      JDBC 2.0 Refresh the value of the current row with its current value in the database.
      boolean relative​(int row)
      JDBC 2.0
      boolean rowDeleted()
      JDBC 2.0 Determine if this row has been deleted.
      boolean rowInserted()
      JDBC 2.0 Determine if the current row has been inserted.
      boolean rowUpdated()
      JDBC 2.0 Determine if the current row has been updated.
      void setApplicationStatement​(java.sql.Statement applicationStmt)
      Set the application Statement object that created this ResultSet.
      (package private) void setDynamicResultSet​(EmbedStatement owningStmt)
      A dynamic result was created in a procedure by a nested connection.
      void setFetchDirection​(int direction)
      JDBC 2.0 Give a hint as to the direction in which the rows in this result set will be processed.
      static void setFetchedRowBase​(long newBase)
      Debug method used to test the setLargeMaxRows() method added by JDBC 4.2.
      void setFetchSize​(int rows)
      JDBC 2.0 Give the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this result set.
      <T> T unwrap​(java.lang.Class<T> interfaces)
      Returns this if this class implements the interface
      void updateArray​(int columnIndex, java.sql.Array x)
      JDBC 3.0 Updates the designated column with a java.sql.Array value.
      void updateArray​(java.lang.String columnName, java.sql.Array x)
      JDBC 3.0 Updates the designated column with a java.sql.Array value.
      void updateAsciiStream​(int columnIndex, java.io.InputStream x)
      Updates the designated column with a character stream value.
      void updateAsciiStream​(int columnIndex, java.io.InputStream x, int length)
      JDBC 2.0 Update a column with an ascii stream value.
      void updateAsciiStream​(int columnIndex, java.io.InputStream x, long length)
      Update a column with an ascii stream value.
      void updateAsciiStream​(java.lang.String columnName, java.io.InputStream x)
      Updates the designated column with a character stream value.
      void updateAsciiStream​(java.lang.String columnName, java.io.InputStream x, int length)
      JDBC 2.0 Update a column with an ascii stream value.
      void updateAsciiStream​(java.lang.String columnName, java.io.InputStream x, long length)
      JDBC 4.0 Update a column with an ascii stream value.
      void updateBigDecimal​(int columnIndex, java.math.BigDecimal x)  
      void updateBigDecimal​(java.lang.String columnName, java.math.BigDecimal x)
      JDBC 2.0 Update a column with a BigDecimal value.
      void updateBinaryStream​(int columnIndex, java.io.InputStream x)
      Updates the designated column with a binary stream value.
      void updateBinaryStream​(int columnIndex, java.io.InputStream x, int length)
      JDBC 2.0 Update a column with a binary stream value.
      void updateBinaryStream​(int columnIndex, java.io.InputStream x, long length)
      Update a column with a binary stream value.
      void updateBinaryStream​(java.lang.String columnName, java.io.InputStream x)
      Updates the designated column with a binary stream value.
      void updateBinaryStream​(java.lang.String columnName, java.io.InputStream x, int length)
      JDBC 2.0 Update a column with a binary stream value.
      void updateBinaryStream​(java.lang.String columnName, java.io.InputStream x, long length)
      JDBC 4.0 Update a column with a binary stream value.
      private void updateBinaryStreamInternal​(int columnIndex, java.io.InputStream x, boolean lengthLess, long length, java.lang.String updateMethodName)
      Set the given binary stream for the specified parameter.
      void updateBlob​(int columnIndex, java.io.InputStream x)
      Updates the designated column using the given input stream.
      void updateBlob​(int columnIndex, java.io.InputStream x, long length)
      JDBC 4.0 Updates the designated column with a java.sql.Blob value.
      void updateBlob​(int columnIndex, java.sql.Blob x)
      JDBC 3.0 Updates the designated column with a java.sql.Blob value.
      void updateBlob​(java.lang.String columnName, java.io.InputStream x)
      Updates the designated column using the given input stream.
      void updateBlob​(java.lang.String columnName, java.io.InputStream x, long length)
      JDBC 4.0 Updates the designated column with a java.sql.Blob value.
      void updateBlob​(java.lang.String columnName, java.sql.Blob x)
      JDBC 3.0 Updates the designated column with a java.sql.Blob value.
      void updateBoolean​(int columnIndex, boolean x)
      JDBC 2.0 Update a column with a boolean value.
      void updateBoolean​(java.lang.String columnName, boolean x)
      JDBC 2.0 Update a column with a boolean value.
      void updateByte​(int columnIndex, byte x)
      JDBC 2.0 Update a column with a byte value.
      void updateByte​(java.lang.String columnName, byte x)
      JDBC 2.0 Update a column with a byte value.
      void updateBytes​(int columnIndex, byte[] x)
      JDBC 2.0 Update a column with a byte array value.
      void updateBytes​(java.lang.String columnName, byte[] x)
      JDBC 2.0 Update a column with a byte array value.
      void updateCharacterStream​(int columnIndex, java.io.Reader x)
      Updates the designated column with a character stream value.
      void updateCharacterStream​(int columnIndex, java.io.Reader x, int length)
      JDBC 2.0 Update a column with a character stream value.
      void updateCharacterStream​(int columnIndex, java.io.Reader x, long length)
      JDBC 4.0 Update a column with a character stream value.
      void updateCharacterStream​(java.lang.String columnName, java.io.Reader reader)
      Updates the designated column with a character stream value.
      void updateCharacterStream​(java.lang.String columnName, java.io.Reader reader, int length)
      JDBC 2.0 Update a column with a character stream value.
      void updateCharacterStream​(java.lang.String columnName, java.io.Reader reader, long length)
      JDBC 4.0 Update a column with a character stream value.
      private void updateCharacterStreamInternal​(int columnIndex, java.io.Reader reader, boolean lengthLess, long length, java.lang.String updateMethodName)
      Set the given character stream for the specified parameter.
      void updateClob​(int columnIndex, java.io.Reader x)
      Updates the designated column using the given Reader object.
      void updateClob​(int columnIndex, java.io.Reader x, long length)
      JDBC 4.0 Updates the designated column with a java.sql.Clob value.
      void updateClob​(int columnIndex, java.sql.Clob x)
      JDBC 3.0 Updates the designated column with a java.sql.Clob value.
      void updateClob​(java.lang.String columnName, java.io.Reader x)
      Updates the designated column using the given Reader object.
      void updateClob​(java.lang.String columnName, java.io.Reader x, long length)
      JDBC 4.0 Updates the designated column with a java.sql.Clob value.
      void updateClob​(java.lang.String columnName, java.sql.Clob x)
      JDBC 3.0 Updates the designated column with a java.sql.Clob value.
      void updateDate​(int columnIndex, java.sql.Date x)
      JDBC 2.0 Update a column with a Date value.
      void updateDate​(java.lang.String columnName, java.sql.Date x)
      JDBC 2.0 Update a column with a Date value.
      void updateDouble​(int columnIndex, double x)
      JDBC 2.0 Update a column with a Double value.
      void updateDouble​(java.lang.String columnName, double x)
      JDBC 2.0 Update a column with a double value.
      void updateFloat​(int columnIndex, float x)
      JDBC 2.0 Update a column with a float value.
      void updateFloat​(java.lang.String columnName, float x)
      JDBC 2.0 Update a column with a float value.
      void updateInt​(int columnIndex, int x)
      JDBC 2.0 Update a column with an integer value.
      void updateInt​(java.lang.String columnName, int x)
      JDBC 2.0 Update a column with an integer value.
      void updateLong​(int columnIndex, long x)
      JDBC 2.0 Update a column with a long value.
      void updateLong​(java.lang.String columnName, long x)
      JDBC 2.0 Update a column with a long value.
      void updateNCharacterStream​(int columnIndex, java.io.Reader x)  
      void updateNCharacterStream​(int columnIndex, java.io.Reader x, long length)  
      void updateNCharacterStream​(java.lang.String columnName, java.io.Reader x)  
      void updateNCharacterStream​(java.lang.String columnName, java.io.Reader x, long length)  
      void updateNClob​(int columnIndex, java.io.Reader reader)  
      void updateNClob​(int columnIndex, java.io.Reader x, long length)
      Updates the designated column using the given Reader object, which is the given number of characters long.
      void updateNClob​(int columnIndex, java.sql.NClob nClob)  
      void updateNClob​(java.lang.String columnName, java.io.Reader reader)  
      void updateNClob​(java.lang.String columnName, java.io.Reader x, long length)
      Updates the designated column using the given Reader object, which is the given number of characters long.
      void updateNClob​(java.lang.String columnName, java.sql.NClob nClob)  
      void updateNString​(int columnIndex, java.lang.String nString)  
      void updateNString​(java.lang.String columnName, java.lang.String nString)  
      void updateNull​(int columnIndex)
      JDBC 2.0 Give a nullable column a null value.
      void updateNull​(java.lang.String columnName)
      JDBC 2.0 Update a column with a null value.
      void updateObject​(int columnIndex, java.lang.Object x)
      JDBC 2.0 Update a column with an Object value.
      void updateObject​(int columnIndex, java.lang.Object x, int scale)
      JDBC 2.0 Update a column with an Object value.
      void updateObject​(java.lang.String columnName, java.lang.Object x)
      JDBC 2.0 Update a column with an Object value.
      void updateObject​(java.lang.String columnName, java.lang.Object x, int scale)
      JDBC 2.0 Update a column with an Object value.
      void updateRef​(int columnIndex, java.sql.Ref x)
      JDBC 3.0 Updates the designated column with a java.sql.Ref value.
      void updateRef​(java.lang.String columnName, java.sql.Ref x)
      JDBC 3.0 Updates the designated column with a java.sql.Ref value.
      void updateRow()
      JDBC 2.0 Update the underlying database with the new contents of the current row.
      void updateRowId​(int columnIndex, java.sql.RowId x)  
      void updateRowId​(java.lang.String columnName, java.sql.RowId x)  
      void updateShort​(int columnIndex, short x)
      JDBC 2.0 Update a column with a short value.
      void updateShort​(java.lang.String columnName, short x)
      JDBC 2.0 Update a column with a short value.
      void updateSQLXML​(int columnIndex, java.sql.SQLXML xmlObject)  
      void updateSQLXML​(java.lang.String columnName, java.sql.SQLXML xmlObject)  
      void updateString​(int columnIndex, java.lang.String x)
      JDBC 2.0 Update a column with a String value.
      void updateString​(java.lang.String columnName, java.lang.String x)
      JDBC 2.0 Update a column with a String value.
      void updateTime​(int columnIndex, java.sql.Time x)
      JDBC 2.0 Update a column with a Time value.
      void updateTime​(java.lang.String columnName, java.sql.Time x)
      JDBC 2.0 Update a column with a Time value.
      void updateTimestamp​(int columnIndex, java.sql.Timestamp x)
      JDBC 2.0 Update a column with a Timestamp value.
      void updateTimestamp​(java.lang.String columnName, java.sql.Timestamp x)
      JDBC 2.0 Update a column with a Timestamp value.
      (package private) void useStreamOrLOB​(int columnIndex)
      Mark a column as already having a stream or LOB accessed from it.
      boolean wasNull()
      A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.sql.ResultSet

        updateObject, updateObject, updateObject, updateObject
    • Field Detail

      • fetchedRowBase

        private static long fetchedRowBase
        For use in debugging setLargeMaxRows() method added by JDBC 4.2
      • currentRow

        private ExecRow currentRow
        The currentRow contains the data of the current row of the resultset. If currentRow is null, the cursor is not postioned on a row
      • wasNull

        protected boolean wasNull
      • isClosed

        boolean isClosed
        Set if this ResultSet is definitely closed. If the connection has been closed, or the database or system shutdown but the ResultSet has not been closed explictly then this may be false. Once this object detects the connection is closed isClosed will be set to true.
      • isOnInsertRow

        private boolean isOnInsertRow
      • currentStream

        private java.lang.Object currentStream
      • forMetaData

        private boolean forMetaData
      • topWarning

        private java.sql.SQLWarning topWarning
      • singleUseActivation

        Activation singleUseActivation
        This activation is set by EmbedStatement for a single execution Activation. Ie. a ResultSet from a Statement.executeQuery() or a ResultSet that is now a dynamic result set. In this case the closing of this ResultSet will close the activation or the finalization of the parent EmbedStatement without it being closed will mark the Activation as unused.
        See Also:
        EmbedStatement.finalize(), EmbedPreparedStatement.finalize()
      • order

        final int order
      • maxRows

        private long maxRows
      • maxFieldSize

        private final int maxFieldSize
      • NumberofFetchedRows

        private long NumberofFetchedRows
      • stmt

        private final EmbedStatement stmt
        The statement object that originally created us. we hang on to the statement to prevent GC from closing it under us
      • owningStmt

        private EmbedStatement owningStmt
        The statement that currently owns this ResultSet. Statements created in procedures are passed off to the Statement that called the procedure. This is to avoid the ResultSet being closed due to the Statement within the procedure or the nested Connection being closed.
      • applicationStmt

        private java.sql.Statement applicationStmt
        Statement object the application used to create this ResultSet.
      • timeoutMillis

        private final long timeoutMillis
      • isAtomic

        private final boolean isAtomic
      • concurrencyOfThisResultSet

        private final int concurrencyOfThisResultSet
      • updateRow

        private final ExecRow updateRow
      • columnGotUpdated

        private boolean[] columnGotUpdated
      • currentRowHasBeenUpdated

        private boolean currentRowHasBeenUpdated
      • fetchDirection

        private int fetchDirection
      • fetchSize

        private int fetchSize
      • columnUsedFlags

        private boolean[] columnUsedFlags
        Indicates which columns have been fetched as a stream or as a LOB for a row. Created on-demand by a getXXXStream or a get[BC]lob call. Note that we only track columns that can be accessed as a stream or a LOB object.
    • Constructor Detail

      • EmbedResultSet

        public EmbedResultSet​(EmbedConnection conn,
                              ResultSet resultsToWrap,
                              boolean forMetaData,
                              EmbedStatement stmt,
                              boolean isAtomic)
                       throws java.sql.SQLException
        This class provides the glue between the Derby resultset and the JDBC resultset, mapping calls-to-calls.
        Throws:
        java.sql.SQLException
    • Method Detail

      • setFetchedRowBase

        public static void setFetchedRowBase​(long newBase)
        Debug method used to test the setLargeMaxRows() method added by JDBC 4.2. This method is a NOP on a production (insane) build of Derby.
      • checkNotOnInsertRow

        private void checkNotOnInsertRow()
                                  throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • checkOnRow

        protected final void checkOnRow()
                                 throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • initializeUpdateRowModifiers

        private void initializeUpdateRowModifiers()
        Initializes the currentRowHasBeenUpdated and columnGotUpdated fields
      • getColumnType

        final int getColumnType​(int columnIndex)
                         throws java.sql.SQLException
        Check the column is in range *and* return the JDBC type of the column.
        Throws:
        java.sql.SQLException - ResultSet is not on a row or columnIndex is out of range.
      • next

        public boolean next()
                     throws java.sql.SQLException
        A ResultSet is initially positioned before its first row; the first call to next makes the first row the current row; the second call makes the second row the current row, etc.

        If an input stream from the previous row is open, it is implicitly closed. The ResultSet's warning chain is cleared when a new row is read.

        Specified by:
        next in interface java.sql.ResultSet
        Returns:
        true if the new current row is valid; false if there are no more rows
        Throws:
        java.sql.SQLException - thrown on failure.
      • movePosition

        protected boolean movePosition​(int position,
                                       java.lang.String positionText)
                                throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • movePosition

        protected boolean movePosition​(int position,
                                       int row,
                                       java.lang.String positionText)
                                throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • close

        public void close()
                   throws java.sql.SQLException
        In some cases, it is desirable to immediately release a ResultSet's database and JDBC resources instead of waiting for this to happen when it is automatically closed; the close method provides this immediate release.

        Note: A ResultSet is automatically closed by the Statement that generated it when that Statement is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. A ResultSet is also automatically closed when it is garbage collected.

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - thrown on failure.
      • markClosed

        private void markClosed()
        Mark this ResultSet as closed and trigger the closing of the Statement if necessary.
      • wasNull

        public final boolean wasNull()
                              throws java.sql.SQLException
        A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value. Note that you must first call getXXX on a column to try to read its value and then call wasNull() to find if the value was the SQL NULL.

        we take the least exception approach and simply return false if no column has been read yet.

        Specified by:
        wasNull in interface java.sql.ResultSet
        Returns:
        true if last column read was SQL NULL
        Throws:
        java.sql.SQLException - Thrown if this ResultSet is closed
      • getString

        public final java.lang.String getString​(int columnIndex)
                                         throws java.sql.SQLException
        Get the value of a column in the current row as a Java String.
        Specified by:
        getString in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBoolean

        public final boolean getBoolean​(int columnIndex)
                                 throws java.sql.SQLException
        Get the value of a column in the current row as a Java boolean.
        Specified by:
        getBoolean in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is false
        Throws:
        java.sql.SQLException - thrown on failure.
      • getByte

        public final byte getByte​(int columnIndex)
                           throws java.sql.SQLException
        Get the value of a column in the current row as a Java byte.
        Specified by:
        getByte in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getShort

        public final short getShort​(int columnIndex)
                             throws java.sql.SQLException
        Get the value of a column in the current row as a Java short.
        Specified by:
        getShort in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getInt

        public final int getInt​(int columnIndex)
                         throws java.sql.SQLException
        Get the value of a column in the current row as a Java int.
        Specified by:
        getInt in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getLong

        public final long getLong​(int columnIndex)
                           throws java.sql.SQLException
        Get the value of a column in the current row as a Java long.
        Specified by:
        getLong in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getFloat

        public final float getFloat​(int columnIndex)
                             throws java.sql.SQLException
        Get the value of a column in the current row as a Java float.
        Specified by:
        getFloat in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getDouble

        public final double getDouble​(int columnIndex)
                               throws java.sql.SQLException
        Get the value of a column in the current row as a Java double.
        Specified by:
        getDouble in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBytes

        public final byte[] getBytes​(int columnIndex)
                              throws java.sql.SQLException
        Get the value of a column in the current row as a Java byte array. The bytes represent the raw values returned by the driver.
        Specified by:
        getBytes in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getDate

        public final java.sql.Date getDate​(int columnIndex)
                                    throws java.sql.SQLException
        Get the value of a column in the current row as a java.sql.Date object.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getTime

        public final java.sql.Time getTime​(int columnIndex)
                                    throws java.sql.SQLException
        Get the value of a column in the current row as a java.sql.Time object.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getTimestamp

        public final java.sql.Timestamp getTimestamp​(int columnIndex)
                                              throws java.sql.SQLException
        Get the value of a column in the current row as a java.sql.Timestamp object.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getDate

        public java.sql.Date getDate​(int columnIndex,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        cal - the calendar to use in constructing the date
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • getDate

        public java.sql.Date getDate​(java.lang.String columnName,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        cal - the calendar to use in constructing the date
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • getTime

        public java.sql.Time getTime​(int columnIndex,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database doesn't store timezone information.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        cal - the calendar to use in constructing the time
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • getTime

        public java.sql.Time getTime​(java.lang.String columnName,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database doesn't store timezone information.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        cal - the calendar to use in constructing the time
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • getTimestamp

        public java.sql.Timestamp getTimestamp​(java.lang.String columnName,
                                               java.util.Calendar cal)
                                        throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database doesn't store timezone information.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        cal - the calendar to use in constructing the timestamp
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • getTimestamp

        public java.sql.Timestamp getTimestamp​(int columnIndex,
                                               java.util.Calendar cal)
                                        throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database doesn't store timezone information.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        cal - the calendar to use in constructing the timestamp
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • getCharacterStream

        public final java.io.Reader getCharacterStream​(int columnIndex)
                                                throws java.sql.SQLException
        JDBC 2.0

        Get the value of a column in the current row as a java.io.Reader.

        Specified by:
        getCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - database error.
      • getAsciiStream

        public final java.io.InputStream getAsciiStream​(int columnIndex)
                                                 throws java.sql.SQLException
        Pushes a converter on top of getCharacterStream().
        Specified by:
        getAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Java input stream that delivers the database column value as a stream of one byte ASCII characters. If the value is SQL NULL then the result is null.
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBinaryStream

        public final java.io.InputStream getBinaryStream​(int columnIndex)
                                                  throws java.sql.SQLException
        Get the column as an InputStream. If the column is already of type InputStream then just return it, otherwise convert the column to a set of bytes and create a stream out of the bytes.
        Specified by:
        getBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
        Throws:
        java.sql.SQLException - thrown on failure.
      • getString

        public final java.lang.String getString​(java.lang.String columnName)
                                         throws java.sql.SQLException
        Get the value of a column in the current row as a Java String.
        Specified by:
        getString in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBoolean

        public final boolean getBoolean​(java.lang.String columnName)
                                 throws java.sql.SQLException
        Get the value of a column in the current row as a Java boolean.
        Specified by:
        getBoolean in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is false
        Throws:
        java.sql.SQLException - thrown on failure.
      • getByte

        public final byte getByte​(java.lang.String columnName)
                           throws java.sql.SQLException
        Get the value of a column in the current row as a Java byte.
        Specified by:
        getByte in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getShort

        public final short getShort​(java.lang.String columnName)
                             throws java.sql.SQLException
        Get the value of a column in the current row as a Java short.
        Specified by:
        getShort in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getInt

        public final int getInt​(java.lang.String columnName)
                         throws java.sql.SQLException
        Get the value of a column in the current row as a Java int.
        Specified by:
        getInt in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getLong

        public final long getLong​(java.lang.String columnName)
                           throws java.sql.SQLException
        Get the value of a column in the current row as a Java long.
        Specified by:
        getLong in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getFloat

        public final float getFloat​(java.lang.String columnName)
                             throws java.sql.SQLException
        Get the value of a column in the current row as a Java float.
        Specified by:
        getFloat in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getDouble

        public final double getDouble​(java.lang.String columnName)
                               throws java.sql.SQLException
        Get the value of a column in the current row as a Java double.
        Specified by:
        getDouble in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is 0
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBigDecimal

        @Deprecated
        public final java.math.BigDecimal getBigDecimal​(int columnIndex,
                                                        int scale)
                                                 throws java.sql.SQLException
        Deprecated.
        Get the value of a column in the current row as a java.lang.BigDecimal object.
        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        scale - the number of digits to the right of the decimal
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBigDecimal

        public final java.math.BigDecimal getBigDecimal​(int columnIndex)
                                                 throws java.sql.SQLException
        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getBigDecimal

        @Deprecated
        public final java.math.BigDecimal getBigDecimal​(java.lang.String columnName,
                                                        int scale)
                                                 throws java.sql.SQLException
        Deprecated.
        Get the value of a column in the current row as a java.lang.BigDecimal object.
        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        scale - the number of digits to the right of the decimal
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBigDecimal

        public final java.math.BigDecimal getBigDecimal​(java.lang.String columnName)
                                                 throws java.sql.SQLException
        JDBC 2.0 Get the value of a column in the current row as a java.math.BigDecimal object.
        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getBytes

        public final byte[] getBytes​(java.lang.String columnName)
                              throws java.sql.SQLException
        Get the value of a column in the current row as a Java byte array. The bytes represent the raw values returned by the driver.
        Specified by:
        getBytes in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getDate

        public final java.sql.Date getDate​(java.lang.String columnName)
                                    throws java.sql.SQLException
        Get the value of a column in the current row as a java.sql.Date object.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getTime

        public final java.sql.Time getTime​(java.lang.String columnName)
                                    throws java.sql.SQLException
        Get the value of a column in the current row as a java.sql.Time object.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getTimestamp

        public final java.sql.Timestamp getTimestamp​(java.lang.String columnName)
                                              throws java.sql.SQLException
        Get the value of a column in the current row as a java.sql.Timestamp object.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        the column value; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - thrown on failure.
      • getCharacterStream

        public final java.io.Reader getCharacterStream​(java.lang.String columnName)
                                                throws java.sql.SQLException
        JDBC 2.0

        Get the value of a column in the current row as a java.io.Reader.

        Specified by:
        getCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getAsciiStream

        public final java.io.InputStream getAsciiStream​(java.lang.String columnName)
                                                 throws java.sql.SQLException
        A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

        Specified by:
        getAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        a Java input stream that delivers the database column value as a stream of one byte ASCII characters. If the value is SQL NULL then the result is null.
        Throws:
        java.sql.SQLException - thrown on failure.
      • getBinaryStream

        public final java.io.InputStream getBinaryStream​(java.lang.String columnName)
                                                  throws java.sql.SQLException
        A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

        Specified by:
        getBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
        Throws:
        java.sql.SQLException - thrown on failure.
      • getUnicodeStream

        @Deprecated
        public final java.io.InputStream getUnicodeStream​(int columnIndex)
                                                   throws java.sql.SQLException
        Deprecated.
        JDBC 2.0 Deprecated in JDBC 2.0, not supported by JCC.
        Specified by:
        getUnicodeStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - thrown on failure.
      • getUnicodeStream

        @Deprecated
        public final java.io.InputStream getUnicodeStream​(java.lang.String columnName)
                                                   throws java.sql.SQLException
        Deprecated.
        Deprecated in JDBC 2.0, not supported by JCC.
        Specified by:
        getUnicodeStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - thrown on failure.
      • getURL

        public java.net.URL getURL​(int columnIndex)
                            throws java.sql.SQLException
        JDBC 3.0 Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
        Specified by:
        getURL in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        Returns:
        the column value as a java.net.URL object, if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getURL

        public java.net.URL getURL​(java.lang.String columnName)
                            throws java.sql.SQLException
        JDBC 3.0 Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
        Specified by:
        getURL in interface java.sql.ResultSet
        Parameters:
        columnName - - the SQL name of the column
        Returns:
        the column value as a java.net.URL object, if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getWarnings

        public final java.sql.SQLWarning getWarnings()
                                              throws java.sql.SQLException

        The first warning reported by calls on this ResultSet is returned. Subsequent ResultSet warnings will be chained to this SQLWarning.

        The warning chain is automatically cleared each time a new row is read.

        Note: This warning chain only covers warnings caused by ResultSet methods. Any warning caused by statement methods (such as reading OUT parameters) will be chained on the Statement object.

        Specified by:
        getWarnings in interface java.sql.ResultSet
        Returns:
        the first SQLWarning or null
        Throws:
        java.sql.SQLException - Thrown if this ResultSet is closed
      • clearWarnings

        public final void clearWarnings()
                                 throws java.sql.SQLException
        After this call getWarnings returns null until a new warning is reported for this ResultSet.
        Specified by:
        clearWarnings in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - Thrown if this ResultSet is closed
      • getCursorName

        public final java.lang.String getCursorName()
                                             throws java.sql.SQLException
        Get the name of the SQL cursor used by this ResultSet.

        In SQL, a result table is retrieved through a cursor that is named. The current row of a result can be updated or deleted using a positioned update/delete statement that references the cursor name.

        JDBC supports this SQL feature by providing the name of the SQL cursor used by a ResultSet. The current row of a ResultSet is also the current row of this SQL cursor.

        Note: If positioned update is not supported a SQLException is thrown

        Specified by:
        getCursorName in interface java.sql.ResultSet
        Returns:
        the ResultSet's SQL cursor name
        Throws:
        java.sql.SQLException - thrown on failure.
      • getMetaData

        public final java.sql.ResultSetMetaData getMetaData()
                                                     throws java.sql.SQLException
        The number, types and properties of a ResultSet's columns are provided by the getMetaData method.
        Specified by:
        getMetaData in interface java.sql.ResultSet
        Returns:
        the description of a ResultSet's columns
        Throws:
        java.sql.SQLException - thrown on failure.
      • getHoldability

        public final int getHoldability()
                                 throws java.sql.SQLException
        JDBC 4.0

        Retrieves the holdability for this ResultSet object.

        Specified by:
        getHoldability in interface java.sql.ResultSet
        Returns:
        either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
        Throws:
        java.sql.SQLException - if a database error occurs
      • getObject

        public final java.lang.Object getObject​(int columnIndex)
                                         throws java.sql.SQLException

        Get the value of a column in the current row as a Java object.

        This method will return the value of the given column as a Java object. The type of the Java object will be the default Java Object type corresponding to the column's SQL type, following the mapping specified in the JDBC spec.

        This method may also be used to read datatabase specific abstract data types. JDBC 2.0 New behavior for getObject(). The behavior of method getObject() is extended to materialize data of SQL user-defined types. When the column @columnIndex is a structured or distinct value, the behavior of this method is as if it were a call to: getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        A java.lang.Object holding the column value.
        Throws:
        java.sql.SQLException - thrown on failure.
      • getObject

        public final java.lang.Object getObject​(java.lang.String columnName)
                                         throws java.sql.SQLException

        Get the value of a column in the current row as a Java object.

        This method will return the value of the given column as a Java object. The type of the Java object will be the default Java Object type corresponding to the column's SQL type, following the mapping specified in the JDBC spec.

        This method may also be used to read datatabase specific abstract data types. JDBC 2.0 New behavior for getObject(). The behavior of method getObject() is extended to materialize data of SQL user-defined types. When the column @columnName is a structured or distinct value, the behavior of this method is as if it were a call to: getObject(columnName, this.getStatement().getConnection().getTypeMap()).

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnName - is the SQL name of the column
        Returns:
        A java.lang.Object holding the column value.
        Throws:
        java.sql.SQLException - thrown on failure.
      • getObject

        public java.lang.Object getObject​(int columnIndex,
                                          java.util.Map<java.lang.String,​java.lang.Class<?>> map)
                                   throws java.sql.SQLException
        JDBC 2.0 Returns the value of column i as a Java object. Use the param map to determine the class from which to construct data of SQL structured and distinct types.
        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        map - the mapping from SQL type names to Java classes
        Returns:
        an object representing the SQL value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getObject

        public java.lang.Object getObject​(java.lang.String colName,
                                          java.util.Map<java.lang.String,​java.lang.Class<?>> map)
                                   throws java.sql.SQLException
        JDBC 2.0 Returns the value of column i as a Java object. Use the param map to determine the class from which to construct data of SQL structured and distinct types.
        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        colName - the column name
        map - the mapping from SQL type names to Java classes
        Returns:
        an object representing the SQL value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • findColumn

        public final int findColumn​(java.lang.String columnName)
                             throws java.sql.SQLException
        Map a Resultset column name to a ResultSet column index.
        Specified by:
        findColumn in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        Returns:
        the column index
        Throws:
        java.sql.SQLException - thrown on failure.
      • getStatement

        public final java.sql.Statement getStatement()
                                              throws java.sql.SQLException
        JDBC 2.0 Return the Statement that produced the ResultSet.
        Specified by:
        getStatement in interface java.sql.ResultSet
        Returns:
        the Statment that produced the result set, or null if the result was produced some other way.
        Throws:
        java.sql.SQLException - if a database error occurs or the result set is closed
      • setApplicationStatement

        public final void setApplicationStatement​(java.sql.Statement applicationStmt)
        Set the application Statement object that created this ResultSet. Used when the Statement objects returned to the application are wrapped for XA.
      • getRef

        public final java.sql.Ref getRef​(int i)
                                  throws java.sql.SQLException
        JDBC 2.0 Get a REF(<structured-type>) column.
        Specified by:
        getRef in interface java.sql.ResultSet
        Parameters:
        i - the first column is 1, the second is 2, ...
        Returns:
        an object representing data of an SQL REF type
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getArray

        public final java.sql.Array getArray​(int i)
                                      throws java.sql.SQLException
        JDBC 2.0 Get an array column.
        Specified by:
        getArray in interface java.sql.ResultSet
        Parameters:
        i - the first column is 1, the second is 2, ...
        Returns:
        an object representing an SQL array
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getRef

        public final java.sql.Ref getRef​(java.lang.String colName)
                                  throws java.sql.SQLException
        JDBC 2.0 Get a REF(<structured-type>) column.
        Specified by:
        getRef in interface java.sql.ResultSet
        Parameters:
        colName - the column name
        Returns:
        an object representing data of an SQL REF type
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getArray

        public final java.sql.Array getArray​(java.lang.String colName)
                                      throws java.sql.SQLException
        JDBC 2.0 Get an array column.
        Specified by:
        getArray in interface java.sql.ResultSet
        Parameters:
        colName - the column name
        Returns:
        an object representing an SQL array
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • isBeforeFirst

        public boolean isBeforeFirst()
                              throws java.sql.SQLException
        JDBC 2.0

        Determine if the cursor is before the first row in the result set.

        Specified by:
        isBeforeFirst in interface java.sql.ResultSet
        Returns:
        true if before the first row, false otherwise. Returns false when the result set contains no rows.
        Throws:
        java.sql.SQLException - Thrown on error.
      • isAfterLast

        public boolean isAfterLast()
                            throws java.sql.SQLException
        JDBC 2.0

        Determine if the cursor is after the last row in the result set.

        Specified by:
        isAfterLast in interface java.sql.ResultSet
        Returns:
        true if after the last row, false otherwise. Returns false when the result set contains no rows.
        Throws:
        java.sql.SQLException - Thrown on error.
      • isFirst

        public boolean isFirst()
                        throws java.sql.SQLException
        JDBC 2.0

        Determine if the cursor is on the first row of the result set.

        Specified by:
        isFirst in interface java.sql.ResultSet
        Returns:
        true if on the first row, false otherwise.
        Throws:
        java.sql.SQLException - Thrown on error.
      • isLast

        public boolean isLast()
                       throws java.sql.SQLException
        JDBC 2.0

        Determine if the cursor is on the last row of the result set. Note: Calling isLast() may be expensive since the JDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.

        Specified by:
        isLast in interface java.sql.ResultSet
        Returns:
        true if on the last row, false otherwise.
        Throws:
        java.sql.SQLException - Thrown on error.
      • beforeFirst

        public void beforeFirst()
                         throws java.sql.SQLException
        JDBC 2.0

        Moves to the front of the result set, just before the first row. Has no effect if the result set contains no rows.

        Specified by:
        beforeFirst in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or result set type is TYPE_FORWARD_ONLY
      • afterLast

        public void afterLast()
                       throws java.sql.SQLException
        JDBC 2.0

        Moves to the end of the result set, just after the last row. Has no effect if the result set contains no rows.

        Specified by:
        afterLast in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or result set type is TYPE_FORWARD_ONLY.
      • first

        public boolean first()
                      throws java.sql.SQLException
        JDBC 2.0

        Moves to the first row in the result set.

        Specified by:
        first in interface java.sql.ResultSet
        Returns:
        true if on a valid row, false if no rows in the result set.
        Throws:
        java.sql.SQLException - if a database-access error occurs, or result set type is TYPE_FORWARD_ONLY.
      • last

        public boolean last()
                     throws java.sql.SQLException
        JDBC 2.0

        Moves to the last row in the result set.

        Specified by:
        last in interface java.sql.ResultSet
        Returns:
        true if on a valid row, false if no rows in the result set.
        Throws:
        java.sql.SQLException - if a database-access error occurs, or result set type is TYPE_FORWARD_ONLY.
      • getRow

        public int getRow()
                   throws java.sql.SQLException
        JDBC 2.0

        Determine the current row number. The first row is number 1, the second number 2, etc.

        Specified by:
        getRow in interface java.sql.ResultSet
        Returns:
        the current row number, else return 0 if there is no current row
        Throws:
        java.sql.SQLException - if a database-access error occurs.
      • absolute

        public boolean absolute​(int row)
                         throws java.sql.SQLException
        JDBC 2.0

        Move to an absolute row number in the result set.

        If row is positive, moves to an absolute row with respect to the beginning of the result set. The first row is row 1, the second is row 2, etc.

        If row is negative, moves to an absolute row position with respect to the end of result set. For example, calling absolute(-1) positions the cursor on the last row, absolute(-2) indicates the next-to-last row, etc.

        An attempt to position the cursor beyond the first/last row in the result set, leaves the cursor before/after the first/last row, respectively.

        Note: Calling absolute(1) is the same as calling first(). Calling absolute(-1) is the same as calling last().

        Specified by:
        absolute in interface java.sql.ResultSet
        Returns:
        true if on the result set, false if off.
        Throws:
        java.sql.SQLException - if a database-access error occurs, or row is 0, or result set type is TYPE_FORWARD_ONLY.
      • relative

        public boolean relative​(int row)
                         throws java.sql.SQLException
        JDBC 2.0

        Moves a relative number of rows, either positive or negative. Attempting to move beyond the first/last row in the result set positions the cursor before/after the the first/last row. Calling relative(0) is valid, but does not change the cursor position.

        Note: Calling relative(1) is different than calling next() since is makes sense to call next() when there is no current row, for example, when the cursor is positioned before the first row or after the last row of the result set.

        Specified by:
        relative in interface java.sql.ResultSet
        Returns:
        true if on a row, false otherwise.
        Throws:
        java.sql.SQLException - if a database-access error occurs, or there is no current row, or result set type is TYPE_FORWARD_ONLY.
      • previous

        public boolean previous()
                         throws java.sql.SQLException
        JDBC 2.0

        Moves to the previous row in the result set.

        Note: previous() is not the same as relative(-1) since it makes sense to call previous() when there is no current row.

        Specified by:
        previous in interface java.sql.ResultSet
        Returns:
        true if on a valid row, false if off the result set.
        Throws:
        java.sql.SQLException - if a database-access error occurs, or result set type is TYPE_FORWAR_DONLY.
      • setFetchDirection

        public void setFetchDirection​(int direction)
                               throws java.sql.SQLException
        JDBC 2.0 Give a hint as to the direction in which the rows in this result set will be processed. The initial value is determined by the statement that produced the result set. The fetch direction may be changed at any time.
        Specified by:
        setFetchDirection in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or the result set type is TYPE_FORWARD_ONLY and direction is not FETCH_FORWARD.
      • getFetchDirection

        public int getFetchDirection()
                              throws java.sql.SQLException
        JDBC 2.0 Return the fetch direction for this result set.
        Specified by:
        getFetchDirection in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • setFetchSize

        public void setFetchSize​(int rows)
                          throws java.sql.SQLException
        JDBC 2.0 Give the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this result set. If the fetch size specified is zero, then the JDBC driver ignores the value, and is free to make its own best guess as to what the fetch size should be. The default value is set by the statement that creates the result set. The fetch size may be changed at any time.
        Specified by:
        setFetchSize in interface java.sql.ResultSet
        Parameters:
        rows - the number of rows to fetch
        Throws:
        java.sql.SQLException - if a database-access error occurs, or the condition 0 <= rows is not satisfied.
      • getFetchSize

        public int getFetchSize()
                         throws java.sql.SQLException
        JDBC 2.0 Return the fetch size for this result set.
        Specified by:
        getFetchSize in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • getType

        public int getType()
                    throws java.sql.SQLException
        JDBC 2.0 Return the type of this result set. The type is determined based on the statement that created the result set.
        Specified by:
        getType in interface java.sql.ResultSet
        Returns:
        TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, or TYPE_SCROLL_SENSITIVE
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • getConcurrency

        public int getConcurrency()
                           throws java.sql.SQLException
        JDBC 2.0 Return the concurrency of this result set. The concurrency is determined as follows If Statement object has CONCUR_READ_ONLY concurrency, then ResultSet object will also have the CONCUR_READ_ONLY concurrency. But if Statement object has CONCUR_UPDATABLE concurrency, then the concurrency of ResultSet object depends on whether the underlying language resultset is updatable or not. If the language resultset is updatable, then JDBC ResultSet object will also have the CONCUR_UPDATABLE concurrency. If lanugage resultset is not updatable, then JDBC ResultSet object concurrency will be set to CONCUR_READ_ONLY.
        Specified by:
        getConcurrency in interface java.sql.ResultSet
        Returns:
        the concurrency type, CONCUR_READ_ONLY, etc.
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • rowUpdated

        public boolean rowUpdated()
                           throws java.sql.SQLException
        JDBC 2.0 Determine if the current row has been updated. The value returned depends on whether or not the result set can detect updates.
        Specified by:
        rowUpdated in interface java.sql.ResultSet
        Returns:
        true if the row has been visibly updated by the owner or another, and updates are detected
        Throws:
        java.sql.SQLException - if a database-access error occurs
        See Also:
        EmbedDatabaseMetaData.updatesAreDetected(int)
      • rowInserted

        public boolean rowInserted()
                            throws java.sql.SQLException
        JDBC 2.0 Determine if the current row has been inserted. The value returned depends on whether or not the result set can detect visible inserts.
        Specified by:
        rowInserted in interface java.sql.ResultSet
        Returns:
        true if inserted and inserts are detected
        Throws:
        java.sql.SQLException - if a database-access error occurs
        See Also:
        EmbedDatabaseMetaData.insertsAreDetected(int)
      • rowDeleted

        public boolean rowDeleted()
                           throws java.sql.SQLException
        JDBC 2.0 Determine if this row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not the result set can detect deletions.
        Specified by:
        rowDeleted in interface java.sql.ResultSet
        Returns:
        true if deleted and deletes are detected
        Throws:
        java.sql.SQLException - if a database-access error occurs
        See Also:
        EmbedDatabaseMetaData.deletesAreDetected(int)
      • checksBeforeUpdateXXX

        protected void checksBeforeUpdateXXX​(java.lang.String methodName,
                                             int columnIndex)
                                      throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • checksBeforeUpdateOrDelete

        protected void checksBeforeUpdateOrDelete​(java.lang.String methodName,
                                                  int columnIndex)
                                           throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • checksBeforeInsert

        protected void checksBeforeInsert()
                                   throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • checksBeforeUpdateAsciiStream

        private void checksBeforeUpdateAsciiStream​(int columnIndex)
                                            throws java.sql.SQLException
        Check whether it is OK to update a column using updateAsciiStream().
        Parameters:
        columnIndex - the column index (first column is 1)
        Throws:
        java.sql.SQLException - if the column could not be updated with updateAsciiStream()
      • checksBeforeUpdateBinaryStream

        private void checksBeforeUpdateBinaryStream​(int columnIndex)
                                             throws java.sql.SQLException
        Check whether it is OK to update a column using updateBinaryStream().
        Parameters:
        columnIndex - the column index (first column is 1)
        Throws:
        java.sql.SQLException - if the column could not be updated with updateBinaryStream()
      • checksBeforeUpdateCharacterStream

        private void checksBeforeUpdateCharacterStream​(int columnIndex)
                                                throws java.sql.SQLException
        Check whether it is OK to update a column using updateCharacterStream().
        Parameters:
        columnIndex - the column index (first column is 1)
        Throws:
        java.sql.SQLException - if the column could not be updated with updateCharacterStream()
      • updateNull

        public void updateNull​(int columnIndex)
                        throws java.sql.SQLException
        JDBC 2.0 Give a nullable column a null value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateNull in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBoolean

        public void updateBoolean​(int columnIndex,
                                  boolean x)
                           throws java.sql.SQLException
        JDBC 2.0 Update a column with a boolean value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBoolean in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateByte

        public void updateByte​(int columnIndex,
                               byte x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a byte value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateByte in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateShort

        public void updateShort​(int columnIndex,
                                short x)
                         throws java.sql.SQLException
        JDBC 2.0 Update a column with a short value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateShort in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateInt

        public void updateInt​(int columnIndex,
                              int x)
                       throws java.sql.SQLException
        JDBC 2.0 Update a column with an integer value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateInt in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateLong

        public void updateLong​(int columnIndex,
                               long x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a long value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateLong in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateFloat

        public void updateFloat​(int columnIndex,
                                float x)
                         throws java.sql.SQLException
        JDBC 2.0 Update a column with a float value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateFloat in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateDouble

        public void updateDouble​(int columnIndex,
                                 double x)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with a Double value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateDouble in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBigDecimal

        public void updateBigDecimal​(int columnIndex,
                                     java.math.BigDecimal x)
                              throws java.sql.SQLException
        Specified by:
        updateBigDecimal in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateBigDecimal

        public void updateBigDecimal​(java.lang.String columnName,
                                     java.math.BigDecimal x)
                              throws java.sql.SQLException
        JDBC 2.0 Update a column with a BigDecimal value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateString

        public void updateString​(int columnIndex,
                                 java.lang.String x)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with a String value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateString in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBytes

        public void updateBytes​(int columnIndex,
                                byte[] x)
                         throws java.sql.SQLException
        JDBC 2.0 Update a column with a byte array value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBytes in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateDate

        public void updateDate​(int columnIndex,
                               java.sql.Date x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a Date value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateDate in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateTime

        public void updateTime​(int columnIndex,
                               java.sql.Time x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a Time value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateTime in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateTimestamp

        public void updateTimestamp​(int columnIndex,
                                    java.sql.Timestamp x)
                             throws java.sql.SQLException
        JDBC 2.0 Update a column with a Timestamp value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateTimestamp in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateAsciiStream

        public void updateAsciiStream​(int columnIndex,
                                      java.io.InputStream x,
                                      long length)
                               throws java.sql.SQLException
        Update a column with an ascii stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateAsciiStream

        public void updateAsciiStream​(int columnIndex,
                                      java.io.InputStream x)
                               throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateBinaryStream

        public void updateBinaryStream​(int columnIndex,
                                       java.io.InputStream x,
                                       long length)
                                throws java.sql.SQLException
        Update a column with a binary stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBinaryStream

        public void updateBinaryStream​(int columnIndex,
                                       java.io.InputStream x)
                                throws java.sql.SQLException
        Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateBinaryStreamInternal

        private void updateBinaryStreamInternal​(int columnIndex,
                                                java.io.InputStream x,
                                                boolean lengthLess,
                                                long length,
                                                java.lang.String updateMethodName)
                                         throws java.sql.SQLException
        Set the given binary stream for the specified parameter. If lengthLess is true, the following conditions are either not checked or verified at the execution time of updateRow/insertRow:
        1. If the stream length is negative.
        2. If the stream's actual length equals the specified length.
        The lengthLess variable was added to differentiate between streams with invalid lengths and streams without known lengths.
        Parameters:
        columnIndex - the 1-based index of the parameter to set.
        x - the data.
        lengthLess - tells whether we know the length of the data or not.
        length - the length of the data. Ignored if lengthLess is true.
        updateMethodName - the name of the method calling us. Used in error messages.
        Throws:
        java.sql.SQLException - if reading the data fails, or one of the data checks fails.
      • updateCharacterStream

        public void updateCharacterStream​(int columnIndex,
                                          java.io.Reader x,
                                          long length)
                                   throws java.sql.SQLException
        JDBC 4.0 Update a column with a character stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateCharacterStream

        public void updateCharacterStream​(int columnIndex,
                                          java.io.Reader x)
                                   throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateCharacterStreamInternal

        private void updateCharacterStreamInternal​(int columnIndex,
                                                   java.io.Reader reader,
                                                   boolean lengthLess,
                                                   long length,
                                                   java.lang.String updateMethodName)
                                            throws java.sql.SQLException
        Set the given character stream for the specified parameter. If lengthLess is true, the following conditions are either not checked or verified at the execution time of the prepared statement:
        1. If the stream length is negative.
        2. If the stream's actual length equals the specified length.
        The lengthLess variable was added to differentiate between streams with invalid lengths and streams without known lengths.
        Parameters:
        columnIndex - the 1-based index of the parameter to set.
        reader - the data.
        lengthLess - tells whether we know the length of the data or not.
        length - the length of the data. Ignored if lengthLess is true.
        Throws:
        java.sql.SQLException - if reading the data fails, or one of the data checks fails.
      • updateObject

        public void updateObject​(int columnIndex,
                                 java.lang.Object x,
                                 int scale)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        scale - For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types this is the number of digits after the decimal. For all other types this value will be ignored.
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • adjustScale

        protected void adjustScale​(int columnIndex,
                                   int scale)
                            throws java.sql.SQLException

        Adjust the scale of a type.

        Throws:
        java.sql.SQLException
      • updateObject

        public void updateObject​(int columnIndex,
                                 java.lang.Object x)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateNull

        public void updateNull​(java.lang.String columnName)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a null value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateNull in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBoolean

        public void updateBoolean​(java.lang.String columnName,
                                  boolean x)
                           throws java.sql.SQLException
        JDBC 2.0 Update a column with a boolean value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBoolean in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateByte

        public void updateByte​(java.lang.String columnName,
                               byte x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a byte value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateByte in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateShort

        public void updateShort​(java.lang.String columnName,
                                short x)
                         throws java.sql.SQLException
        JDBC 2.0 Update a column with a short value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateShort in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateInt

        public void updateInt​(java.lang.String columnName,
                              int x)
                       throws java.sql.SQLException
        JDBC 2.0 Update a column with an integer value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateInt in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateLong

        public void updateLong​(java.lang.String columnName,
                               long x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a long value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateLong in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateFloat

        public void updateFloat​(java.lang.String columnName,
                                float x)
                         throws java.sql.SQLException
        JDBC 2.0 Update a column with a float value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateFloat in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateDouble

        public void updateDouble​(java.lang.String columnName,
                                 double x)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with a double value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateDouble in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateString

        public void updateString​(java.lang.String columnName,
                                 java.lang.String x)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with a String value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateString in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBytes

        public void updateBytes​(java.lang.String columnName,
                                byte[] x)
                         throws java.sql.SQLException
        JDBC 2.0 Update a column with a byte array value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBytes in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateDate

        public void updateDate​(java.lang.String columnName,
                               java.sql.Date x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a Date value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateDate in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateTime

        public void updateTime​(java.lang.String columnName,
                               java.sql.Time x)
                        throws java.sql.SQLException
        JDBC 2.0 Update a column with a Time value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateTime in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateTimestamp

        public void updateTimestamp​(java.lang.String columnName,
                                    java.sql.Timestamp x)
                             throws java.sql.SQLException
        JDBC 2.0 Update a column with a Timestamp value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateTimestamp in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateAsciiStream

        public void updateAsciiStream​(java.lang.String columnName,
                                      java.io.InputStream x,
                                      int length)
                               throws java.sql.SQLException
        JDBC 2.0 Update a column with an ascii stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        length - of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBinaryStream

        public void updateBinaryStream​(java.lang.String columnName,
                                       java.io.InputStream x,
                                       int length)
                                throws java.sql.SQLException
        JDBC 2.0 Update a column with a binary stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        length - of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateCharacterStream

        public void updateCharacterStream​(java.lang.String columnName,
                                          java.io.Reader reader,
                                          int length)
                                   throws java.sql.SQLException
        JDBC 2.0 Update a column with a character stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        reader - the new column value
        length - length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateObject

        public void updateObject​(java.lang.String columnName,
                                 java.lang.Object x,
                                 int scale)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        scale - For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types this is the number of digits after the decimal. For all other types this value will be ignored.
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateObject

        public void updateObject​(java.lang.String columnName,
                                 java.lang.Object x)
                          throws java.sql.SQLException
        JDBC 2.0 Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • insertRow

        public void insertRow()
                       throws java.sql.SQLException
        JDBC 2.0 Insert the contents of the insert row into the result set and the database. Must be on the insert row when this method is called.
        Specified by:
        insertRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, if called when not on the insert row, or if all non-nullable columns in the insert row have not been given a value
      • updateRow

        public void updateRow()
                       throws java.sql.SQLException
        JDBC 2.0 Update the underlying database with the new contents of the current row. Cannot be called when on the insert row.
        Specified by:
        updateRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or if called when on the insert row
      • deleteRow

        public void deleteRow()
                       throws java.sql.SQLException
        JDBC 2.0 Delete the current row from the result set and the underlying database. Cannot be called when on the insert row.
        Specified by:
        deleteRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or if called when on the insert row.
      • refreshRow

        public void refreshRow()
                        throws java.sql.SQLException
        JDBC 2.0 Refresh the value of the current row with its current value in the database. Cannot be called when on the insert row. The refreshRow() method provides a way for an application to explicitly tell the JDBC driver to refetch a row(s) from the database. An application may want to call refreshRow() when caching or prefetching is being done by the JDBC driver to fetch the latest value of a row from the database. The JDBC driver may actually refresh multiple rows at once if the fetch size is greater than one. All values are refetched subject to the transaction isolation level and cursor sensitivity. If refreshRow() is called after calling updateXXX(), but before calling updateRow() then the updates made to the row are lost. Calling refreshRow() frequently will likely slow performance.
        Specified by:
        refreshRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or if called when on the insert row.
      • cancelRowUpdates

        public void cancelRowUpdates()
                              throws java.sql.SQLException
        JDBC 2.0 The cancelRowUpdates() method may be called after calling an updateXXX() method(s) and before calling updateRow() to rollback the updates made to a row. If no updates have been made or updateRow() has already been called, then this method has no effect.
        Specified by:
        cancelRowUpdates in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or if called when on the insert row.
      • moveToInsertRow

        public void moveToInsertRow()
                             throws java.sql.SQLException
        JDBC 2.0 Move to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the updateXXX() methods prior to inserting the row into the result set. Only the updateXXX(), getXXX(), and insertRow() methods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before calling insertRow(). UpdateXXX()must be called before getXXX() on a column.
        Specified by:
        moveToInsertRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or the result set is not updatable
      • moveToCurrentRow

        public void moveToCurrentRow()
                              throws java.sql.SQLException
        JDBC 2.0 Move the cursor to the remembered cursor position, usually the current row. Has no effect unless the cursor is on the insert row.
        Specified by:
        moveToCurrentRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database-access error occurs, or the result set is not updatable
      • getBlob

        public java.sql.Blob getBlob​(int columnIndex)
                              throws java.sql.SQLException
        JDBC 2.0 Get a BLOB column.
        Specified by:
        getBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        an object representing a BLOB
        Throws:
        java.sql.SQLException
      • getClob

        public final java.sql.Clob getClob​(int columnIndex)
                                    throws java.sql.SQLException
        JDBC 2.0 Get a CLOB column.
        Specified by:
        getClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        an object representing a CLOB
        Throws:
        java.sql.SQLException
      • getBlob

        public final java.sql.Blob getBlob​(java.lang.String columnName)
                                    throws java.sql.SQLException
        JDBC 2.0 Get a BLOB column.
        Specified by:
        getBlob in interface java.sql.ResultSet
        Parameters:
        columnName - the column name
        Returns:
        an object representing a BLOB
        Throws:
        java.sql.SQLException
      • getClob

        public final java.sql.Clob getClob​(java.lang.String columnName)
                                    throws java.sql.SQLException
        JDBC 2.0 Get a CLOB column.
        Specified by:
        getClob in interface java.sql.ResultSet
        Parameters:
        columnName - the column name
        Returns:
        an object representing a CLOB
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateBlob

        public void updateBlob​(int columnIndex,
                               java.sql.Blob x)
                        throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Blob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateBlob

        public void updateBlob​(java.lang.String columnName,
                               java.sql.Blob x)
                        throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Blob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnName - - the SQL name of the column
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateClob

        public void updateClob​(int columnIndex,
                               java.sql.Clob x)
                        throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Clob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateClob

        public void updateClob​(java.lang.String columnName,
                               java.sql.Clob x)
                        throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Clob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnName - - the SQL name of the column
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • findColumnName

        protected int findColumnName​(java.lang.String columnName)
                              throws java.sql.SQLException
        Map a Resultset column name to a ResultSet column index.
        Parameters:
        columnName - the name of the column
        Returns:
        the column index
        Throws:
        java.sql.SQLException - thrown on failure.
      • closeCurrentStream

        private final void closeCurrentStream()
        Documented behaviour for streams is that they are implicitly closed on the next get*() method call.
      • checkIfClosed

        final void checkIfClosed​(java.lang.String operation)
                          throws java.sql.SQLException
        Throw an exception if this ResultSet is closed.
        Parameters:
        operation - The operation the caller is trying to perform
        Throws:
        java.sql.SQLException - Thrown if this ResultSet is closed.
      • checkExecIfClosed

        final void checkExecIfClosed​(java.lang.String operation)
                              throws java.sql.SQLException
        Throw an exception if this ResultSet is closed or its Connection has been closed. If the ResultSet has not been explictly closed but the Connection is closed, then this ResultSet will be marked as closed.
        Throws:
        java.sql.SQLException
      • getSQLText

        protected java.lang.String getSQLText()
        Try to see if we can fish the SQL Statement out of the local statement.
        Returns:
        null if we cannot figure out what SQL Statement is currently executing
      • getParameterValueSet

        protected ParameterValueSet getParameterValueSet()
        Try to see if we can fish the pvs out of the local statement.
        Returns:
        null if we cannot figure out what parameter value set is currently using
      • isMaxFieldSizeType

        private static boolean isMaxFieldSizeType​(int colType)
      • closeOnTransactionError

        final java.sql.SQLException closeOnTransactionError​(java.lang.Throwable thrownException)
                                                     throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • getColumn

        protected final DataValueDescriptor getColumn​(int columnIndex)
                                               throws java.sql.SQLException,
                                                      StandardException
        Get the column value for a getXXX() call. This method:
        • Closes the current stream (as per JDBC)
        • Throws a SQLException if the result set is closed
        • Throws a SQLException if the ResultSet is not on a row
        • Throws a SQLException if the columnIndex is out of range
        • Returns the DataValueDescriptor for the column.
        Throws:
        java.sql.SQLException
        StandardException
      • noStateChangeException

        static final java.sql.SQLException noStateChangeException​(java.lang.Throwable thrownException)
        An exception on many method calls to JDBC objects does not change the state of the transaction or statement, or even the underlying object. This method simply wraps the excecption in a SQLException. Examples are:
        • getXXX() calls on ResultSet - ResultSet is not closed.
        • setXXX() calls on PreparedStatement - ResultSet is not closed.
        In addition these exceptions must not call higher level objects to be closed (e.g. when executing a server side Java procedure). See bug 4397
      • setDynamicResultSet

        void setDynamicResultSet​(EmbedStatement owningStmt)
        A dynamic result was created in a procedure by a nested connection. Once the procedure returns, there is a good chance that connection is closed, so we re-attach the result set to the connection of the statement the called the procedure, which will be still open.
        In the case where the dynamic result will not be accessible then owningStmt will be null, the ResultSet will be linked to the root connection to allow its close method to work. It will remain attached to its original statement.
      • compareTo

        public final int compareTo​(java.lang.Object other)
        Specified by:
        compareTo in interface java.lang.Comparable
      • checkScrollCursor

        private void checkScrollCursor​(java.lang.String methodName)
                                throws java.sql.SQLException
        Checks if the result set has a scrollable cursor.
        Parameters:
        methodName - name of the method which requests the check
        Throws:
        java.sql.SQLException - if the result set is closed or its type is TYPE_FORWARD_ONLY
      • checkUpdatableCursor

        private void checkUpdatableCursor​(java.lang.String operation)
                                   throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • checkRowPosition

        private boolean checkRowPosition​(int position,
                                         java.lang.String positionText)
                                  throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • isForUpdate

        public final boolean isForUpdate()
        * Is this result set from a select for update statement?
        Specified by:
        isForUpdate in interface EngineResultSet
      • getColumnSQLType

        final java.lang.String getColumnSQLType​(int column)
      • getMaxColumnWidth

        private final int getMaxColumnWidth​(int columnIndex)
        Return the user-defined maximum size of the column. Note that this may be different from the maximum column size Derby is able, or allowed, to handle (called 'maximum maximum length').
        Parameters:
        columnIndex - the 1-based index of the column
        Returns:
        the maximum length of the column
      • dataTypeConversion

        private final java.sql.SQLException dataTypeConversion​(java.lang.String targetType,
                                                               int column)
      • dataTypeConversion

        private final java.sql.SQLException dataTypeConversion​(int column,
                                                               java.lang.String targetType)
      • useStreamOrLOB

        final void useStreamOrLOB​(int columnIndex)
                           throws java.sql.SQLException
        Mark a column as already having a stream or LOB accessed from it. If the column was already accessed, throw an exception.
        Parameters:
        columnIndex - 1-based column index
        Throws:
        java.sql.SQLException - if the column has already been accessed
      • checkLOBMultiCall

        private void checkLOBMultiCall​(int columnIndex)
                                throws java.sql.SQLException
        Checks if a stream or a LOB object has already been created for the specified LOB column.

        Accessing a LOB column more than once is not forbidden by the JDBC specification, but the Java API states that for maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once. The restriction was implemented in Derby due to complexities with the positioning of store streams when the user was given multiple handles to the stream.

        Parameters:
        columnIndex - 1-based index of the LOB column
        Throws:
        java.sql.SQLException - if the column has already been accessed
      • isClosed

        public final boolean isClosed()
                               throws java.sql.SQLException
        JDBC 4.0

        Checks whether this ResultSet object has been closed, either automatically or because close() has been called.

        Specified by:
        isClosed in interface java.sql.ResultSet
        Returns:
        true if the ResultSet is closed, false otherwise
        Throws:
        java.sql.SQLException - if a database error occurs
      • addWarning

        private void addWarning​(java.sql.SQLWarning w)
        Adds a warning to the end of the warning chain.
        Parameters:
        w - The warning to add to the warning chain.
      • updateAsciiStream

        public void updateAsciiStream​(int columnIndex,
                                      java.io.InputStream x,
                                      int length)
                               throws java.sql.SQLException
        JDBC 2.0 Update a column with an ascii stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBinaryStream

        public void updateBinaryStream​(int columnIndex,
                                       java.io.InputStream x,
                                       int length)
                                throws java.sql.SQLException
        JDBC 2.0 Update a column with a binary stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateCharacterStream

        public void updateCharacterStream​(int columnIndex,
                                          java.io.Reader x,
                                          int length)
                                   throws java.sql.SQLException
        JDBC 2.0 Update a column with a character stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateAsciiStream

        public void updateAsciiStream​(java.lang.String columnName,
                                      java.io.InputStream x,
                                      long length)
                               throws java.sql.SQLException
        JDBC 4.0 Update a column with an ascii stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        length - of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateAsciiStream

        public void updateAsciiStream​(java.lang.String columnName,
                                      java.io.InputStream x)
                               throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnName - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateBinaryStream

        public void updateBinaryStream​(java.lang.String columnName,
                                       java.io.InputStream x,
                                       long length)
                                throws java.sql.SQLException
        JDBC 4.0 Update a column with a binary stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        x - the new column value
        length - of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateBinaryStream

        public void updateBinaryStream​(java.lang.String columnName,
                                       java.io.InputStream x)
                                throws java.sql.SQLException
        Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnName - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateCharacterStream

        public void updateCharacterStream​(java.lang.String columnName,
                                          java.io.Reader reader,
                                          long length)
                                   throws java.sql.SQLException
        JDBC 4.0 Update a column with a character stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnName - the name of the column
        reader - the new column value
        length - length of the stream
        Throws:
        java.sql.SQLException - if a database-access error occurs
      • updateCharacterStream

        public void updateCharacterStream​(java.lang.String columnName,
                                          java.io.Reader reader)
                                   throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnName - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateBlob

        public void updateBlob​(int columnIndex,
                               java.io.InputStream x,
                               long length)
                        throws java.sql.SQLException
        JDBC 4.0 Updates the designated column with a java.sql.Blob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        length - - the length of the Blob datatype
        Throws:
        java.sql.SQLException
      • updateBlob

        public void updateBlob​(int columnIndex,
                               java.io.InputStream x)
                        throws java.sql.SQLException
        Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - an object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateBlob

        public void updateBlob​(java.lang.String columnName,
                               java.io.InputStream x,
                               long length)
                        throws java.sql.SQLException
        JDBC 4.0 Updates the designated column with a java.sql.Blob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnName - - the name of the column to be updated
        x - - the new column value
        length - - the length of the Blob datatype
        Throws:
        java.sql.SQLException
      • updateBlob

        public void updateBlob​(java.lang.String columnName,
                               java.io.InputStream x)
                        throws java.sql.SQLException
        Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnName - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - an object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateClob

        public void updateClob​(int columnIndex,
                               java.io.Reader x,
                               long length)
                        throws java.sql.SQLException
        JDBC 4.0 Updates the designated column with a java.sql.Clob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateClob

        public void updateClob​(int columnIndex,
                               java.io.Reader x)
                        throws java.sql.SQLException
        Updates the designated column using the given Reader object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - an object that contains the data to set the parameter value to
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateClob

        public void updateClob​(java.lang.String columnName,
                               java.io.Reader x,
                               long length)
                        throws java.sql.SQLException
        JDBC 4.0 Updates the designated column with a java.sql.Clob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnName - - the name of the Clob column
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateClob

        public void updateClob​(java.lang.String columnName,
                               java.io.Reader x)
                        throws java.sql.SQLException
        Updates the designated column using the given Reader object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnName - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - an object that contains the data to set the parameter value to
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
      • updateRef

        public void updateRef​(int columnIndex,
                              java.sql.Ref x)
                       throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Ref value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateRef in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateRef

        public void updateRef​(java.lang.String columnName,
                              java.sql.Ref x)
                       throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Ref value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateRef in interface java.sql.ResultSet
        Parameters:
        columnName - - the SQL name of the column
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateArray

        public void updateArray​(int columnIndex,
                                java.sql.Array x)
                         throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateArray in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateArray

        public void updateArray​(java.lang.String columnName,
                                java.sql.Array x)
                         throws java.sql.SQLException
        JDBC 3.0 Updates the designated column with a java.sql.Array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateArray in interface java.sql.ResultSet
        Parameters:
        columnName - - the SQL name of the column
        x - - the new column value
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getRowId

        public java.sql.RowId getRowId​(int columnIndex)
                                throws java.sql.SQLException
        Specified by:
        getRowId in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getRowId

        public java.sql.RowId getRowId​(java.lang.String columnName)
                                throws java.sql.SQLException
        Specified by:
        getRowId in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNCharacterStream

        public void updateNCharacterStream​(int columnIndex,
                                           java.io.Reader x)
                                    throws java.sql.SQLException
        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNCharacterStream

        public void updateNCharacterStream​(int columnIndex,
                                           java.io.Reader x,
                                           long length)
                                    throws java.sql.SQLException
        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNCharacterStream

        public void updateNCharacterStream​(java.lang.String columnName,
                                           java.io.Reader x)
                                    throws java.sql.SQLException
        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNCharacterStream

        public void updateNCharacterStream​(java.lang.String columnName,
                                           java.io.Reader x,
                                           long length)
                                    throws java.sql.SQLException
        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNString

        public void updateNString​(int columnIndex,
                                  java.lang.String nString)
                           throws java.sql.SQLException
        Specified by:
        updateNString in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNString

        public void updateNString​(java.lang.String columnName,
                                  java.lang.String nString)
                           throws java.sql.SQLException
        Specified by:
        updateNString in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNClob

        public void updateNClob​(int columnIndex,
                                java.sql.NClob nClob)
                         throws java.sql.SQLException
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNClob

        public void updateNClob​(int columnIndex,
                                java.io.Reader reader)
                         throws java.sql.SQLException
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNClob

        public void updateNClob​(java.lang.String columnName,
                                java.sql.NClob nClob)
                         throws java.sql.SQLException
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateNClob

        public void updateNClob​(java.lang.String columnName,
                                java.io.Reader reader)
                         throws java.sql.SQLException
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getNCharacterStream

        public java.io.Reader getNCharacterStream​(int columnIndex)
                                           throws java.sql.SQLException
        Specified by:
        getNCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getNCharacterStream

        public java.io.Reader getNCharacterStream​(java.lang.String columnName)
                                           throws java.sql.SQLException
        Specified by:
        getNCharacterStream in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getNClob

        public java.sql.NClob getNClob​(int i)
                                throws java.sql.SQLException
        Specified by:
        getNClob in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getNClob

        public java.sql.NClob getNClob​(java.lang.String colName)
                                throws java.sql.SQLException
        Specified by:
        getNClob in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getNString

        public java.lang.String getNString​(int columnIndex)
                                    throws java.sql.SQLException
        Specified by:
        getNString in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getNString

        public java.lang.String getNString​(java.lang.String columnName)
                                    throws java.sql.SQLException
        Specified by:
        getNString in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateRowId

        public void updateRowId​(int columnIndex,
                                java.sql.RowId x)
                         throws java.sql.SQLException
        Specified by:
        updateRowId in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateRowId

        public void updateRowId​(java.lang.String columnName,
                                java.sql.RowId x)
                         throws java.sql.SQLException
        Specified by:
        updateRowId in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getSQLXML

        public java.sql.SQLXML getSQLXML​(int columnIndex)
                                  throws java.sql.SQLException
        Specified by:
        getSQLXML in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • getSQLXML

        public java.sql.SQLXML getSQLXML​(java.lang.String colName)
                                  throws java.sql.SQLException
        Specified by:
        getSQLXML in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateSQLXML

        public void updateSQLXML​(int columnIndex,
                                 java.sql.SQLXML xmlObject)
                          throws java.sql.SQLException
        Specified by:
        updateSQLXML in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • updateSQLXML

        public void updateSQLXML​(java.lang.String columnName,
                                 java.sql.SQLXML xmlObject)
                          throws java.sql.SQLException
        Specified by:
        updateSQLXML in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • isWrapperFor

        public boolean isWrapperFor​(java.lang.Class<?> interfaces)
                             throws java.sql.SQLException
        Returns false unless interfaces is implemented
        Specified by:
        isWrapperFor in interface java.sql.Wrapper
        Parameters:
        interfaces - a Class defining an interface.
        Returns:
        true if this implements the interface or directly or indirectly wraps an object that does.
        Throws:
        java.sql.SQLException - if an error occurs while determining whether this is a wrapper for an object with the given interface.
      • unwrap

        public <T> T unwrap​(java.lang.Class<T> interfaces)
                     throws java.sql.SQLException
        Returns this if this class implements the interface
        Specified by:
        unwrap in interface java.sql.Wrapper
        Parameters:
        interfaces - a Class defining an interface
        Returns:
        an object that implements the interface
        Throws:
        java.sql.SQLException - if no object if found that implements the interface
      • updateNClob

        public void updateNClob​(int columnIndex,
                                java.io.Reader x,
                                long length)
                         throws java.sql.SQLException
        Updates the designated column using the given Reader object, which is the given number of characters long.
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - - the first column is 1, the second is 2
        x - - the new column value
        length - - the length of the stream
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • updateNClob

        public void updateNClob​(java.lang.String columnName,
                                java.io.Reader x,
                                long length)
                         throws java.sql.SQLException
        Updates the designated column using the given Reader object, which is the given number of characters long.
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnName - - the Name of the column to be updated
        x - - the new column value
        length - - the length of the stream
        Throws:
        java.sql.SQLException - Feature not implemented for now.
      • getObject

        public <T> T getObject​(int columnIndex,
                               java.lang.Class<T> type)
                        throws java.sql.SQLException
        Retrieve the column as an object of the desired type.
        Specified by:
        getObject in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • mismatchException

        private java.sql.SQLException mismatchException​(java.lang.String targetTypeName,
                                                        int columnIndex)
                                                 throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • getObject

        public <T> T getObject​(java.lang.String columnName,
                               java.lang.Class<T> type)
                        throws java.sql.SQLException
        Specified by:
        getObject in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException
      • isNull

        public boolean isNull​(int columnIndex)
                       throws java.sql.SQLException
        Description copied from interface: EngineResultSet
        Is the designated columnIndex a null data value? This is used by EXTDTAInputStream to get the null value without retrieving the underlying data value.
        Specified by:
        isNull in interface EngineResultSet
        Returns:
        true if the data value at columnIndex for the current row is null
        Throws:
        java.sql.SQLException
      • getLength

        public int getLength​(int columnIndex)
                      throws java.sql.SQLException
        Description copied from interface: EngineResultSet
        Return the length of the designated columnIndex data value. Implementation is type dependent.
        Specified by:
        getLength in interface EngineResultSet
        Parameters:
        columnIndex - column to access
        Returns:
        length of data value
        Throws:
        java.sql.SQLException
        See Also:
        DataValueDescriptor.getLength()