org.firebirdsql.jdbc

## Class AbstractResultSet

- java.lang.Object
- - org.firebirdsql.jdbc.AbstractResultSet

- All Implemented Interfaces:
    java.lang.AutoCloseable, java.sql.ResultSet, java.sql.Wrapper, FBObjectListener.FetcherListener, FirebirdResultSet, Synchronizable
  Direct Known Subclasses:
    FBResultSet

      public abstract class AbstractResultSet
      extends java.lang.Object
      implements java.sql.ResultSet, FirebirdResultSet, Synchronizable, FBObjectListener.FetcherListener

  Implementation of `ResultSet` interface.
  Author:
    David Jencks, Roman Rokytskyy, Mark Rotteveel

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FBConnection` | `connection`
    `protected GDSHelper` | `gdsHelper`
    `protected RowValue` | `row`
    `protected RowDescriptor` | `rowDescriptor`

    - ### Fields inherited from interface java.sql.ResultSet

      `CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractResultSet(FBConnection connection, FBStatement fbStatement, FbStatement stmt, FBObjectListener.ResultSetListener listener, boolean metaDataQuery, int rsType, int rsConcurrency, int rsHoldability, boolean cached)` Creates a new `FBResultSet` instance.
    `AbstractResultSet(RowDescriptor rowDescriptor, FBConnection connection, java.util.List<RowValue> rows, boolean retrieveBlobs)` Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.
    `AbstractResultSet(RowDescriptor rowDescriptor, java.util.List<RowValue> rows)` Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.
    `AbstractResultSet(RowDescriptor rowDescriptor, java.util.List<RowValue> rows, FBObjectListener.ResultSetListener listener)` Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `absolute(int row)` Moves the cursor to the given row number in this `ResultSet` object.
    `protected void` | `addWarning(java.sql.SQLWarning warning)`
    `void` | `afterLast()` Moves the cursor to the end of this `ResultSet` object, just after the last row.
    `void` | `allRowsFetched(org.firebirdsql.jdbc.FBFetcher fetcher)` Notify listener that underlying fetcher fetched all rows.
    `void` | `beforeFirst()` Moves the cursor to the front of this `ResultSet` object, just before the first row.
    `void` | `cancelRowUpdates()` Cancels the updates made to the current row in this `ResultSet` object.
    `protected void` | `checkCursorMove()` Check if statement is open and prepare statement for cursor move.
    `protected void` | `checkOpen()` Check if ResultSet is open.
    `protected void` | `checkScrollable()` Checks if the result set is scrollable
    `void` | `clearWarnings()` Clears all warnings reported on this `ResultSet` object.
    `void` | `close()` Releases this `ResultSet` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
    `protected void` | `closeFields()` Close the fields if they were open (applies mainly to the stream fields).
    `void` | `deleteRow()` Deletes the current row from this `ResultSet` object and from the underlying database.
    `void` | `fetcherClosed(org.firebirdsql.jdbc.FBFetcher fetcher)` Notify listener that underlying fetcher is closed.
    `int` | `findColumn(java.lang.String columnName)` Maps the given `ResultSet` column name to its `ResultSet` column index.
    `boolean` | `first()` Moves the cursor to the first row in this `ResultSet` object.
    `java.sql.Array` | `getArray(int i)` Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
    `java.sql.Array` | `getArray(java.lang.String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
    `java.io.InputStream` | `getAsciiStream(int columnIndex)` Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters.
    `java.io.InputStream` | `getAsciiStream(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `InputStream`.
    `java.math.BigDecimal` | `getBigDecimal(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a BigDecimal object.
    `java.math.BigDecimal` | `getBigDecimal(int columnIndex, int scale)` Deprecated.
    `java.math.BigDecimal` | `getBigDecimal(java.lang.String columnName)` Gets the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.
    `java.math.BigDecimal` | `getBigDecimal(java.lang.String columnName, int scale)` Deprecated.
    `java.io.InputStream` | `getBinaryStream(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a binary InputStream.
    `java.io.InputStream` | `getBinaryStream(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a binary `InputStream`.
    `java.sql.Blob` | `getBlob(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a Blob object.
    `java.sql.Blob` | `getBlob(java.lang.String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.
    `boolean` | `getBoolean(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `boolean` value.
    `boolean` | `getBoolean(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` value.
    `byte` | `getByte(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `byte` value.
    `byte` | `getByte(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` value.
    `byte[]` | `getBytes(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `byte` array.
    `byte[]` | `getBytes(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array.
    `java.io.Reader` | `getCharacterStream(int columnIndex)` Gets the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
    `java.io.Reader` | `getCharacterStream(java.lang.String columnName)` Gets the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
    `java.sql.Clob` | `getClob(int i)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
    `java.sql.Clob` | `getClob(java.lang.String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
    `int` | `getConcurrency()` Returns the concurrency mode of this `ResultSet` object.
    `java.lang.String` | `getCursorName()` Gets the name of the SQL cursor used by this `ResultSet` object.
    `java.sql.Date` | `getDate(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `Date` object.
    `java.sql.Date` | `getDate(int columnIndex, java.util.Calendar cal)` Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.
    `java.sql.Date` | `getDate(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Date`.
    `java.sql.Date` | `getDate(java.lang.String columnName, java.util.Calendar cal)` Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.
    `double` | `getDouble(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `double` value.
    `double` | `getDouble(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` value.
    `java.lang.String` | `getExecutionPlan()` Get execution plan for the specified result set.
    `int` | `getFetchDirection()`
    `int` | `getFetchSize()` Retrieves the fetch size for this `ResultSet` object.
    `FBField` | `getField(int columnIndex)` Get the `FBField` object at the given column index
    `FBField` | `getField(int columnIndex, boolean checkRowPosition)` Factory method for the field access objects
    `FBField` | `getField(java.lang.String columnName)` Get a `FBField` by name.
    `float` | `getFloat(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `float` value.
    `float` | `getFloat(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` value.
    `int` | `getHoldability()` Retrieves the holdability of this `ResultSet` object
    `int` | `getInt(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as an `int` value.
    `int` | `getInt(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` value.
    `long` | `getLong(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `long` value.
    `long` | `getLong(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` value.
    `java.sql.ResultSetMetaData` | `getMetaData()`
    `java.io.Reader` | `getNCharacterStream(int columnIndex)`
    `java.io.Reader` | `getNCharacterStream(java.lang.String columnLabel)`
    `java.sql.NClob` | `getNClob(int columnIndex)`
    `java.sql.NClob` | `getNClob(java.lang.String columnLabel)`
    `java.lang.String` | `getNString(int columnIndex)`
    `java.lang.String` | `getNString(java.lang.String columnLabel)`
    `java.lang.Object` | `getObject(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as an `Object`.
    `<T> T` | `getObject(int columnIndex, java.lang.Class<T> type)`
    `java.lang.Object` | `getObject(int i, java.util.Map<java.lang.String,java.lang.Class<?>> map)` Returns the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
    `java.lang.Object` | `getObject(java.lang.String columnName)` Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
    `<T> T` | `getObject(java.lang.String columnLabel, java.lang.Class<T> type)`
    `java.lang.Object` | `getObject(java.lang.String columnName, java.util.Map<java.lang.String,java.lang.Class<?>> map)` Returns the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
    `java.sql.Ref` | `getRef(int i)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
    `java.sql.Ref` | `getRef(java.lang.String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
    `int` | `getRow()` Retrieves the current row number.
    `java.sql.RowId` | `getRowId(int columnIndex)`
    `java.sql.RowId` | `getRowId(java.lang.String columnLabel)`
    `short` | `getShort(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `short` value.
    `short` | `getShort(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` value.
    `java.sql.SQLXML` | `getSQLXML(int columnIndex)`
    `java.sql.SQLXML` | `getSQLXML(java.lang.String columnLabel)`
    `java.sql.Statement` | `getStatement()` Returns the `Statement` object that produced this `ResultSet` object.
    `java.lang.String` | `getString(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `String` object.
    `java.lang.String` | `getString(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String`.
    `java.lang.Object` | `getSynchronizationObject()` Get synchronization object.
    `java.sql.Time` | `getTime(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `Time` object.
    `java.sql.Time` | `getTime(int columnIndex, java.util.Calendar cal)` Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.
    `java.sql.Time` | `getTime(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Time` object.
    `java.sql.Time` | `getTime(java.lang.String columnName, java.util.Calendar cal)` Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.
    `java.sql.Timestamp` | `getTimestamp(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `Timestamp` object.
    `java.sql.Timestamp` | `getTimestamp(int columnIndex, java.util.Calendar cal)` Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language.
    `java.sql.Timestamp` | `getTimestamp(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Timestamp` object.
    `java.sql.Timestamp` | `getTimestamp(java.lang.String columnName, java.util.Calendar cal)` Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language.
    `int` | `getType()` Returns the type of this `ResultSet` object.
    `java.io.InputStream` | `getUnicodeStream(int columnIndex)` Deprecated.
    `java.io.InputStream` | `getUnicodeStream(java.lang.String columnName)` Deprecated.
    `java.net.URL` | `getURL(int param1)`
    `java.net.URL` | `getURL(java.lang.String param1)`
    `java.sql.SQLWarning` | `getWarnings()` Returns the first warning reported by calls on this `ResultSet` object.
    `void` | `insertRow()` Inserts the contents of the insert row into this `ResultSet` objaect and into the database.
    `boolean` | `isAfterLast()` Indicates whether the cursor is after the last row in this `ResultSet` object.
    `boolean` | `isBeforeFirst()` Indicates whether the cursor is before the first row in this `ResultSet` object.
    `boolean` | `isClosed()`
    `boolean` | `isFirst()` Indicates whether the cursor is on the first row of this `ResultSet` object.
    `boolean` | `isLast()` Indicates whether the cursor is on the last row of this `ResultSet` object.
    `boolean` | `isWrapperFor(java.lang.Class<?> iface)`
    `boolean` | `last()` Moves the cursor to the last row in this `ResultSet` object.
    `void` | `moveToCurrentRow()` Moves the cursor to the remembered cursor position, usually the current row.
    `void` | `moveToInsertRow()` Moves the cursor to the insert row.
    `boolean` | `next()` Moves the cursor down one row from its current position.
    `boolean` | `previous()` Moves the cursor to the previous row in this `ResultSet` object.
    `void` | `refreshRow()` Refreshes the current row with its most recent value in the database.
    `boolean` | `relative(int rows)` Moves the cursor a relative number of rows, either positive or negative.
    `void` | `rowChanged(org.firebirdsql.jdbc.FBFetcher fetcher, RowValue newRow)` Notify listener that underlying row was changed.
    `boolean` | `rowDeleted()` Indicates whether a row has been deleted.
    `boolean` | `rowInserted()` Indicates whether the current row has had an insertion.
    `boolean` | `rowUpdated()` Indicates whether the current row has been updated.
    `void` | `setFetchDirection(int direction)`
    `void` | `setFetchSize(int rows)` Gives 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 `ResultSet` object.
    `<T> T` | `unwrap(java.lang.Class<T> iface)`
    `void` | `updateArray(int param1, java.sql.Array param2)`
    `void` | `updateArray(java.lang.String param1, java.sql.Array param2)`
    `void` | `updateAsciiStream(int columnIndex, java.io.InputStream x)`
    `void` | `updateAsciiStream(int columnIndex, java.io.InputStream x, int length)`
    `void` | `updateAsciiStream(int columnIndex, java.io.InputStream x, long length)`
    `void` | `updateAsciiStream(java.lang.String columnLabel, java.io.InputStream x)`
    `void` | `updateAsciiStream(java.lang.String columnName, java.io.InputStream x, int length)`
    `void` | `updateAsciiStream(java.lang.String columnLabel, java.io.InputStream x, long length)`
    `void` | `updateBigDecimal(int columnIndex, java.math.BigDecimal x)` Updates the designated column with a `java.math.BigDecimal` value.
    `void` | `updateBigDecimal(java.lang.String columnName, java.math.BigDecimal x)` Updates the designated column with a `java.sql.BigDecimal` value.
    `void` | `updateBinaryStream(int columnIndex, java.io.InputStream x)`
    `void` | `updateBinaryStream(int columnIndex, java.io.InputStream x, int length)`
    `void` | `updateBinaryStream(int columnIndex, java.io.InputStream x, long length)`
    `void` | `updateBinaryStream(java.lang.String columnLabel, java.io.InputStream x)`
    `void` | `updateBinaryStream(java.lang.String columnName, java.io.InputStream x, int length)`
    `void` | `updateBinaryStream(java.lang.String columnLabel, java.io.InputStream x, long length)`
    `void` | `updateBlob(int columnIndex, java.sql.Blob blob)`
    `void` | `updateBlob(int columnIndex, java.io.InputStream inputStream)`
    `void` | `updateBlob(int columnIndex, java.io.InputStream inputStream, long length)`
    `void` | `updateBlob(java.lang.String columnLabel, java.sql.Blob blob)`
    `void` | `updateBlob(java.lang.String columnLabel, java.io.InputStream inputStream)`
    `void` | `updateBlob(java.lang.String columnLabel, java.io.InputStream inputStream, long length)`
    `void` | `updateBoolean(int columnIndex, boolean x)` Updates the designated column with a `boolean` value.
    `void` | `updateBoolean(java.lang.String columnName, boolean x)` Updates the designated column with a `boolean` value.
    `void` | `updateByte(int columnIndex, byte x)` Updates the designated column with a `byte` value.
    `void` | `updateByte(java.lang.String columnName, byte x)` Updates the designated column with a `byte` value.
    `void` | `updateBytes(int columnIndex, byte[] x)` Updates the designated column with a `byte` array value.
    `void` | `updateBytes(java.lang.String columnName, byte[] x)` Updates the designated column with a `boolean` value.
    `void` | `updateCharacterStream(int columnIndex, java.io.Reader x)`
    `void` | `updateCharacterStream(int columnIndex, java.io.Reader x, int length)`
    `void` | `updateCharacterStream(int columnIndex, java.io.Reader x, long length)`
    `void` | `updateCharacterStream(java.lang.String columnLabel, java.io.Reader reader)`
    `void` | `updateCharacterStream(java.lang.String columnName, java.io.Reader reader, int length)`
    `void` | `updateCharacterStream(java.lang.String columnLabel, java.io.Reader reader, long length)`
    `void` | `updateClob(int columnIndex, java.sql.Clob clob)`
    `void` | `updateClob(int columnIndex, java.io.Reader reader)`
    `void` | `updateClob(int columnIndex, java.io.Reader reader, long length)`
    `void` | `updateClob(java.lang.String columnLabel, java.sql.Clob clob)`
    `void` | `updateClob(java.lang.String columnLabel, java.io.Reader reader)`
    `void` | `updateClob(java.lang.String columnLabel, java.io.Reader reader, long length)`
    `void` | `updateDate(int columnIndex, java.sql.Date x)` Updates the designated column with a `java.sql.Date` value.
    `void` | `updateDate(java.lang.String columnName, java.sql.Date x)` Updates the designated column with a `java.sql.Date` value.
    `void` | `updateDouble(int columnIndex, double x)` Updates the designated column with a `double` value.
    `void` | `updateDouble(java.lang.String columnName, double x)` Updates the designated column with a `double` value.
    `void` | `updateFloat(int columnIndex, float x)` Updates the designated column with a `float` value.
    `void` | `updateFloat(java.lang.String columnName, float x)` Updates the designated column with a `float` value.
    `void` | `updateInt(int columnIndex, int x)` Updates the designated column with an `int` value.
    `void` | `updateInt(java.lang.String columnName, int x)` Updates the designated column with an `int` value.
    `void` | `updateLong(int columnIndex, long x)` Updates the designated column with a `long` value.
    `void` | `updateLong(java.lang.String columnName, long x)` Updates the designated 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 columnLabel, java.io.Reader reader)`
    `void` | `updateNCharacterStream(java.lang.String columnLabel, java.io.Reader reader, long length)`
    `void` | `updateNClob(int columnIndex, java.sql.NClob clob)`
    `void` | `updateNClob(int columnIndex, java.io.Reader reader)`
    `void` | `updateNClob(int columnIndex, java.io.Reader reader, long length)`
    `void` | `updateNClob(java.lang.String columnLabel, java.sql.NClob clob)`
    `void` | `updateNClob(java.lang.String columnLabel, java.io.Reader reader)`
    `void` | `updateNClob(java.lang.String columnLabel, java.io.Reader reader, long length)`
    `void` | `updateNString(int columnIndex, java.lang.String string)`
    `void` | `updateNString(java.lang.String columnLabel, java.lang.String string)`
    `void` | `updateNull(int columnIndex)` Gives a nullable column a null value.
    `void` | `updateNull(java.lang.String columnName)` Updates the designated column with a `null` value.
    `void` | `updateObject(int columnIndex, java.lang.Object x)` Updates the designated column with an `Object` value.
    `void` | `updateObject(int columnIndex, java.lang.Object x, int scale)` Updates the designated column with an `Object` value.
    `void` | `updateObject(java.lang.String columnName, java.lang.Object x)`
    `void` | `updateObject(java.lang.String columnName, java.lang.Object x, int scale)`
    `void` | `updateRef(int param1, java.sql.Ref param2)`
    `void` | `updateRef(java.lang.String param1, java.sql.Ref param2)`
    `void` | `updateRow()` Updates the underlying database with the new contents of the current row of this `ResultSet` object.
    `void` | `updateRowId(int columnIndex, java.sql.RowId x)`
    `void` | `updateRowId(java.lang.String columnLabel, java.sql.RowId x)`
    `void` | `updateShort(int columnIndex, short x)` Updates the designated column with a `short` value.
    `void` | `updateShort(java.lang.String columnName, short x)` Updates the designated column with a `short` value.
    `void` | `updateSQLXML(int columnIndex, java.sql.SQLXML xmlObject)`
    `void` | `updateSQLXML(java.lang.String columnLabel, java.sql.SQLXML xmlObject)`
    `void` | `updateString(int columnIndex, java.lang.String x)` Updates the designated column with a `String` value.
    `void` | `updateString(java.lang.String columnName, java.lang.String x)` Updates the designated column with a `String` value.
    `void` | `updateTime(int columnIndex, java.sql.Time x)` Updates the designated column with a `java.sql.Time` value.
    `void` | `updateTime(java.lang.String columnName, java.sql.Time x)` Updates the designated column with a `java.sql.Time` value.
    `void` | `updateTimestamp(int columnIndex, java.sql.Timestamp x)` Updates the designated column with a `java.sql.Timestamp` value.
    `void` | `updateTimestamp(java.lang.String columnName, java.sql.Timestamp x)` Updates the designated column with a `java.sql.Timestamp` value.
    `boolean` | `wasNull()` Reports whether the last column read had a value of SQL `NULL`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### connection

          protected final FBConnection connection

    - #### gdsHelper

          protected final GDSHelper gdsHelper

    - #### rowDescriptor

          protected final RowDescriptor rowDescriptor

    - #### row

          protected RowValue row

  - ### Constructor Detail

    - #### AbstractResultSet

          public AbstractResultSet(FBConnection connection,
                           FBStatement fbStatement,
                           FbStatement stmt,
                           FBObjectListener.ResultSetListener listener,
                           boolean metaDataQuery,
                           int rsType,
                           int rsConcurrency,
                           int rsHoldability,
                           boolean cached)
                            throws java.sql.SQLException

      Creates a new `FBResultSet` instance.
      Throws:
        `java.sql.SQLException`

    - #### AbstractResultSet

          public AbstractResultSet(RowDescriptor rowDescriptor,
                           java.util.List<RowValue> rows,
                           FBObjectListener.ResultSetListener listener)
                            throws java.sql.SQLException

      Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.

      This constructor is intended for metadata result sets, but can be used for other purposes as well.

      Current implementation will ensure that strings will be trimmed on retrieval.

      Parameters:
        `rowDescriptor` - Column definition
        `rows` - Row data
      Throws:
        `java.sql.SQLException`

    - #### AbstractResultSet

          public AbstractResultSet(RowDescriptor rowDescriptor,
                           java.util.List<RowValue> rows)
                            throws java.sql.SQLException

      Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.

      This constructor is intended for metadata result sets, but can be used for other purposes as well.

      Current implementation will ensure that strings will be trimmed on retrieval.

      Parameters:
        `rowDescriptor` - Column definition
        `rows` - Row data
      Throws:
        `java.sql.SQLException`

    - #### AbstractResultSet

          public AbstractResultSet(RowDescriptor rowDescriptor,
                           FBConnection connection,
                           java.util.List<RowValue> rows,
                           boolean retrieveBlobs)
                            throws java.sql.SQLException

      Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.

      This constructor is intended for metadata result sets, but can be used for other purposes as well.

      Current implementation will ensure that strings will be trimmed on retrieval.

      Parameters:
        `rowDescriptor` - Column definition
        `connection` - Connection (cannot be null when `retrieveBlobs` is `true`
        `rows` - Row data
        `retrieveBlobs` - `true` retrieves the blob data
      Throws:
        `java.sql.SQLException`

  - ### Method Detail

    - #### allRowsFetched

          public void allRowsFetched(org.firebirdsql.jdbc.FBFetcher fetcher)
                              throws java.sql.SQLException

      Description copied from interface: `FBObjectListener.FetcherListener`
      Notify listener that underlying fetcher fetched all rows.
      Specified by:
        `allRowsFetched` in interface `FBObjectListener.FetcherListener`
      Parameters:
        `fetcher` - fetcher that fetched all rows.
      Throws:
        `java.sql.SQLException`

    - #### fetcherClosed

          public void fetcherClosed(org.firebirdsql.jdbc.FBFetcher fetcher)
                             throws java.sql.SQLException

      Description copied from interface: `FBObjectListener.FetcherListener`
      Notify listener that underlying fetcher is closed.
      Specified by:
        `fetcherClosed` in interface `FBObjectListener.FetcherListener`
      Parameters:
        `fetcher` - fetcher that was closed.
      Throws:
        `java.sql.SQLException`

    - #### rowChanged

          public void rowChanged(org.firebirdsql.jdbc.FBFetcher fetcher,
                        RowValue newRow)
                          throws java.sql.SQLException

      Description copied from interface: `FBObjectListener.FetcherListener`
      Notify listener that underlying row was changed.
      Specified by:
        `rowChanged` in interface `FBObjectListener.FetcherListener`
      Parameters:
        `fetcher` - instance of `FBFetcher` that caused this event.
        `newRow` - new row.
      Throws:
        `java.sql.SQLException`

    - #### checkCursorMove

          protected void checkCursorMove()
                                  throws java.sql.SQLException

      Check if statement is open and prepare statement for cursor move.
      Throws:
        `java.sql.SQLException` - if statement is closed.

    - #### checkOpen

          protected void checkOpen()
                            throws java.sql.SQLException

      Check if ResultSet is open.
      Throws:
        `java.sql.SQLException` - if ResultSet is closed.

    - #### checkScrollable

          protected void checkScrollable()
                                  throws java.sql.SQLException

      Checks if the result set is scrollable
      Throws:
        `java.sql.SQLException` - if ResultSet is not scrollable

    - #### closeFields

          protected void closeFields()
                              throws java.sql.SQLException

      Close the fields if they were open (applies mainly to the stream fields).
      Throws:
        `java.sql.SQLException` - if something wrong happened.

    - #### getSynchronizationObject

          public final java.lang.Object getSynchronizationObject()

      Description copied from interface: `Synchronizable`
      Get synchronization object.
      Specified by:
        `getSynchronizationObject` in interface `Synchronizable`
      Returns:
        object, cannot be `null`.

    - #### next

          public boolean next()
                       throws java.sql.SQLException

      Moves the cursor down one row from its current position. A `ResultSet` cursor is initially positioned before the first row; the first call to the method `next` makes the first row the current row; the second call makes the second row the current row, and so on.

      If an input stream is open for the current row, a call to the method `next` will implicitly close it. A `ResultSet` object'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` - if a database access error occurs

    - #### close

          public void close()
                     throws java.sql.SQLException

      Releases this `ResultSet` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.

      Note: A `ResultSet` object is automatically closed by the `Statement` object that generated it when that `Statement` object is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. A `ResultSet` object 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` - if a database access error occurs

    - #### isClosed

          public boolean isClosed()
                           throws java.sql.SQLException

      Specified by:
        `isClosed` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### wasNull

          public boolean wasNull()
                          throws java.sql.SQLException

      Reports whether the last column read had a value of SQL `NULL`. Note that you must first call one of the `getXXX` methods on a column to try to read its value and then call the method `wasNull` to see if the value read was SQL `NULL`.
      Specified by:
        `wasNull` in interface `java.sql.ResultSet`
      Returns:
        `true` if the last column value read was SQL `NULL` and `false` otherwise
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getAsciiStream

          public final java.io.InputStream getAsciiStream(int columnIndex)
                                                   throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values.
      Specified by:
        `getAsciiStream` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        a stream of ascii characters
      Throws:
        `java.sql.SQLException` - if this parameter cannot be retrieved as an ASCII stream

    - #### getBigDecimal

          public java.math.BigDecimal getBigDecimal(int columnIndex)
                                             throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a BigDecimal object.
      Specified by:
        `getBigDecimal` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The value of the field as a BigDecimal
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a BigDecimal

    - #### getBinaryStream

          public java.io.InputStream getBinaryStream(int columnIndex)
                                              throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a binary InputStream.
      Specified by:
        `getBinaryStream` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The value of the field as a binary input stream
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a binary InputStream

    - #### getBlob

          public java.sql.Blob getBlob(int columnIndex)
                                throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a Blob object.
      Specified by:
        `getBlob` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The value of the field as a Blob object
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a Blob

    - #### getBoolean

          public boolean getBoolean(int columnIndex)
                             throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `boolean` value.
      Specified by:
        `getBoolean` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `boolean` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `boolean`

    - #### getByte

          public byte getByte(int columnIndex)
                       throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `byte` value.
      Specified by:
        `getByte` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `byte` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `byte`

    - #### getBytes

          public byte[] getBytes(int columnIndex)
                          throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `byte` array.
      Specified by:
        `getBytes` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `byte` array value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `byte` array

    - #### getDate

          public java.sql.Date getDate(int columnIndex)
                                throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `Date` object.
      Specified by:
        `getDate` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `Date` object of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `Date` object

    - #### getDouble

          public double getDouble(int columnIndex)
                           throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `double` value.
      Specified by:
        `getDouble` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `double` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `double`

    - #### getFloat

          public float getFloat(int columnIndex)
                         throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `float` value.
      Specified by:
        `getFloat` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `float` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `float`

    - #### getInt

          public int getInt(int columnIndex)
                     throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as an `int` value.
      Specified by:
        `getInt` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `int` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as an `int`

    - #### getLong

          public long getLong(int columnIndex)
                       throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `long` value.
      Specified by:
        `getLong` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `long` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `long`

    - #### getObject

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

      Retrieve the value of the designated column in the current row of this ResultSet as an `Object`.
      Specified by:
        `getObject` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `Object` representation of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as an `Object`

    - #### getShort

          public short getShort(int columnIndex)
                         throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `short` value.
      Specified by:
        `getShort` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `short` value of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `short`

    - #### getString

          public java.lang.String getString(int columnIndex)
                                     throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `String` object.
      Specified by:
        `getString` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `String` representation of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `String`

    - #### getNString

          public java.lang.String getNString(int columnIndex)
                                      throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `getString(int)`.

      Specified by:
        `getNString` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getTime

          public java.sql.Time getTime(int columnIndex)
                                throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `Time` object.
      Specified by:
        `getTime` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `Time` representation of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `Time` object

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(int columnIndex)
                                          throws java.sql.SQLException

      Retrieve the value of the designated column in the current row of this ResultSet as a `Timestamp` object.
      Specified by:
        `getTimestamp` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
      Returns:
        The `Timestamp` representation of the field
      Throws:
        `java.sql.SQLException` - if this paramater cannot be retrieved as a `Timestamp` object

    - #### getUnicodeStream

          @Deprecated
          public java.io.InputStream getUnicodeStream(int columnIndex)
                                               throws java.sql.SQLException

      Deprecated.
      Method is no longer supported since Jaybird 3.0.

      For old behavior use `getBinaryStream(int)`. For JDBC suggested behavior, use `getCharacterStream(int)`.

      Specified by:
        `getUnicodeStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLFeatureNotSupportedException` - Always
        `java.sql.SQLException`

    - #### getNCharacterStream

          public java.io.Reader getNCharacterStream(int columnIndex)
                                             throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `getCharacterStream(int)`.

      Specified by:
        `getNCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getField

          public FBField getField(int columnIndex)
                           throws java.sql.SQLException

      Get the `FBField` object at the given column index
      Parameters:
        `columnIndex` - The index of the parameter, 1 is the first index
      Throws:
        `java.sql.SQLException` - If there is an error accessing the field

    - #### getField

          public FBField getField(int columnIndex,
                         boolean checkRowPosition)
                           throws java.sql.SQLException

      Factory method for the field access objects
      Throws:
        `java.sql.SQLException`

    - #### getField

          public FBField getField(java.lang.String columnName)
                           throws java.sql.SQLException

      Get a `FBField` by name.
      Parameters:
        `columnName` - The name of the field to be retrieved
      Throws:
        `java.sql.SQLException` - if the field cannot be retrieved

    - #### getBigDecimal

          @Deprecated
          public java.math.BigDecimal getBigDecimal(int columnIndex,
                                                      int scale)
                                             throws java.sql.SQLException

      Deprecated.
      Gets the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` in the Java programming language.
      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 point
      Returns:
        the column value; if the value is SQL `NULL`, the value returned is `null`
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getString

          public java.lang.String getString(java.lang.String columnName)
                                     throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String`.
      Specified by:
        `getString` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getNString

          public java.lang.String getNString(java.lang.String columnLabel)
                                      throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `getString(String)`.

      Specified by:
        `getNString` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getBoolean

          public boolean getBoolean(java.lang.String columnName)
                             throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` value.
      Specified by:
        `getBoolean` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `String` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getByte

          public byte getByte(java.lang.String columnName)
                       throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` value.
      Specified by:
        `getByte` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `byte` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getShort

          public short getShort(java.lang.String columnName)
                         throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` value.
      Specified by:
        `getShort` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        THe `short` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getInt

          public int getInt(java.lang.String columnName)
                     throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` value.
      Specified by:
        `getInt` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `int` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getLong

          public long getLong(java.lang.String columnName)
                       throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` value.
      Specified by:
        `getLong` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `long` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getFloat

          public float getFloat(java.lang.String columnName)
                         throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` value.
      Specified by:
        `getFloat` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `float` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getDouble

          public double getDouble(java.lang.String columnName)
                           throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` value.
      Specified by:
        `getDouble` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `double` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getBigDecimal

          @Deprecated
          public java.math.BigDecimal getBigDecimal(java.lang.String columnName,
                                                      int scale)
                                             throws java.sql.SQLException

      Deprecated.
      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `BigDecimal`.
      Specified by:
        `getBigDecimal` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `BigDecimal` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getBytes

          public byte[] getBytes(java.lang.String columnName)
                          throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array.
      Specified by:
        `getBytes` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `byte` array value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getDate

          public java.sql.Date getDate(java.lang.String columnName)
                                throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Date`.
      Specified by:
        `getDate` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `Date` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getTime

          public java.sql.Time getTime(java.lang.String columnName)
                                throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Time` object.
      Specified by:
        `getTime` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `Time` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(java.lang.String columnName)
                                          throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Timestamp` object.
      Specified by:
        `getTimestamp` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The `Timestamp` value
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getAsciiStream

          public final java.io.InputStream getAsciiStream(java.lang.String columnName)
                                                   throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as an `InputStream`.
      Specified by:
        `getAsciiStream` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The value as an `InputStream`
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getUnicodeStream

          @Deprecated
          public java.io.InputStream getUnicodeStream(java.lang.String columnName)
                                               throws java.sql.SQLException

      Deprecated.
      Method is no longer supported since Jaybird 3.0.

      For old behavior use `getBinaryStream(String)`. For JDBC suggested behavior, use `getCharacterStream(String)`.

      Specified by:
        `getUnicodeStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLFeatureNotSupportedException` - Always
        `java.sql.SQLException`

    - #### getNCharacterStream

          public java.io.Reader getNCharacterStream(java.lang.String columnLabel)
                                             throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `getCharacterStream(String)`.

      Specified by:
        `getNCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getBinaryStream

          public java.io.InputStream getBinaryStream(java.lang.String columnName)
                                              throws java.sql.SQLException

      Retrieves the value of the designated column in the current row of this `ResultSet` object as a binary `InputStream`.
      Specified by:
        `getBinaryStream` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - The SQL name of the column
      Returns:
        The value as a binary `InputStream`
      Throws:
        `java.sql.SQLException` - if the given column cannot be retrieved

    - #### getWarnings

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

      Returns the first warning reported by calls on this `ResultSet` object. Subsequent warnings on this `ResultSet` object will be chained to the `SQLWarning` object that this method returns.

      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` object reported or `null`
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### clearWarnings

          public void clearWarnings()
                             throws java.sql.SQLException

      Clears all warnings reported on this `ResultSet` object. After this method is called, the method `getWarnings` returns `null` until a new warning is reported for this `ResultSet` object.
      Specified by:
        `clearWarnings` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getCursorName

          public java.lang.String getCursorName()
                                         throws java.sql.SQLException

      Gets the name of the SQL cursor used by this `ResultSet` object.

      In SQL, a result table is retrieved through a cursor that is named. The current row of a result set can be updated or deleted using a positioned update/delete statement that references the cursor name. To insure that the cursor has the proper isolation level to support update, the cursor's `select` statement should be of the form 'select for update'. If the 'for update' clause is omitted, the positioned updates may fail.

      The JDBC API supports this SQL feature by providing the name of the SQL cursor used by a `ResultSet` object. The current row of a `ResultSet` object 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 SQL name for this `ResultSet` object's cursor
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getMetaData

          public java.sql.ResultSetMetaData getMetaData()
                                                 throws java.sql.SQLException

      Specified by:
        `getMetaData` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getObject

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

      Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.

      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 for built-in types specified in the JDBC specification.

      This method may also be used to read datatabase-specific abstract data types. In the JDBC 2.0 API, the behavior of the method `getObject` is extended to materialize data of SQL user-defined types. When a column contains 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:
        `columnName` - the SQL name of the column
      Returns:
        a `java.lang.Object` holding the column value
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### findColumn

          public int findColumn(java.lang.String columnName)
                         throws java.sql.SQLException

      Maps the given `ResultSet` column name to its `ResultSet` column index.
      Specified by:
        `findColumn` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the name of the column
      Returns:
        the column index of the given column name
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getCharacterStream

          public java.io.Reader getCharacterStream(int columnIndex)
                                            throws java.sql.SQLException

      Gets the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
      Specified by:
        `getCharacterStream` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - the first column is 1, the second is 2, ...
      Returns:
        a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getCharacterStream

          public java.io.Reader getCharacterStream(java.lang.String columnName)
                                            throws java.sql.SQLException

      Gets the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
      Specified by:
        `getCharacterStream` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the name of the column
      Returns:
        a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getBigDecimal

          public java.math.BigDecimal getBigDecimal(java.lang.String columnName)
                                             throws java.sql.SQLException

      Gets the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.
      Specified by:
        `getBigDecimal` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the column name
      Returns:
        the column value (full precision); if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### isBeforeFirst

          public boolean isBeforeFirst()
                                throws java.sql.SQLException

      Indicates whether the cursor is before the first row in this `ResultSet` object.
      Specified by:
        `isBeforeFirst` in interface `java.sql.ResultSet`
      Returns:
        `true` if the cursor is before the first row; `false` if the cursor is at any other position or the result set contains no rows
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### isAfterLast

          public boolean isAfterLast()
                              throws java.sql.SQLException

      Indicates whether the cursor is after the last row in this `ResultSet` object.
      Specified by:
        `isAfterLast` in interface `java.sql.ResultSet`
      Returns:
        `true` if the cursor is after the last row; `false` if the cursor is at any other position or the result set contains no rows
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### isFirst

          public boolean isFirst()
                          throws java.sql.SQLException

      Indicates whether the cursor is on the first row of this `ResultSet` object.
      Specified by:
        `isFirst` in interface `java.sql.ResultSet`
      Returns:
        `true` if the cursor is on the first row; `false` otherwise
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### isLast

          public boolean isLast()
                         throws java.sql.SQLException

      Indicates whether the cursor is on the last row of this `ResultSet` object. Note: Calling the method `isLast` may be expensive because 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 the cursor is on the last row; `false` otherwise
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### beforeFirst

          public void beforeFirst()
                           throws java.sql.SQLException

      Moves the cursor to the front of this `ResultSet` object, just before the first row. This method 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 the result set type is `TYPE_FORWARD_ONLY`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### afterLast

          public void afterLast()
                         throws java.sql.SQLException

      Moves the cursor to the end of this `ResultSet` object, just after the last row. This method 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 the result set type is `TYPE_FORWARD_ONLY`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### first

          public boolean first()
                        throws java.sql.SQLException

      Moves the cursor to the first row in this `ResultSet` object.
      Specified by:
        `first` in interface `java.sql.ResultSet`
      Returns:
        `true` if the cursor is on a valid row; `false` if there are no rows in the result set
      Throws:
        `java.sql.SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### last

          public boolean last()
                       throws java.sql.SQLException

      Moves the cursor to the last row in this `ResultSet` object.
      Specified by:
        `last` in interface `java.sql.ResultSet`
      Returns:
        `true` if the cursor is on a valid row; `false` if there are no rows in the result set
      Throws:
        `java.sql.SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getRow

          public int getRow()
                     throws java.sql.SQLException

      Retrieves the current row number. The first row is number 1, the second number 2, and so on.

      Note:Support for the `getRow` method is optional for `ResultSet`s with a result set type of `TYPE_FORWARD_ONLY`

      Specified by:
        `getRow` in interface `java.sql.ResultSet`
      Returns:
        the current row number; `0` if there is no current row
      Throws:
        `java.sql.SQLException` - if a database access error occurs or this method is called on a closed result set
        `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### absolute

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

      Moves the cursor to the given row number in this `ResultSet` object.

      If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.

      If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling the method `absolute(-1)` positions the cursor on the last row; calling the method `absolute(-2)` moves the cursor to the next-to-last row, and so on.

      If the row number specified is zero, the cursor is moved to before the first row.

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

      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`
      Parameters:
        `row` - the number of the row to which the cursor should move. A value of zero indicates that the cursor will be positioned before the first row; a positive number indicates the row number counting from the beginning of the result set; a negative number indicates the row number counting from the end of the result set
      Returns:
        `true` if the cursor is moved to a position in this `ResultSet` object; `false` if the cursor is before the first row or after the last row
      Throws:
        `java.sql.SQLException` - if a database access error occurs; this method is called on a closed result set or the result set type is `TYPE_FORWARD_ONLY`
        `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### relative

          public boolean relative(int rows)
                           throws java.sql.SQLException

      Moves the cursor 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 the method `relative(1)` is different from calling the method `next()` because 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 the cursor is on a row; `false` otherwise
      Throws:
        `java.sql.SQLException` - if a database access error occurs, there is no current row, or the result set type is `TYPE_FORWARD_ONLY`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### previous

          public boolean previous()
                           throws java.sql.SQLException

      Moves the cursor to the previous row in this `ResultSet` object.

      Note: Calling the method `previous()` is not the same as calling the method `relative(-1)` because it makes sense to callprevious() when there is no current row.

      Specified by:
        `previous` in interface `java.sql.ResultSet`
      Returns:
        `true` if the cursor is on a valid row; `false` if it is off the result set
      Throws:
        `java.sql.SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### setFetchDirection

          public void setFetchDirection(int direction)
                                 throws java.sql.SQLException

      Specified by:
        `setFetchDirection` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getFetchDirection

          public int getFetchDirection()
                                throws java.sql.SQLException

      Specified by:
        `getFetchDirection` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### setFetchSize

          public void setFetchSize(int rows)
                            throws java.sql.SQLException

      Gives 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 `ResultSet` object. If the fetch size specified is zero, 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` object that created 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; this method is called on a closed result set or the condition `rows >= 0` is not satisfied
      Since:
        1.2
      See Also:
        `getFetchSize()`

    - #### getFetchSize

          public int getFetchSize()
                           throws java.sql.SQLException

      Retrieves the fetch size for this `ResultSet` object.
      Specified by:
        `getFetchSize` in interface `java.sql.ResultSet`
      Returns:
        the current fetch size for this `ResultSet` object
      Throws:
        `java.sql.SQLException` - if a database access error occurs or this method is called on a closed result set
      Since:
        1.2
      See Also:
        `setFetchSize(int)`

    - #### getType

          public int getType()
                      throws java.sql.SQLException

      Returns the type of this `ResultSet` object. The type is determined by the `Statement` object 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getConcurrency

          public int getConcurrency()
                             throws java.sql.SQLException

      Returns the concurrency mode of this `ResultSet` object. The concurrency used is determined by the `Statement` object that created the result set.
      Specified by:
        `getConcurrency` in interface `java.sql.ResultSet`
      Returns:
        the concurrency type, either `CONCUR_READ_ONLY` or `CONCUR_UPDATABLE`
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getHoldability

          public int getHoldability()
                             throws java.sql.SQLException

      Retrieves the holdability of 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 access error occurs or this method is called on a closed result set
      Since:
        1.6

    - #### rowUpdated

          public boolean rowUpdated()
                             throws java.sql.SQLException

      Indicates whether 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
      Since:
        1.2
      See Also:
        `DatabaseMetaData.updatesAreDetected(int)`, What Is in the JDBC 2.0 API

    - #### rowInserted

          public boolean rowInserted()
                              throws java.sql.SQLException

      Indicates whether the current row has had an insertion. The value returned depends on whether or not this `ResultSet` object can detect visible inserts.
      Specified by:
        `rowInserted` in interface `java.sql.ResultSet`
      Returns:
        `true` if a row has had an insertion and insertions are detected; `false` otherwise
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        `DatabaseMetaData.insertsAreDetected(int)`, What Is in the JDBC 2.0 API

    - #### rowDeleted

          public boolean rowDeleted()
                             throws java.sql.SQLException

      Indicates whether a 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 this `ResultSet` object can detect deletions.
      Specified by:
        `rowDeleted` in interface `java.sql.ResultSet`
      Returns:
        `true` if a row was deleted and deletions are detected; `false` otherwise
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        `DatabaseMetaData.deletesAreDetected(int)`, What Is in the JDBC 2.0 API

    - #### updateNull

          public void updateNull(int columnIndex)
                          throws java.sql.SQLException

      Gives 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateBoolean

          public void updateBoolean(int columnIndex,
                           boolean x)
                             throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateByte

          public void updateByte(int columnIndex,
                        byte x)
                          throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateShort

          public void updateShort(int columnIndex,
                         short x)
                           throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateInt

          public void updateInt(int columnIndex,
                       int x)
                         throws java.sql.SQLException

      Updates the designated column with an `int` 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateLong

          public void updateLong(int columnIndex,
                        long x)
                          throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateFloat

          public void updateFloat(int columnIndex,
                         float x)
                           throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateDouble

          public void updateDouble(int columnIndex,
                          double x)
                            throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateBigDecimal

          public void updateBigDecimal(int columnIndex,
                              java.math.BigDecimal x)
                                throws java.sql.SQLException

      Updates the designated column with a `java.math.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:
        `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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateString

          public void updateString(int columnIndex,
                          java.lang.String x)
                            throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateBytes

          public void updateBytes(int columnIndex,
                         byte[] x)
                           throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateDate

          public void updateDate(int columnIndex,
                        java.sql.Date x)
                          throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateTime

          public void updateTime(int columnIndex,
                        java.sql.Time x)
                          throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateTimestamp

          public void updateTimestamp(int columnIndex,
                             java.sql.Timestamp x)
                               throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateBinaryStream

          public void updateBinaryStream(int columnIndex,
                                java.io.InputStream x,
                                int length)
                                  throws java.sql.SQLException

      Specified by:
        `updateBinaryStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBinaryStream

          public void updateBinaryStream(int columnIndex,
                                java.io.InputStream x,
                                long length)
                                  throws java.sql.SQLException

      Specified by:
        `updateBinaryStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBinaryStream

          public void updateBinaryStream(int columnIndex,
                                java.io.InputStream x)
                                  throws java.sql.SQLException

      Specified by:
        `updateBinaryStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBinaryStream

          public void updateBinaryStream(java.lang.String columnName,
                                java.io.InputStream x,
                                int length)
                                  throws java.sql.SQLException

      Specified by:
        `updateBinaryStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBinaryStream

          public void updateBinaryStream(java.lang.String columnLabel,
                                java.io.InputStream x,
                                long length)
                                  throws java.sql.SQLException

      Specified by:
        `updateBinaryStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBinaryStream

          public void updateBinaryStream(java.lang.String columnLabel,
                                java.io.InputStream x)
                                  throws java.sql.SQLException

      Specified by:
        `updateBinaryStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateObject

          public void updateObject(int columnIndex,
                          java.lang.Object x,
                          int scale)
                            throws java.sql.SQLException

      Updates the designated 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.DECIMA` or `java.sql.Types.NUMERIC` types, this is the number of digits after the decimal point. For all other types this value will be ignored.
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateObject

          public void updateObject(int columnIndex,
                          java.lang.Object x)
                            throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateNull

          public void updateNull(java.lang.String columnName)
                          throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateBoolean

          public void updateBoolean(java.lang.String columnName,
                           boolean x)
                             throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateByte

          public void updateByte(java.lang.String columnName,
                        byte x)
                          throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateShort

          public void updateShort(java.lang.String columnName,
                         short x)
                           throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateInt

          public void updateInt(java.lang.String columnName,
                       int x)
                         throws java.sql.SQLException

      Updates the designated column with an `int` 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateLong

          public void updateLong(java.lang.String columnName,
                        long x)
                          throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateFloat

          public void updateFloat(java.lang.String columnName,
                         float x)
                           throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateDouble

          public void updateDouble(java.lang.String columnName,
                          double x)
                            throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateBigDecimal

          public void updateBigDecimal(java.lang.String columnName,
                              java.math.BigDecimal x)
                                throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateString

          public void updateString(java.lang.String columnName,
                          java.lang.String x)
                            throws java.sql.SQLException

      Updates the designated 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateNString

          public void updateNString(int columnIndex,
                           java.lang.String string)
                             throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateString(int, String)`.

      Specified by:
        `updateNString` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNString

          public void updateNString(java.lang.String columnLabel,
                           java.lang.String string)
                             throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateString(String, String)`.

      Specified by:
        `updateNString` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBytes

          public void updateBytes(java.lang.String columnName,
                         byte[] x)
                           throws java.sql.SQLException

      Updates the designated 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. JDBC 2.0 Updates 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateDate

          public void updateDate(java.lang.String columnName,
                        java.sql.Date x)
                          throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateTime

          public void updateTime(java.lang.String columnName,
                        java.sql.Time x)
                          throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateTimestamp

          public void updateTimestamp(java.lang.String columnName,
                             java.sql.Timestamp x)
                               throws java.sql.SQLException

      Updates the designated column with a `java.sql.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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateAsciiStream

          public final void updateAsciiStream(int columnIndex,
                               java.io.InputStream x,
                               int length)
                                       throws java.sql.SQLException

      Specified by:
        `updateAsciiStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateAsciiStream

          public final void updateAsciiStream(java.lang.String columnName,
                               java.io.InputStream x,
                               int length)
                                       throws java.sql.SQLException

      Specified by:
        `updateAsciiStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateAsciiStream

          public final void updateAsciiStream(int columnIndex,
                               java.io.InputStream x,
                               long length)
                                       throws java.sql.SQLException

      Specified by:
        `updateAsciiStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateAsciiStream

          public final void updateAsciiStream(int columnIndex,
                               java.io.InputStream x)
                                       throws java.sql.SQLException

      Specified by:
        `updateAsciiStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateAsciiStream

          public final void updateAsciiStream(java.lang.String columnLabel,
                               java.io.InputStream x,
                               long length)
                                       throws java.sql.SQLException

      Specified by:
        `updateAsciiStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateAsciiStream

          public final void updateAsciiStream(java.lang.String columnLabel,
                               java.io.InputStream x)
                                       throws java.sql.SQLException

      Specified by:
        `updateAsciiStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateCharacterStream

          public void updateCharacterStream(int columnIndex,
                                   java.io.Reader x,
                                   int length)
                                     throws java.sql.SQLException

      Specified by:
        `updateCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateCharacterStream

          public void updateCharacterStream(int columnIndex,
                                   java.io.Reader x,
                                   long length)
                                     throws java.sql.SQLException

      Specified by:
        `updateCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateCharacterStream

          public void updateCharacterStream(int columnIndex,
                                   java.io.Reader x)
                                     throws java.sql.SQLException

      Specified by:
        `updateCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateCharacterStream

          public void updateCharacterStream(java.lang.String columnName,
                                   java.io.Reader reader,
                                   int length)
                                     throws java.sql.SQLException

      Specified by:
        `updateCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateCharacterStream

          public void updateCharacterStream(java.lang.String columnLabel,
                                   java.io.Reader reader,
                                   long length)
                                     throws java.sql.SQLException

      Specified by:
        `updateCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateCharacterStream

          public void updateCharacterStream(java.lang.String columnLabel,
                                   java.io.Reader reader)
                                     throws java.sql.SQLException

      Specified by:
        `updateCharacterStream` 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

      Implementation note: This method behaves exactly the same as `updateCharacterStream(int, Reader, long)`.

      Specified by:
        `updateNCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNCharacterStream

          public void updateNCharacterStream(int columnIndex,
                                    java.io.Reader x)
                                      throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateCharacterStream(int, Reader)`.

      Specified by:
        `updateNCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNCharacterStream

          public void updateNCharacterStream(java.lang.String columnLabel,
                                    java.io.Reader reader,
                                    long length)
                                      throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateClob(String, Reader, long)`.

      Specified by:
        `updateNCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNCharacterStream

          public void updateNCharacterStream(java.lang.String columnLabel,
                                    java.io.Reader reader)
                                      throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateCharacterStream(String, Reader)`.

      Specified by:
        `updateNCharacterStream` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateObject

          public void updateObject(java.lang.String columnName,
                          java.lang.Object x,
                          int scale)
                            throws java.sql.SQLException

      Specified by:
        `updateObject` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateObject

          public void updateObject(java.lang.String columnName,
                          java.lang.Object x)
                            throws java.sql.SQLException

      Specified by:
        `updateObject` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### insertRow

          public void insertRow()
                         throws java.sql.SQLException

      Inserts the contents of the insert row into this `ResultSet` objaect and into the database. The cursor 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 this method is called when the cursor is not on the insert row, or if not all of non-nullable columns in the insert row have been given a value
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### updateRow

          public void updateRow()
                         throws java.sql.SQLException

      Updates the underlying database with the new contents of the current row of this `ResultSet` object. This method cannot be called when the cursor is on the insert row.
      Specified by:
        `updateRow` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException` - if a database access error occurs or if this method is called when the cursor is on the insert row
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### deleteRow

          public void deleteRow()
                         throws java.sql.SQLException

      Deletes the current row from this `ResultSet` object and from the underlying database. This method cannot be called when the cursor is on the insert row.
      Specified by:
        `deleteRow` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException` - if a database access error occurs or if this method is called when the cursor is on the insert row
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### refreshRow

          public void refreshRow()
                          throws java.sql.SQLException

      Refreshes the current row with its most recent value in the database. This method cannot be called when the cursor is 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 an `updateXXX` method, but before calling the method `updateRow`, then the updates made to the row are lost. Calling the method `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 this method is called when the cursor is on the insert row
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### cancelRowUpdates

          public void cancelRowUpdates()
                                throws java.sql.SQLException

      Cancels the updates made to the current row in this `ResultSet` object. This method may be called after calling an `updateXXX` method(s) and before calling the method `updateRow` to roll back the updates made to a row. If no updates have been made or `updateRow` has already been called, 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 this method is called when the cursor is on the insert row
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### moveToInsertRow

          public void moveToInsertRow()
                               throws java.sql.SQLException

      Moves the cursor 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`. An `updateXXX` method must be called before a `getXXX` method can be called on a column value.
      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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### moveToCurrentRow

          public void moveToCurrentRow()
                                throws java.sql.SQLException

      Moves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not 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
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getStatement

          public java.sql.Statement getStatement()

      Returns the `Statement` object that produced this `ResultSet` object. If the result set was generated some other way, such as by a `DatabaseMetaData` method, this method returns `null`.
      Specified by:
        `getStatement` in interface `java.sql.ResultSet`
      Returns:
        the `Statement` object that produced this `ResultSet` object or `null` if the result set was produced some other way

    - #### getObject

          public java.lang.Object getObject(int i,
                                   java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                     throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language. This method uses the given `Map` object for the custom mapping of the SQL structured or distinct type that is being retrieved.
      Specified by:
        `getObject` in interface `java.sql.ResultSet`
      Parameters:
        `i` - the first column is 1, the second is 2, ...
        `map` - a `java.util.Map` object that contains the mapping from SQL type names to classes in the Java programming language
      Returns:
        an `Object` in the Java programming language representing the SQL value
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getRef

          public java.sql.Ref getRef(int i)
                              throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
      Specified by:
        `getRef` in interface `java.sql.ResultSet`
      Parameters:
        `i` - the first column is 1, the second is 2, ...
      Returns:
        a `Ref` object representing an SQL `REF` value
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getClob

          public java.sql.Clob getClob(int i)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
      Specified by:
        `getClob` in interface `java.sql.ResultSet`
      Parameters:
        `i` - the first column is 1, the second is 2, ...
      Returns:
        a `Clob` object representing the SQL `CLOB` value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getArray

          public java.sql.Array getArray(int i)
                                  throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
      Specified by:
        `getArray` in interface `java.sql.ResultSet`
      Parameters:
        `i` - the first column is 1, the second is 2, ...
      Returns:
        an `Array` object representing the SQL `ARRAY` value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getObject

          public java.lang.Object getObject(java.lang.String columnName,
                                   java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                     throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language. This method uses the specified `Map` object for custom mapping if appropriate.
      Specified by:
        `getObject` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the name of the column from which to retrieve the value
        `map` - a `java.util.Map` object that contains the mapping from SQL type names to classes in the Java programming language
      Returns:
        an `Object` representing the SQL value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getRef

          public java.sql.Ref getRef(java.lang.String columnName)
                              throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
      Specified by:
        `getRef` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the column name
      Returns:
        a `Ref` object representing the SQL `REF` value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getBlob

          public java.sql.Blob getBlob(java.lang.String columnName)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.
      Specified by:
        `getBlob` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the name of the column from which to retrieve the value
      Returns:
        a `Blob` object representing the SQL `BLOB` value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getClob

          public java.sql.Clob getClob(java.lang.String columnName)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
      Specified by:
        `getClob` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the name of the column from which to retrieve the value
      Returns:
        a `Clob` object representing the SQL `CLOB` value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getArray

          public java.sql.Array getArray(java.lang.String columnName)
                                  throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
      Specified by:
        `getArray` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the name of the column from which to retrieve the value
      Returns:
        an `Array` object representing the SQL `ARRAY` value in the specified column
      Throws:
        `java.sql.SQLException`
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getDate

          public java.sql.Date getDate(int columnIndex,
                              java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.
      Specified by:
        `getDate` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - the first column is 1, the second is 2, ...
        `cal` - the `java.util.Calendar` object to use in constructing the date
      Returns:
        the column value as a `java.sql.Date` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getDate

          public java.sql.Date getDate(java.lang.String columnName,
                              java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.
      Specified by:
        `getDate` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the SQL name of the column from which to retrieve the value
        `cal` - the `java.util.Calendar` object to use in constructing the date
      Returns:
        the column value as a `java.sql.Date` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getTime

          public java.sql.Time getTime(int columnIndex,
                              java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.
      Specified by:
        `getTime` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - the first column is 1, the second is 2, ...
        `cal` - the `java.util.Calendar` object to use in constructing the time
      Returns:
        the column value as a `java.sql.Time` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getTime

          public java.sql.Time getTime(java.lang.String columnName,
                              java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.
      Specified by:
        `getTime` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the SQL name of the column
        `cal` - the `java.util.Calendar` object to use in constructing the time
      Returns:
        the column value as a `java.sql.Time` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(int columnIndex,
                                        java.util.Calendar cal)
                                          throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.
      Specified by:
        `getTimestamp` in interface `java.sql.ResultSet`
      Parameters:
        `columnIndex` - the first column is 1, the second is 2, ...
        `cal` - the `java.util.Calendar` object to use in constructing the timestamp
      Returns:
        the column value as a `java.sql.Timestamp` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(java.lang.String columnName,
                                        java.util.Calendar cal)
                                          throws java.sql.SQLException

      Returns the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.
      Specified by:
        `getTimestamp` in interface `java.sql.ResultSet`
      Parameters:
        `columnName` - the SQL name of the column
        `cal` - the `java.util.Calendar` object to use in constructing the date
      Returns:
        the column value as a `java.sql.Timestamp` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.2
      See Also:
        What Is in the JDBC 2.0 API

    - #### getURL

          public java.net.URL getURL(int param1)
                              throws java.sql.SQLException

      Specified by:
        `getURL` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getURL

          public java.net.URL getURL(java.lang.String param1)
                              throws java.sql.SQLException

      Specified by:
        `getURL` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getObject

          public <T> T getObject(int columnIndex,
                        java.lang.Class<T> type)
                      throws java.sql.SQLException

      Specified by:
        `getObject` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getObject

          public <T> T getObject(java.lang.String columnLabel,
                        java.lang.Class<T> type)
                      throws java.sql.SQLException

      Specified by:
        `getObject` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateRef

          public void updateRef(int param1,
                       java.sql.Ref param2)
                         throws java.sql.SQLException

      Specified by:
        `updateRef` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateRef

          public void updateRef(java.lang.String param1,
                       java.sql.Ref param2)
                         throws java.sql.SQLException

      Specified by:
        `updateRef` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBlob

          public void updateBlob(int columnIndex,
                        java.sql.Blob blob)
                          throws java.sql.SQLException

      Specified by:
        `updateBlob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBlob

          public void updateBlob(java.lang.String columnLabel,
                        java.sql.Blob blob)
                          throws java.sql.SQLException

      Specified by:
        `updateBlob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBlob

          public void updateBlob(int columnIndex,
                        java.io.InputStream inputStream,
                        long length)
                          throws java.sql.SQLException

      Specified by:
        `updateBlob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBlob

          public void updateBlob(int columnIndex,
                        java.io.InputStream inputStream)
                          throws java.sql.SQLException

      Specified by:
        `updateBlob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBlob

          public void updateBlob(java.lang.String columnLabel,
                        java.io.InputStream inputStream,
                        long length)
                          throws java.sql.SQLException

      Specified by:
        `updateBlob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateBlob

          public void updateBlob(java.lang.String columnLabel,
                        java.io.InputStream inputStream)
                          throws java.sql.SQLException

      Specified by:
        `updateBlob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateClob

          public void updateClob(int columnIndex,
                        java.sql.Clob clob)
                          throws java.sql.SQLException

      Specified by:
        `updateClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateClob

          public void updateClob(java.lang.String columnLabel,
                        java.sql.Clob clob)
                          throws java.sql.SQLException

      Specified by:
        `updateClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateClob

          public void updateClob(int columnIndex,
                        java.io.Reader reader,
                        long length)
                          throws java.sql.SQLException

      Specified by:
        `updateClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateClob

          public void updateClob(int columnIndex,
                        java.io.Reader reader)
                          throws java.sql.SQLException

      Specified by:
        `updateClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateClob

          public void updateClob(java.lang.String columnLabel,
                        java.io.Reader reader,
                        long length)
                          throws java.sql.SQLException

      Specified by:
        `updateClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateClob

          public void updateClob(java.lang.String columnLabel,
                        java.io.Reader reader)
                          throws java.sql.SQLException

      Specified by:
        `updateClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateArray

          public void updateArray(int param1,
                         java.sql.Array param2)
                           throws java.sql.SQLException

      Specified by:
        `updateArray` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateArray

          public void updateArray(java.lang.String param1,
                         java.sql.Array param2)
                           throws java.sql.SQLException

      Specified by:
        `updateArray` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getNClob

          public java.sql.NClob getNClob(int columnIndex)
                                  throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `getClob(int)`.

      Specified by:
        `getNClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getNClob

          public java.sql.NClob getNClob(java.lang.String columnLabel)
                                  throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `getClob(String)`.

      Specified by:
        `getNClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### 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 columnLabel)
                                  throws java.sql.SQLException

      Specified by:
        `getRowId` 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 columnLabel)
                                    throws java.sql.SQLException

      Specified by:
        `getSQLXML` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNClob

          public void updateNClob(int columnIndex,
                         java.sql.NClob clob)
                           throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateClob(int, Clob)`.

      Specified by:
        `updateNClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNClob

          public void updateNClob(int columnIndex,
                         java.io.Reader reader,
                         long length)
                           throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateClob(int, Reader, long)`.

      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

      Implementation note: This method behaves exactly the same as `updateClob(int, Reader)`.

      Specified by:
        `updateNClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNClob

          public void updateNClob(java.lang.String columnLabel,
                         java.sql.NClob clob)
                           throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateClob(String, Clob)`.

      Specified by:
        `updateNClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNClob

          public void updateNClob(java.lang.String columnLabel,
                         java.io.Reader reader,
                         long length)
                           throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateClob(int, Reader, long)`.

      Specified by:
        `updateNClob` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### updateNClob

          public void updateNClob(java.lang.String columnLabel,
                         java.io.Reader reader)
                           throws java.sql.SQLException

      Implementation note: This method behaves exactly the same as `updateClob(String, Reader)`.

      Specified by:
        `updateNClob` 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 columnLabel,
                         java.sql.RowId x)
                           throws java.sql.SQLException

      Specified by:
        `updateRowId` 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 columnLabel,
                          java.sql.SQLXML xmlObject)
                            throws java.sql.SQLException

      Specified by:
        `updateSQLXML` in interface `java.sql.ResultSet`
      Throws:
        `java.sql.SQLException`

    - #### getExecutionPlan

          public java.lang.String getExecutionPlan()
                                            throws java.sql.SQLException

      Description copied from interface: `FirebirdResultSet`
      Get execution plan for the specified result set.
      Specified by:
        `getExecutionPlan` in interface `FirebirdResultSet`
      Returns:
        execution plan for this query.
      Throws:
        `java.sql.SQLException` - if execution plan cannot be obtained or this result set is already closed.
      See Also:
        `FirebirdPreparedStatement.getExecutionPlan()`

    - #### isWrapperFor

          public boolean isWrapperFor(java.lang.Class<?> iface)
                               throws java.sql.SQLException

      Specified by:
        `isWrapperFor` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`

    - #### unwrap

          public <T> T unwrap(java.lang.Class<T> iface)
                   throws java.sql.SQLException

      Specified by:
        `unwrap` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`

    - #### addWarning

          protected void addWarning(java.sql.SQLWarning warning)

Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.