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`