Module org.firebirdsql.jaybird
Package org.firebirdsql.jdbc

# Class FBResultSet

java.lang.Object
org.firebirdsql.jdbc.FBResultSet

All Implemented Interfaces:
  `AutoCloseable`, `ResultSet`, `Wrapper`, `FBObjectListener.FetcherListener`, `FirebirdResultSet`

@InternalApi @NullMarked public class FBResultSet extends Object implements ResultSet, FirebirdResultSet, FBObjectListener.FetcherListener
Implementation of `ResultSet`.

This class is internal API of Jaybird. Future versions may radically change, move, or make inaccessible this type. For the public API, refer to the `ResultSet` and `FirebirdResultSet` interfaces.

Author:
  David Jencks, Roman Rokytskyy, Mark Rotteveel

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final @Nullable FBConnection`
  `connection`
  `protected final @Nullable GDSHelper`
  `gdsHelper`
  `protected @Nullable RowValue`
  `row`
  `protected final 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
  Description
  `FBResultSet(RowDescriptor rowDescriptor, @Nullable FBConnection connection, List<RowValue> rows, @Nullable FBObjectListener.ResultSetListener listener, boolean retrieveBlobs)`
  Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.
  `FBResultSet(RowDescriptor rowDescriptor, List<RowValue> rows)`
  Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.
  `FBResultSet(AbstractStatement statement, @Nullable FBObjectListener.ResultSetListener listener, boolean metaDataQuery)`
  Creates a new `FBResultSet` instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `absolute(int row)`
  `void`
  `afterLast()`
  `void`
  `beforeFirst()`
  `void`
  `cancelRowUpdates()`
  `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()`
  `void`
  `close()`
  `protected void`
  `closeFields()`
  Close the fields if they were open (applies mainly to the stream fields).
  `void`
  `deleteRow()`
  `int`
  `findColumn(String columnName)`
  `boolean`
  `first()`
  `@Nullable Array`
  `getArray(int i)`
  `@Nullable Array`
  `getArray(String columnName)`
  `final @Nullable InputStream`
  `getAsciiStream(int columnIndex)`
  `final @Nullable InputStream`
  `getAsciiStream(String columnName)`
  `@Nullable BigDecimal`
  `getBigDecimal(int columnIndex)`
  `@Nullable BigDecimal`
  `getBigDecimal(int columnIndex, int scale)`
  Deprecated.
  `@Nullable BigDecimal`
  `getBigDecimal(String columnName)`
  `@Nullable BigDecimal`
  `getBigDecimal(String columnName, int scale)`
  Deprecated.
  `@Nullable InputStream`
  `getBinaryStream(int columnIndex)`
  `@Nullable InputStream`
  `getBinaryStream(String columnName)`
  `@Nullable Blob`
  `getBlob(int columnIndex)`
  `@Nullable Blob`
  `getBlob(String columnName)`
  `boolean`
  `getBoolean(int columnIndex)`
  `boolean`
  `getBoolean(String columnName)`
  `byte`
  `getByte(int columnIndex)`
  `byte`
  `getByte(String columnName)`
  `byte @Nullable []`
  `getBytes(int columnIndex)`
  `byte @Nullable []`
  `getBytes(String columnName)`
  `@Nullable Reader`
  `getCharacterStream(int columnIndex)`
  `@Nullable Reader`
  `getCharacterStream(String columnName)`
  `@Nullable Clob`
  `getClob(int i)`
  `@Nullable Clob`
  `getClob(String columnName)`
  `int`
  `getConcurrency()`
  `@Nullable String`
  `getCursorName()`
  `@Nullable Date`
  `getDate(int columnIndex)`
  `@Nullable Date`
  `getDate(int columnIndex, @Nullable Calendar cal)`
  `@Nullable Date`
  `getDate(String columnName)`
  `@Nullable Date`
  `getDate(String columnName, @Nullable Calendar cal)`
  `double`
  `getDouble(int columnIndex)`
  `double`
  `getDouble(String columnName)`
  `@Nullable String`
  `getExecutionPlan()`
  Get execution plan for the specified result set.
  `@Nullable String`
  `getExplainedExecutionPlan()`
  Get detailed execution plan for the specified result set.
  `int`
  `getFetchDirection()`
  `int`
  `getFetchSize()`
  `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(String columnName)`
  Get a `FBField` by name.
  `float`
  `getFloat(int columnIndex)`
  `float`
  `getFloat(String columnName)`
  `int`
  `getHoldability()`
  `int`
  `getInt(int columnIndex)`
  `int`
  `getInt(String columnName)`
  `long`
  `getLong(int columnIndex)`
  `long`
  `getLong(String columnName)`
  `ResultSetMetaData`
  `getMetaData()`
  `@Nullable Reader`
  `getNCharacterStream(int columnIndex)`
  `@Nullable Reader`
  `getNCharacterStream(String columnLabel)`
  `@Nullable NClob`
  `getNClob(int columnIndex)`
  `@Nullable NClob`
  `getNClob(String columnLabel)`
  `@Nullable String`
  `getNString(int columnIndex)`
  `@Nullable String`
  `getNString(String columnLabel)`
  `@Nullable Object`
  `getObject(int columnIndex)`
  `<T extends @Nullable Object>
  @Nullable T`
  `getObject(int columnIndex, Class<T> type)`
  `@Nullable Object`
  `getObject(int i, Map<String,Class<?>> map)`
  `@Nullable Object`
  `getObject(String columnName)`
  `<T extends @Nullable Object>
  @Nullable T`
  `getObject(String columnLabel, Class<T> type)`
  `@Nullable Object`
  `getObject(String columnName, Map<String,Class<?>> map)`
  `@Nullable Ref`
  `getRef(int i)`
  `@Nullable Ref`
  `getRef(String columnName)`
  `int`
  `getRow()`
  `@Nullable RowId`
  `getRowId(int columnIndex)`
  `@Nullable RowId`
  `getRowId(String columnLabel)`
  `short`
  `getShort(int columnIndex)`
  `short`
  `getShort(String columnName)`
  `@Nullable SQLXML`
  `getSQLXML(int columnIndex)`
  `@Nullable SQLXML`
  `getSQLXML(String columnLabel)`
  `@Nullable Statement`
  `getStatement()`
  `@Nullable String`
  `getString(int columnIndex)`
  `@Nullable String`
  `getString(String columnName)`
  `@Nullable Time`
  `getTime(int columnIndex)`
  `@Nullable Time`
  `getTime(int columnIndex, @Nullable Calendar cal)`
  `@Nullable Time`
  `getTime(String columnName)`
  `@Nullable Time`
  `getTime(String columnName, @Nullable Calendar cal)`
  `@Nullable Timestamp`
  `getTimestamp(int columnIndex)`
  `@Nullable Timestamp`
  `getTimestamp(int columnIndex, @Nullable Calendar cal)`
  `@Nullable Timestamp`
  `getTimestamp(String columnName)`
  `@Nullable Timestamp`
  `getTimestamp(String columnName, @Nullable Calendar cal)`
  `int`
  `getType()`
  `@Nullable InputStream`
  `getUnicodeStream(int columnIndex)`
  Deprecated.
  `@Nullable InputStream`
  `getUnicodeStream(String columnName)`
  Deprecated.
  `@Nullable URL`
  `getURL(int param1)`
  `@Nullable URL`
  `getURL(String param1)`
  `@Nullable SQLWarning`
  `getWarnings()`
  `void`
  `insertRow()`
  `boolean`
  `isAfterLast()`
  `boolean`
  `isBeforeFirst()`
  `boolean`
  `isClosed()`
  `boolean`
  `isFirst()`
  `boolean`
  `isLast()`
  `boolean`
  `isWrapperFor(Class<?> iface)`
  `boolean`
  `last()`
  `void`
  `moveToCurrentRow()`
  `void`
  `moveToInsertRow()`
  `boolean`
  `next()`
  `boolean`
  `previous()`
  `void`
  `refreshRow()`
  `boolean`
  `relative(int rows)`
  `void`
  `rowChanged(FBFetcher fetcher, @Nullable RowValue newRow)`
  Notify listener that underlying row was changed.
  `boolean`
  `rowDeleted()`
  `boolean`
  `rowInserted()`
  `boolean`
  `rowUpdated()`
  `void`
  `setFetchDirection(int direction)`
  `void`
  `setFetchSize(int rows)`
  `<T> T`
  `unwrap(Class<T> iface)`
  `void`
  `updateArray(int param1, @Nullable Array param2)`
  `void`
  `updateArray(String param1, @Nullable Array param2)`
  `final void`
  `updateAsciiStream(int columnIndex, @Nullable InputStream x)`
  `final void`
  `updateAsciiStream(int columnIndex, @Nullable InputStream x, int length)`
  `final void`
  `updateAsciiStream(int columnIndex, @Nullable InputStream x, long length)`
  `final void`
  `updateAsciiStream(String columnLabel, @Nullable InputStream x)`
  `final void`
  `updateAsciiStream(String columnName, @Nullable InputStream x, int length)`
  `final void`
  `updateAsciiStream(String columnLabel, @Nullable InputStream x, long length)`
  `void`
  `updateBigDecimal(int columnIndex, @Nullable BigDecimal x)`
  `void`
  `updateBigDecimal(String columnName, @Nullable BigDecimal x)`
  `void`
  `updateBinaryStream(int columnIndex, @Nullable InputStream x)`
  `void`
  `updateBinaryStream(int columnIndex, @Nullable InputStream x, int length)`
  `void`
  `updateBinaryStream(int columnIndex, @Nullable InputStream x, long length)`
  `void`
  `updateBinaryStream(String columnLabel, @Nullable InputStream x)`
  `void`
  `updateBinaryStream(String columnName, @Nullable InputStream x, int length)`
  `void`
  `updateBinaryStream(String columnLabel, @Nullable InputStream x, long length)`
  `void`
  `updateBlob(int columnIndex, @Nullable InputStream inputStream)`
  `void`
  `updateBlob(int columnIndex, @Nullable InputStream inputStream, long length)`
  `void`
  `updateBlob(int columnIndex, @Nullable Blob blob)`
  `void`
  `updateBlob(String columnLabel, @Nullable InputStream inputStream)`
  `void`
  `updateBlob(String columnLabel, @Nullable InputStream inputStream, long length)`
  `void`
  `updateBlob(String columnLabel, @Nullable Blob blob)`
  `void`
  `updateBoolean(int columnIndex, boolean x)`
  `void`
  `updateBoolean(String columnName, boolean x)`
  `void`
  `updateByte(int columnIndex, byte x)`
  `void`
  `updateByte(String columnName, byte x)`
  `void`
  `updateBytes(int columnIndex, byte @Nullable [] x)`
  `void`
  `updateBytes(String columnName, byte @Nullable [] x)`
  `void`
  `updateCharacterStream(int columnIndex, @Nullable Reader x)`
  `void`
  `updateCharacterStream(int columnIndex, @Nullable Reader x, int length)`
  `void`
  `updateCharacterStream(int columnIndex, @Nullable Reader x, long length)`
  `void`
  `updateCharacterStream(String columnLabel, @Nullable Reader reader)`
  `void`
  `updateCharacterStream(String columnName, @Nullable Reader reader, int length)`
  `void`
  `updateCharacterStream(String columnLabel, @Nullable Reader reader, long length)`
  `void`
  `updateClob(int columnIndex, @Nullable Reader reader)`
  `void`
  `updateClob(int columnIndex, @Nullable Reader reader, long length)`
  `void`
  `updateClob(int columnIndex, @Nullable Clob clob)`
  `void`
  `updateClob(String columnLabel, @Nullable Reader reader)`
  `void`
  `updateClob(String columnLabel, @Nullable Reader reader, long length)`
  `void`
  `updateClob(String columnLabel, @Nullable Clob clob)`
  `void`
  `updateDate(int columnIndex, @Nullable Date x)`
  `void`
  `updateDate(String columnName, @Nullable Date x)`
  `void`
  `updateDouble(int columnIndex, double x)`
  `void`
  `updateDouble(String columnName, double x)`
  `void`
  `updateFloat(int columnIndex, float x)`
  `void`
  `updateFloat(String columnName, float x)`
  `void`
  `updateInt(int columnIndex, int x)`
  `void`
  `updateInt(String columnName, int x)`
  `void`
  `updateLong(int columnIndex, long x)`
  `void`
  `updateLong(String columnName, long x)`
  `void`
  `updateNCharacterStream(int columnIndex, @Nullable Reader x)`
  `void`
  `updateNCharacterStream(int columnIndex, @Nullable Reader x, long length)`
  `void`
  `updateNCharacterStream(String columnLabel, @Nullable Reader reader)`
  `void`
  `updateNCharacterStream(String columnLabel, @Nullable Reader reader, long length)`
  `void`
  `updateNClob(int columnIndex, @Nullable Reader reader)`
  `void`
  `updateNClob(int columnIndex, @Nullable Reader reader, long length)`
  `void`
  `updateNClob(int columnIndex, @Nullable NClob clob)`
  `void`
  `updateNClob(String columnLabel, @Nullable Reader reader)`
  `void`
  `updateNClob(String columnLabel, @Nullable Reader reader, long length)`
  `void`
  `updateNClob(String columnLabel, @Nullable NClob clob)`
  `void`
  `updateNString(int columnIndex, @Nullable String string)`
  `void`
  `updateNString(String columnLabel, @Nullable String string)`
  `void`
  `updateNull(int columnIndex)`
  `void`
  `updateNull(String columnName)`
  `void`
  `updateObject(int columnIndex, @Nullable Object x)`
  `void`
  `updateObject(int columnIndex, @Nullable Object x, int scaleOrLength)`
  `void`
  `updateObject(int columnIndex, @Nullable Object x, SQLType targetSqlType)`
  `void`
  `updateObject(int columnIndex, @Nullable Object x, SQLType targetSqlType, int scaleOrLength)`
  `void`
  `updateObject(String columnName, @Nullable Object x)`
  `void`
  `updateObject(String columnName, @Nullable Object x, int scaleOrLength)`
  `void`
  `updateObject(String columnLabel, @Nullable Object x, SQLType targetSqlType)`
  `void`
  `updateObject(String columnLabel, @Nullable Object x, SQLType targetSqlType, int scaleOrLength)`
  `void`
  `updateRef(int param1, @Nullable Ref param2)`
  `void`
  `updateRef(String param1, @Nullable Ref param2)`
  `void`
  `updateRow()`
  `void`
  `updateRowId(int columnIndex, @Nullable RowId x)`
  `void`
  `updateRowId(String columnLabel, @Nullable RowId x)`
  `void`
  `updateShort(int columnIndex, short x)`
  `void`
  `updateShort(String columnName, short x)`
  `void`
  `updateSQLXML(int columnIndex, @Nullable SQLXML xmlObject)`
  `void`
  `updateSQLXML(String columnLabel, @Nullable SQLXML xmlObject)`
  `void`
  `updateString(int columnIndex, @Nullable String x)`
  `void`
  `updateString(String columnName, @Nullable String x)`
  `void`
  `updateTime(int columnIndex, @Nullable Time x)`
  `void`
  `updateTime(String columnName, @Nullable Time x)`
  `void`
  `updateTimestamp(int columnIndex, @Nullable Timestamp x)`
  `void`
  `updateTimestamp(String columnName, @Nullable Timestamp x)`
  `boolean`
  `wasNull()`

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

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

- ## Field Details

  - ### connection

    protected final @Nullable FBConnection connection

  - ### gdsHelper

    protected final @Nullable GDSHelper gdsHelper

  - ### rowDescriptor

    protected final RowDescriptor rowDescriptor

  - ### row

    protected @Nullable RowValue row

- ## Constructor Details

  - ### FBResultSet

    public FBResultSet(AbstractStatement statement, @Nullable FBObjectListener.ResultSetListener listener, boolean metaDataQuery) throws SQLException
    Creates a new `FBResultSet` instance.
    Throws:
      `SQLException`

  - ### FBResultSet

    public FBResultSet(RowDescriptor rowDescriptor, List<RowValue> rows) throws 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:
      `SQLException`

  - ### FBResultSet

    public FBResultSet(RowDescriptor rowDescriptor, @Nullable FBConnection connection, List<RowValue> rows, @Nullable FBObjectListener.ResultSetListener listener, boolean retrieveBlobs) throws SQLException
    Creates a FBResultSet with the columns specified by `rowDescriptor` and the data in `rows`.

    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
      `listener` - result set listener
      `retrieveBlobs` - `true` retrieves the blob data
    Throws:
      `SQLException`
    Since:
      5.0.1

- ## Method Details

  - ### rowChanged

    public void rowChanged(FBFetcher fetcher, @Nullable RowValue newRow) throws SQLException
    Description copied from interface: `FBObjectListener.FetcherListener`
    Notify listener that underlying row was changed.

    The default implementation does nothing.

    Specified by:
      `rowChanged` in interface `FBObjectListener.FetcherListener`
    Parameters:
      `fetcher` - instance of `FBFetcher` that caused this event
      `newRow` - new row
    Throws:
      `SQLException`

  - ### checkCursorMove

    protected void checkCursorMove() throws SQLException
    Check if statement is open and prepare statement for cursor move.
    Throws:
      `SQLException` - if statement is closed.

  - ### checkOpen

    protected void checkOpen() throws SQLException
    Check if ResultSet is open.
    Throws:
      `SQLException` - if ResultSet is closed.

  - ### checkScrollable

    protected void checkScrollable() throws SQLException
    Checks if the result set is scrollable
    Throws:
      `SQLException` - if ResultSet is not scrollable

  - ### closeFields

    protected void closeFields() throws SQLException
    Close the fields if they were open (applies mainly to the stream fields).
    Throws:
      `SQLException` - if something wrong happened.

  - ### next

    public boolean next() throws SQLException
    Specified by:
      `next` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### close

    public void close() throws SQLException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### isClosed

    public boolean isClosed() throws SQLException
    Specified by:
      `isClosed` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### wasNull

    public boolean wasNull() throws SQLException
    Specified by:
      `wasNull` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getAsciiStream

    public final @Nullable InputStream getAsciiStream(int columnIndex) throws SQLException

    Implementation note: works identical to `getBinaryStream(int)`.

    Specified by:
      `getAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBigDecimal

    public @Nullable BigDecimal getBigDecimal(int columnIndex) throws SQLException
    Specified by:
      `getBigDecimal` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBinaryStream

    public @Nullable InputStream getBinaryStream(int columnIndex) throws SQLException
    Specified by:
      `getBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBlob

    public @Nullable Blob getBlob(int columnIndex) throws SQLException
    Specified by:
      `getBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBoolean

    public boolean getBoolean(int columnIndex) throws SQLException
    Specified by:
      `getBoolean` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getByte

    public byte getByte(int columnIndex) throws SQLException
    Specified by:
      `getByte` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBytes

    public byte @Nullable [] getBytes(int columnIndex) throws SQLException
    Specified by:
      `getBytes` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getDate

    public @Nullable Date getDate(int columnIndex) throws SQLException
    Specified by:
      `getDate` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getDouble

    public double getDouble(int columnIndex) throws SQLException
    Specified by:
      `getDouble` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getFloat

    public float getFloat(int columnIndex) throws SQLException
    Specified by:
      `getFloat` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getInt

    public int getInt(int columnIndex) throws SQLException
    Specified by:
      `getInt` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getLong

    public long getLong(int columnIndex) throws SQLException
    Specified by:
      `getLong` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getObject

    public @Nullable Object getObject(int columnIndex) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getShort

    public short getShort(int columnIndex) throws SQLException
    Specified by:
      `getShort` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getString

    public @Nullable String getString(int columnIndex) throws SQLException
    Specified by:
      `getString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getNString

    public @Nullable String getNString(int columnIndex) throws SQLException

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

    Specified by:
      `getNString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTime

    public @Nullable Time getTime(int columnIndex) throws SQLException
    Specified by:
      `getTime` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTimestamp

    public @Nullable Timestamp getTimestamp(int columnIndex) throws SQLException
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getUnicodeStream

    @Deprecated(since="1") public @Nullable InputStream getUnicodeStream(int columnIndex) throws 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 `ResultSet`
    Throws:
      `SQLFeatureNotSupportedException` - Always
      `SQLException`

  - ### getNCharacterStream

    public @Nullable Reader getNCharacterStream(int columnIndex) throws SQLException

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

    Specified by:
      `getNCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getField

    public FBField getField(int columnIndex) throws SQLException
    Get the `FBField` object at the given column index
    Parameters:
      `columnIndex` - The index of the parameter, 1 is the first index
    Throws:
      `SQLException` - If there is an error accessing the field

  - ### getField

    public FBField getField(int columnIndex, boolean checkRowPosition) throws SQLException
    Factory method for the field access objects
    Throws:
      `SQLException`

  - ### getField

    public FBField getField(String columnName) throws SQLException
    Get a `FBField` by name.
    Parameters:
      `columnName` - The name of the field to be retrieved
    Throws:
      `SQLException` - if the field cannot be retrieved

  - ### getBigDecimal

    @Deprecated(since="1") public @Nullable BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
    Deprecated.

    Implementation note: ignores `scale` and behaves identical to `getBigDecimal(int)`.

    Specified by:
      `getBigDecimal` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getString

    public @Nullable String getString(String columnName) throws SQLException
    Specified by:
      `getString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getNString

    public @Nullable String getNString(String columnLabel) throws SQLException

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

    Specified by:
      `getNString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBoolean

    public boolean getBoolean(String columnName) throws SQLException
    Specified by:
      `getBoolean` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getByte

    public byte getByte(String columnName) throws SQLException
    Specified by:
      `getByte` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getShort

    public short getShort(String columnName) throws SQLException
    Specified by:
      `getShort` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getInt

    public int getInt(String columnName) throws SQLException
    Specified by:
      `getInt` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getLong

    public long getLong(String columnName) throws SQLException
    Specified by:
      `getLong` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getFloat

    public float getFloat(String columnName) throws SQLException
    Specified by:
      `getFloat` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getDouble

    public double getDouble(String columnName) throws SQLException
    Specified by:
      `getDouble` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBigDecimal

    @Deprecated(since="1") public @Nullable BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
    Deprecated.

    Implementation note: ignores `scale` and behaves identical to `getBigDecimal(String)`.

    Specified by:
      `getBigDecimal` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBytes

    public byte @Nullable [] getBytes(String columnName) throws SQLException
    Specified by:
      `getBytes` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getDate

    public @Nullable Date getDate(String columnName) throws SQLException
    Specified by:
      `getDate` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTime

    public @Nullable Time getTime(String columnName) throws SQLException
    Specified by:
      `getTime` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTimestamp

    public @Nullable Timestamp getTimestamp(String columnName) throws SQLException
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getAsciiStream

    public final @Nullable InputStream getAsciiStream(String columnName) throws SQLException

    Implementation note: works identical to `getBinaryStream(String)`.

    Specified by:
      `getAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getUnicodeStream

    @Deprecated(since="1") public @Nullable InputStream getUnicodeStream(String columnName) throws 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 `ResultSet`
    Throws:
      `SQLFeatureNotSupportedException` - Always
      `SQLException`

  - ### getNCharacterStream

    public @Nullable Reader getNCharacterStream(String columnLabel) throws SQLException

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

    Specified by:
      `getNCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBinaryStream

    public @Nullable InputStream getBinaryStream(String columnName) throws SQLException
    Specified by:
      `getBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getWarnings

    public @Nullable SQLWarning getWarnings() throws SQLException

    If connection property `reportSQLWarnings` is set to `NONE` (case-insensitive), this method will not report warnings and always return `null`.

    NOTE: The implementation currently always returns `null` as warnings are never recorded for result sets.

    Specified by:
      `getWarnings` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### clearWarnings

    public void clearWarnings() throws SQLException
    Specified by:
      `clearWarnings` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getCursorName

    public @Nullable String getCursorName() throws SQLException
    Specified by:
      `getCursorName` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getMetaData

    public ResultSetMetaData getMetaData() throws SQLException
    Specified by:
      `getMetaData` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getObject

    public @Nullable Object getObject(String columnName) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### findColumn

    public int findColumn(String columnName) throws SQLException
    Specified by:
      `findColumn` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getCharacterStream

    public @Nullable Reader getCharacterStream(int columnIndex) throws SQLException
    Specified by:
      `getCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getCharacterStream

    public @Nullable Reader getCharacterStream(String columnName) throws SQLException
    Specified by:
      `getCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBigDecimal

    public @Nullable BigDecimal getBigDecimal(String columnName) throws SQLException
    Specified by:
      `getBigDecimal` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### isBeforeFirst

    public boolean isBeforeFirst() throws SQLException
    Specified by:
      `isBeforeFirst` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### isAfterLast

    public boolean isAfterLast() throws SQLException
    Specified by:
      `isAfterLast` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### isFirst

    public boolean isFirst() throws SQLException
    Specified by:
      `isFirst` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### isLast

    public boolean isLast() throws SQLException
    Specified by:
      `isLast` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### beforeFirst

    public void beforeFirst() throws SQLException
    Specified by:
      `beforeFirst` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### afterLast

    public void afterLast() throws SQLException
    Specified by:
      `afterLast` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### first

    public boolean first() throws SQLException
    Specified by:
      `first` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### last

    public boolean last() throws SQLException
    Specified by:
      `last` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getRow

    public int getRow() throws SQLException
    Specified by:
      `getRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### absolute

    public boolean absolute(int row) throws SQLException
    Specified by:
      `absolute` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### relative

    public boolean relative(int rows) throws SQLException
    Specified by:
      `relative` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### previous

    public boolean previous() throws SQLException
    Specified by:
      `previous` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### setFetchDirection

    public void setFetchDirection(int direction) throws SQLException
    Specified by:
      `setFetchDirection` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getFetchDirection

    public int getFetchDirection() throws SQLException
    Specified by:
      `getFetchDirection` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### setFetchSize

    public void setFetchSize(int rows) throws SQLException
    Specified by:
      `setFetchSize` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getFetchSize

    public int getFetchSize() throws SQLException
    Specified by:
      `getFetchSize` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getType

    public int getType() throws SQLException
    Specified by:
      `getType` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getConcurrency

    public int getConcurrency() throws SQLException
    Specified by:
      `getConcurrency` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getHoldability

    public int getHoldability() throws SQLException
    Specified by:
      `getHoldability` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### rowUpdated

    public boolean rowUpdated() throws SQLException
    Specified by:
      `rowUpdated` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### rowInserted

    public boolean rowInserted() throws SQLException
    Specified by:
      `rowInserted` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### rowDeleted

    public boolean rowDeleted() throws SQLException
    Specified by:
      `rowDeleted` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNull

    public void updateNull(int columnIndex) throws SQLException
    Specified by:
      `updateNull` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBoolean

    public void updateBoolean(int columnIndex, boolean x) throws SQLException
    Specified by:
      `updateBoolean` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateByte

    public void updateByte(int columnIndex, byte x) throws SQLException
    Specified by:
      `updateByte` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateShort

    public void updateShort(int columnIndex, short x) throws SQLException
    Specified by:
      `updateShort` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateInt

    public void updateInt(int columnIndex, int x) throws SQLException
    Specified by:
      `updateInt` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateLong

    public void updateLong(int columnIndex, long x) throws SQLException
    Specified by:
      `updateLong` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateFloat

    public void updateFloat(int columnIndex, float x) throws SQLException
    Specified by:
      `updateFloat` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateDouble

    public void updateDouble(int columnIndex, double x) throws SQLException
    Specified by:
      `updateDouble` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBigDecimal

    public void updateBigDecimal(int columnIndex, @Nullable BigDecimal x) throws SQLException
    Specified by:
      `updateBigDecimal` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateString

    public void updateString(int columnIndex, @Nullable String x) throws SQLException
    Specified by:
      `updateString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBytes

    public void updateBytes(int columnIndex, byte @Nullable [] x) throws SQLException
    Specified by:
      `updateBytes` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateDate

    public void updateDate(int columnIndex, @Nullable Date x) throws SQLException
    Specified by:
      `updateDate` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateTime

    public void updateTime(int columnIndex, @Nullable Time x) throws SQLException
    Specified by:
      `updateTime` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateTimestamp

    public void updateTimestamp(int columnIndex, @Nullable Timestamp x) throws SQLException
    Specified by:
      `updateTimestamp` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBinaryStream

    public void updateBinaryStream(int columnIndex, @Nullable InputStream x, int length) throws SQLException
    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBinaryStream

    public void updateBinaryStream(int columnIndex, @Nullable InputStream x, long length) throws SQLException
    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBinaryStream

    public void updateBinaryStream(int columnIndex, @Nullable InputStream x) throws SQLException
    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBinaryStream

    public void updateBinaryStream(String columnName, @Nullable InputStream x, int length) throws SQLException
    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBinaryStream

    public void updateBinaryStream(String columnLabel, @Nullable InputStream x, long length) throws SQLException
    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBinaryStream

    public void updateBinaryStream(String columnLabel, @Nullable InputStream x) throws SQLException
    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(int columnIndex, @Nullable Object x, int scaleOrLength) throws SQLException

    Jaybird delegates to `updateObject(int, Object)` and ignores the value of `scaleOrLength`, if `x` is anything other than a `Reader` or `InputStream`.

    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(int columnIndex, @Nullable Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException

    Jaybird delegates to `updateObject(int, Object, int)` and ignores the value of `targetSqlType`.

    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(int columnIndex, @Nullable Object x) throws SQLException
    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(int columnIndex, @Nullable Object x, SQLType targetSqlType) throws SQLException

    Jaybird delegates to `updateObject(int, Object)` and ignores the value of `targetSqlType`

    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNull

    public void updateNull(String columnName) throws SQLException
    Specified by:
      `updateNull` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBoolean

    public void updateBoolean(String columnName, boolean x) throws SQLException
    Specified by:
      `updateBoolean` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateByte

    public void updateByte(String columnName, byte x) throws SQLException
    Specified by:
      `updateByte` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateShort

    public void updateShort(String columnName, short x) throws SQLException
    Specified by:
      `updateShort` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateInt

    public void updateInt(String columnName, int x) throws SQLException
    Specified by:
      `updateInt` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateLong

    public void updateLong(String columnName, long x) throws SQLException
    Specified by:
      `updateLong` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateFloat

    public void updateFloat(String columnName, float x) throws SQLException
    Specified by:
      `updateFloat` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateDouble

    public void updateDouble(String columnName, double x) throws SQLException
    Specified by:
      `updateDouble` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBigDecimal

    public void updateBigDecimal(String columnName, @Nullable BigDecimal x) throws SQLException
    Specified by:
      `updateBigDecimal` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateString

    public void updateString(String columnName, @Nullable String x) throws SQLException
    Specified by:
      `updateString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNString

    public void updateNString(int columnIndex, @Nullable String string) throws SQLException

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

    Specified by:
      `updateNString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNString

    public void updateNString(String columnLabel, @Nullable String string) throws SQLException

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

    Specified by:
      `updateNString` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBytes

    public void updateBytes(String columnName, byte @Nullable [] x) throws SQLException
    Specified by:
      `updateBytes` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateDate

    public void updateDate(String columnName, @Nullable Date x) throws SQLException
    Specified by:
      `updateDate` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateTime

    public void updateTime(String columnName, @Nullable Time x) throws SQLException
    Specified by:
      `updateTime` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateTimestamp

    public void updateTimestamp(String columnName, @Nullable Timestamp x) throws SQLException
    Specified by:
      `updateTimestamp` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateAsciiStream

    public final void updateAsciiStream(int columnIndex, @Nullable InputStream x, int length) throws SQLException

    Implementation note: works identical to `updateBinaryStream(int, InputStream, int)`.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateAsciiStream

    public final void updateAsciiStream(String columnName, @Nullable InputStream x, int length) throws SQLException

    Implementation note: works identical to `updateBinaryStream(String, InputStream, int)`.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateAsciiStream

    public final void updateAsciiStream(int columnIndex, @Nullable InputStream x, long length) throws SQLException

    Implementation note: works identical to `updateBinaryStream(int, InputStream, long)`.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateAsciiStream

    public final void updateAsciiStream(int columnIndex, @Nullable InputStream x) throws SQLException

    Implementation note: works identical to `updateBinaryStream(int, InputStream)`.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateAsciiStream

    public final void updateAsciiStream(String columnLabel, @Nullable InputStream x, long length) throws SQLException

    Implementation note: works identical to `updateBinaryStream(String, InputStream, long)`.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateAsciiStream

    public final void updateAsciiStream(String columnLabel, @Nullable InputStream x) throws SQLException

    Implementation note: works identical to `updateBinaryStream(String, InputStream)`.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateCharacterStream

    public void updateCharacterStream(int columnIndex, @Nullable Reader x, int length) throws SQLException
    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateCharacterStream

    public void updateCharacterStream(int columnIndex, @Nullable Reader x, long length) throws SQLException
    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateCharacterStream

    public void updateCharacterStream(int columnIndex, @Nullable Reader x) throws SQLException
    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateCharacterStream

    public void updateCharacterStream(String columnName, @Nullable Reader reader, int length) throws SQLException
    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateCharacterStream

    public void updateCharacterStream(String columnLabel, @Nullable Reader reader, long length) throws SQLException
    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateCharacterStream

    public void updateCharacterStream(String columnLabel, @Nullable Reader reader) throws SQLException
    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNCharacterStream

    public void updateNCharacterStream(int columnIndex, @Nullable Reader x, long length) throws SQLException

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

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNCharacterStream

    public void updateNCharacterStream(int columnIndex, @Nullable Reader x) throws SQLException

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

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNCharacterStream

    public void updateNCharacterStream(String columnLabel, @Nullable Reader reader, long length) throws SQLException

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

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNCharacterStream

    public void updateNCharacterStream(String columnLabel, @Nullable Reader reader) throws SQLException

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

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(String columnName, @Nullable Object x, int scaleOrLength) throws SQLException

    Jaybird delegates to `updateObject(String, Object)` and ignores the value of `scaleOrLength`, if `x` is anything other than a `Reader` or `InputStream`.

    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(String columnLabel, @Nullable Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException

    Jaybird delegates to `updateObject(String, Object, int)` and ignores the value of `targetSqlType`.

    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(String columnName, @Nullable Object x) throws SQLException
    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateObject

    public void updateObject(String columnLabel, @Nullable Object x, SQLType targetSqlType) throws SQLException

    Jaybird delegates to `updateObject(String, Object)` and ignores the value of `targetSqlType`.

    Specified by:
      `updateObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### insertRow

    public void insertRow() throws SQLException
    Specified by:
      `insertRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateRow

    public void updateRow() throws SQLException
    Specified by:
      `updateRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### deleteRow

    public void deleteRow() throws SQLException
    Specified by:
      `deleteRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### refreshRow

    public void refreshRow() throws SQLException
    Specified by:
      `refreshRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### cancelRowUpdates

    public void cancelRowUpdates() throws SQLException
    Specified by:
      `cancelRowUpdates` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### moveToInsertRow

    public void moveToInsertRow() throws SQLException
    Specified by:
      `moveToInsertRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### moveToCurrentRow

    public void moveToCurrentRow() throws SQLException
    Specified by:
      `moveToCurrentRow` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getStatement

    public @Nullable Statement getStatement()
    Specified by:
      `getStatement` in interface `ResultSet`

  - ### getObject

    public @Nullable Object getObject(int i, Map<String,Class<?>> map) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getRef

    public @Nullable Ref getRef(int i) throws SQLException
    Specified by:
      `getRef` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getClob

    public @Nullable Clob getClob(int i) throws SQLException
    Specified by:
      `getClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getArray

    public @Nullable Array getArray(int i) throws SQLException
    Specified by:
      `getArray` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getObject

    public @Nullable Object getObject(String columnName, Map<String,Class<?>> map) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getRef

    public @Nullable Ref getRef(String columnName) throws SQLException
    Specified by:
      `getRef` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getBlob

    public @Nullable Blob getBlob(String columnName) throws SQLException
    Specified by:
      `getBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getClob

    public @Nullable Clob getClob(String columnName) throws SQLException
    Specified by:
      `getClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getArray

    public @Nullable Array getArray(String columnName) throws SQLException
    Specified by:
      `getArray` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getDate

    public @Nullable Date getDate(int columnIndex, @Nullable Calendar cal) throws SQLException
    Specified by:
      `getDate` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getDate

    public @Nullable Date getDate(String columnName, @Nullable Calendar cal) throws SQLException
    Specified by:
      `getDate` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTime

    public @Nullable Time getTime(int columnIndex, @Nullable Calendar cal) throws SQLException
    Specified by:
      `getTime` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTime

    public @Nullable Time getTime(String columnName, @Nullable Calendar cal) throws SQLException
    Specified by:
      `getTime` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTimestamp

    public @Nullable Timestamp getTimestamp(int columnIndex, @Nullable Calendar cal) throws SQLException
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getTimestamp

    public @Nullable Timestamp getTimestamp(String columnName, @Nullable Calendar cal) throws SQLException
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getURL

    public @Nullable URL getURL(int param1) throws SQLException
    Specified by:
      `getURL` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getURL

    public @Nullable URL getURL(String param1) throws SQLException
    Specified by:
      `getURL` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getObject

    public <T extends @Nullable Object> @Nullable T getObject(int columnIndex, Class<T> type) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getObject

    public <T extends @Nullable Object> @Nullable T getObject(String columnLabel, Class<T> type) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateRef

    public void updateRef(int param1, @Nullable Ref param2) throws SQLException
    Specified by:
      `updateRef` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateRef

    public void updateRef(String param1, @Nullable Ref param2) throws SQLException
    Specified by:
      `updateRef` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBlob

    public void updateBlob(int columnIndex, @Nullable Blob blob) throws SQLException
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBlob

    public void updateBlob(String columnLabel, @Nullable Blob blob) throws SQLException
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBlob

    public void updateBlob(int columnIndex, @Nullable InputStream inputStream, long length) throws SQLException
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBlob

    public void updateBlob(int columnIndex, @Nullable InputStream inputStream) throws SQLException
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBlob

    public void updateBlob(String columnLabel, @Nullable InputStream inputStream, long length) throws SQLException
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateBlob

    public void updateBlob(String columnLabel, @Nullable InputStream inputStream) throws SQLException
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateClob

    public void updateClob(int columnIndex, @Nullable Clob clob) throws SQLException
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateClob

    public void updateClob(String columnLabel, @Nullable Clob clob) throws SQLException
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateClob

    public void updateClob(int columnIndex, @Nullable Reader reader, long length) throws SQLException
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateClob

    public void updateClob(int columnIndex, @Nullable Reader reader) throws SQLException
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateClob

    public void updateClob(String columnLabel, @Nullable Reader reader, long length) throws SQLException
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateClob

    public void updateClob(String columnLabel, @Nullable Reader reader) throws SQLException
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateArray

    public void updateArray(int param1, @Nullable Array param2) throws SQLException
    Specified by:
      `updateArray` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateArray

    public void updateArray(String param1, @Nullable Array param2) throws SQLException
    Specified by:
      `updateArray` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getNClob

    public @Nullable NClob getNClob(int columnIndex) throws SQLException

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

    Specified by:
      `getNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getNClob

    public @Nullable NClob getNClob(String columnLabel) throws SQLException

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

    Specified by:
      `getNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getRowId

    public @Nullable RowId getRowId(int columnIndex) throws SQLException
    Specified by:
      `getRowId` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getRowId

    public @Nullable RowId getRowId(String columnLabel) throws SQLException
    Specified by:
      `getRowId` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getSQLXML

    public @Nullable SQLXML getSQLXML(int columnIndex) throws SQLException
    Specified by:
      `getSQLXML` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getSQLXML

    public @Nullable SQLXML getSQLXML(String columnLabel) throws SQLException
    Specified by:
      `getSQLXML` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNClob

    public void updateNClob(int columnIndex, @Nullable NClob clob) throws SQLException

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

    Specified by:
      `updateNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNClob

    public void updateNClob(int columnIndex, @Nullable Reader reader, long length) throws SQLException

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

    Specified by:
      `updateNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNClob

    public void updateNClob(int columnIndex, @Nullable Reader reader) throws SQLException

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

    Specified by:
      `updateNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNClob

    public void updateNClob(String columnLabel, @Nullable NClob clob) throws SQLException

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

    Specified by:
      `updateNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNClob

    public void updateNClob(String columnLabel, @Nullable Reader reader, long length) throws SQLException

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

    Specified by:
      `updateNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateNClob

    public void updateNClob(String columnLabel, @Nullable Reader reader) throws SQLException

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

    Specified by:
      `updateNClob` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateRowId

    public void updateRowId(int columnIndex, @Nullable RowId x) throws SQLException
    Specified by:
      `updateRowId` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateRowId

    public void updateRowId(String columnLabel, @Nullable RowId x) throws SQLException
    Specified by:
      `updateRowId` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateSQLXML

    public void updateSQLXML(int columnIndex, @Nullable SQLXML xmlObject) throws SQLException
    Specified by:
      `updateSQLXML` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### updateSQLXML

    public void updateSQLXML(String columnLabel, @Nullable SQLXML xmlObject) throws SQLException
    Specified by:
      `updateSQLXML` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getExecutionPlan

    public @Nullable String getExecutionPlan() throws 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:
      `SQLException` - if execution plan cannot be obtained or this result set is already closed.
    See Also:
      - `FirebirdStatement.getExecutionPlan()`

  - ### getExplainedExecutionPlan

    public @Nullable String getExplainedExecutionPlan() throws SQLException
    Description copied from interface: `FirebirdResultSet`
    Get detailed execution plan for the specified result set.
    Specified by:
      `getExplainedExecutionPlan` in interface `FirebirdResultSet`
    Returns:
      detailed execution plan for this query.
    Throws:
      `SQLException` - if detailed execution plan cannot be obtained or this result set is already closed.
    See Also:
      - `FirebirdStatement.getExplainedExecutionPlan()`

  - ### isWrapperFor

    public boolean isWrapperFor(Class<?> iface) throws SQLException
    Specified by:
      `isWrapperFor` in interface `Wrapper`
    Throws:
      `SQLException`

  - ### unwrap

    public <T> T unwrap(Class<T> iface) throws SQLException
    Specified by:
      `unwrap` in interface `Wrapper`
    Throws:
      `SQLException`