Package com.sas.rio

# Class MVAResultSet

java.lang.Object
com.sas.rio.MVAResultSet

All Implemented Interfaces:
  `AutoCloseable`, `ResultSet`, `Wrapper`

Direct Known Subclasses:
  `MVAAnnotatedResultSet`, `MVADualResultSet`

public class MVAResultSet extends Object implements ResultSet
A ResultSet provides access to a table of data. A ResultSet object is usually generated by executing a Statement.

A ResultSet maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The 'next' method moves the cursor to the next row.

The getXXX methods retrieve column values for the current row. You can retrieve values either using the index number of the column, or by using the name of the column. In general using the column index will be more efficient. Columns are numbered from 1.

For maximum portability, ResultSet columns within each row should be read in left-to-right order and each column should be read only once.

For the getXXX methods, the JDBC driver attempts to convert the underlying data to the specified Java type and returns a suitable Java value. See the JDBC specification for allowable mappings from SQL types to Java types with the ResultSet.getXXX methods.

Column names used as input to getXXX methods are case insensitive. When performing a getXXX using a column name, if several columns have the same name, then the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names were used there is no way for the programmer to guarantee that they actually refer to the intended columns.

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

The number, types and properties of a ResultSet's columns are provided by the `ResulSetMetaData` object returned by the getMetaData method.

See Also:
  - `Statement.executeQuery(java.lang.String)`
  - `Statement.getResultSet()`
  - `ResultSetMetaData`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final int`
  `_concurrency`
  `protected final int`
  `_type`
  `protected SQLWarning`
  `_warnings`
  `protected boolean`
  `_wasNull`
  `static final int`
  `CHARACTER`
  `static final int`
  `DATE`
  `static final int`
  `DATETIME`
  `protected int`
  `initialFetchSize`
  `static final int`
  `INTEGER`
  `protected int`
  `m_columnCount`
  `protected int`
  `m_maxRows`
  `protected com.sas.rio.IRowCache`
  `m_rowCache`
  `protected final MVAStatement`
  `m_statement`
  `protected static final int`
  `MAX_FIELD_SIZE`
  `static final int`
  `MAYBE_INTEGER`
  `static final int`
  `NOSUBTYPE`
  `static final int`
  `NUMERIC`
  `static final int`
  `TIME`

  ### 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`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `absolute(int rowIndex)`
  `void`
  `afterLast()`
  `void`
  `beforeFirst()`
  JDBC 2.0 Moves to the front of the result set, just before the first row.
  `void`
  `cancelRowUpdates()`
  `void`
  `clearWarnings()`
  After this call getWarnings returns null until a new warning is reported for this ResultSet.
  `void`
  `close()`
  Closes the ResultSet.
  `void`
  `deleteRow()`
  `int`
  `findColumn(String columnName)`
  Maps a Resultset column name to a ResultSet column index.
  `boolean`
  `first()`
  JDBC 2.0 Moves to the first row in the result set.
  `Array`
  `getArray(int i)`
  JDBC 2.0 Get an array column.
  `Array`
  `getArray(String colName)`
  JDBC 2.0 Get an array column.
  `InputStream`
  `getAsciiStream(int columnIndex)`
  Gets the value of a column in the current row as a Java InputStream.
  `InputStream`
  `getAsciiStream(String columnName)`
  Gets the value of a column in the current row as a Java InputStream.
  `BigDecimal`
  `getBigDecimal(int columnIndex)`
  `BigDecimal`
  `getBigDecimal(int columnIndex, int scale)`
  Deprecated.
  `BigDecimal`
  `getBigDecimal(String columnName)`
  `BigDecimal`
  `getBigDecimal(String columnName, int scale)`
  Deprecated.
  `InputStream`
  `getBinaryStream(int columnIndex)`
  The `MVAResultSet` implementation of `getBinaryStream(int)` only supports columns with a SQL type of `java.sql.Types.CHAR` or `java.sql.Types.VARCHAR`.
  `InputStream`
  `getBinaryStream(String columnName)`
  Gets the value of a column in the current row as a Java InputStream.
  `Blob`
  `getBlob(int i)`
  JDBC 2.0 Get a BLOB column.
  `Blob`
  `getBlob(String colName)`
  JDBC 2.0 Get a BLOB column.
  `boolean`
  `getBoolean(int columnIndex)`
  Gets the value of a column in the current row as a Java boolean.
  `boolean`
  `getBoolean(String columnName)`
  Gets the value of a column in the current row as a Java boolean.
  `byte`
  `getByte(int columnIndex)`
  Gets the value of a column in the current row as a Java byte.
  `byte`
  `getByte(String columnName)`
  Gets the value of a column in the current row as a Java byte.
  `byte[]`
  `getBytes(int columnIndex)`
  Gets the value of a column in the current row as a Java byte array.
  `byte[]`
  `getBytes(String columnName)`
  Gets the value of a column in the current row as a Java byte array.
  `protected com.sas.rio.IRowCache`
  `getCache()`
  `Reader`
  `getCharacterStream(int columnIndex)`
  JDBC 2.0 Gets the value of a column in the current row as a java.io.Reader.
  `Reader`
  `getCharacterStream(int columnIndex, String charsetName)`
  JDBC 2.0 Proprietary Extension (S0678753) Gets the value of a column in the current row as a java.io.Reader using a specified character set.
  `Reader`
  `getCharacterStream(String columnName)`
  JDBC 2.0 Gets the value of a column in the current row as a java.io.Reader
  `Reader`
  `getCharacterStream(String columnName, String charsetName)`
  JDBC 2.0 Proprietary Extension (S0678753) Gets the value of a column in the current row as a java.io.Reader using a specified character set.
  `Clob`
  `getClob(int i)`
  JDBC 2.0 Get a CLOB column.
  `Clob`
  `getClob(String colName)`
  JDBC 2.0 Get a CLOB column.
  `int`
  `getConcurrency()`
  JDBC 2.0 Gets the concurrency of this result set.
  `String`
  `getCursorName()`
  Gets the name of the SQL cursor used by this ResultSet.
  `Date`
  `getDate(int columnIndex)`
  Gets the value of a column in the current row as a Java java.sql.Date.
  `Date`
  `getDate(int columnIndex, Calendar cal)`
  JDBC 2.0 Gets the value of a column in the current row as a java.sql.Date object.
  `Date`
  `getDate(String columnName)`
  Gets the value of a column in the current row as a Java java.sql.Date.
  `Date`
  `getDate(String columnName, Calendar cal)`
  Gets the value of a column in the current row as a java.sql.Date object.
  `double`
  `getDouble(int columnIndex)`
  Gets the value of a column in the current row as a Java double.
  `double`
  `getDouble(String columnName)`
  Gets the value of a column in the current row as a Java double.
  `int`
  `getFetchDirection()`
  The IOM JDBC driver always returns `ResultSet.FETCH_FORWARD` for the fetch direction, as calls to `setFetchDirection(int)` are silently ignored.
  `int`
  `getFetchSize()`
  JDBC 2.0 Gets the fetch size.
  `float`
  `getFloat(int columnIndex)`
  Gets the value of a column in the current row as a Java float.
  `float`
  `getFloat(String columnName)`
  Gets the value of a column in the current row as a Java float.
  `int`
  `getHoldability()`
  The `MVAResultSet` version of `#getHoldability()` always returns `ResultSet#CLOSE_CURSORS_AT_COMMIT`.
  `int`
  `getInt(int columnIndex)`
  Gets the value of a column in the current row as a Java int.
  `int`
  `getInt(String columnName)`
  Gets the value of a column in the current row as a Java int.
  `long`
  `getLong(int columnIndex)`
  Gets the value of a column in the current row as a Java long.
  `long`
  `getLong(String columnName)`
  Gets the value of a column in the current row as a Java long.
  `ResultSetMetaData`
  `getMetaData()`
  Gets a ResultSetMetaData object that is associated with this ResultSet.
  `Reader`
  `getNCharacterStream(int columnIndex)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
  `Reader`
  `getNCharacterStream(String columnLabel)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
  `NClob`
  `getNClob(int columnIndex)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `NClob` object in the Java programming language.
  `NClob`
  `getNClob(String columnLabel)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `NClob` object in the Java programming language.
  `String`
  `getNString(int columnIndex)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.
  `String`
  `getNString(String columnLabel)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.
  `Object`
  `getObject(int columnIndex)`
  Gets the value of a column in its default Java representation.
  `<T> T`
  `getObject(int arg0, Class<T> arg1)`
  `Object`
  `getObject(int i, Map<String,Class<?>> map)`
  JDBC 2.0 Returns the value of column i as a Java object.
  `Object`
  `getObject(String columnName)`
  Gets the value of a column in its default Java representation.
  `<T> T`
  `getObject(String arg0, Class<T> arg1)`
  `Object`
  `getObject(String colName, Map<String,Class<?>> map)`
  JDBC 2.0 Returns the value of column i as a Java object.
  `Ref`
  `getRef(int i)`
  JDBC 2.0 Get a REF(<structured-type>) column.
  `Ref`
  `getRef(String colName)`
  JDBC 2.0 Get a REF(<structured-type>) column.
  `int`
  `getRow()`
  `RowId`
  `getRowId(int columnIndex)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.
  `RowId`
  `getRowId(String columnLabel)`
  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.
  `short`
  `getShort(int columnIndex)`
  Gets the value of a column in the current row as a Java short.
  `short`
  `getShort(String columnName)`
  Gets the value of a column in the current row as a Java short.
  `SQLXML`
  `getSQLXML(int columnIndex)`
  Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.
  `SQLXML`
  `getSQLXML(String columnLabel)`
  Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.
  `Statement`
  `getStatement()`
  JDBC 2.0 Return the Statement that produced the ResultSet.
  `String`
  `getString(int columnIndex)`
  Gets the value of a column in the current row as a Java String.
  `String`
  `getString(String columnName)`
  Gets the value of a column in the current row as a Java String.
  `Time`
  `getTime(int columnIndex)`
  Gets the value of a column in the current row as a Java java.sql.Time.
  `Time`
  `getTime(int columnIndex, Calendar cal)`
  Gets the value of a column in the current row as a java.sql.Time object.
  `Time`
  `getTime(String columnName)`
  Gets the value of a column in the current row as a Java java.sql.Time.
  `Time`
  `getTime(String columnName, Calendar cal)`
  Gets the value of a column in the current row as a java.sql.Time object.
  `Timestamp`
  `getTimestamp(int columnIndex)`
  Gets the value of a column in the current row as a Java java.sql.Timestamp.
  `Timestamp`
  `getTimestamp(int columnIndex, Calendar cal)`
  Gets the value of a column in the current row as a java.sql.Timestamp object.
  `Timestamp`
  `getTimestamp(String columnName)`
  Gets the value of a column in the current row as a Java java.sql.Timestamp.
  `Timestamp`
  `getTimestamp(String columnName, Calendar cal)`
  Gets the value of a column in the current row as a java.sql.Timestamp object.
  `int`
  `getType()`
  JDBC 2.0 Gets the result set type.
  `InputStream`
  `getUnicodeStream(int columnIndex)`
  The `MVAResultSet` implementation of `getUnicodeStream(int)` only supports columns with a SQL type of `java.sql.Types.CHAR` or `java.sql.Types.VARCHAR`.
  `InputStream`
  `getUnicodeStream(String columnName)`
  Deprecated.
  `URL`
  `getURL(int columnIndex)`
  Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
  `URL`
  `getURL(String columnName)`
  Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
  `SQLWarning`
  `getWarnings()`
  Gets the SQLWarnings that are associated with this row.
  `void`
  `insertRow()`
  JDBC 2.0 Insert the contents of the insert row into the result set and the database.
  `boolean`
  `isAfterLast()`
  JDBC 2.0 Determines if the cursor is after the last row in the result set.
  `boolean`
  `isBeforeFirst()`
  JDBC 2.0 Determines if the cursor is before the first row in the result set.
  `boolean`
  `isClosed()`
  Retrieves whether this `ResultSet` object has been closed.
  `boolean`
  `isFirst()`
  JDBC 2.0 Indicates whether the cursor is on the first row of this `ResultSet` object.
  `boolean`
  `isLast()`
  `boolean`
  `isWrapperFor(Class<?> iface)`
  `boolean`
  `last()`
  JDBC 2.0 Moves to the last row in the result set.
  `void`
  `moveToCurrentRow()`
  JDBC 2.0 Move the cursor to the remembered cursor position, usually the current row.
  `void`
  `moveToInsertRow()`
  JDBC 2.0 Move to the insert row.
  `boolean`
  `next()`
  Proceeds to the next row in the ResultSet.
  `boolean`
  `previous()`
  `void`
  `refreshRow()`
  JDBC 2.0 Refresh the value of the current row with its current value in the database.
  `boolean`
  `relative(int rows)`
  `boolean`
  `rowDeleted()`
  JDBC 2.0 Determines if this row has been deleted.
  `boolean`
  `rowInserted()`
  JDBC 2.0 Determines if the current row has been inserted.
  `boolean`
  `rowUpdated()`
  JDBC 2.0 Determine if the current row has been updated.
  `void`
  `setFetchDirection(int direction)`
  The IOM JDBC driver silently ignores the hint to set the fetch direction.
  `void`
  `setFetchSize(int rows)`
  `<T> T`
  `unwrap(Class<T> iface)`
  `void`
  `updateArray(int columnIndex, Array x)`
  Updates the designated column with a java.sql.Array value.
  `void`
  `updateArray(String columnName, Array x)`
  Updates the designated column with a java.sql.Array value.
  `void`
  `updateAsciiStream(int columnIndex, InputStream x)`
  Updates the designated column with an ascii stream value.
  `void`
  `updateAsciiStream(int columnIndex, InputStream x, int length)`
  JDBC 2.0 Update a column with an ASCII stream value.
  `void`
  `updateAsciiStream(int columnIndex, InputStream x, long length)`
  Updates the designated column with an ascii stream value, which will have the specified number of bytes.
  `void`
  `updateAsciiStream(String columnLabel, InputStream x)`
  Updates the designated column with an ascii stream value.
  `void`
  `updateAsciiStream(String columnName, InputStream x, int length)`
  JDBC 2.0 Update a column with an ascii stream value.
  `void`
  `updateAsciiStream(String columnLabel, InputStream x, long length)`
  Updates the designated column with an ascii stream value, which will have the specified number of bytes.
  `void`
  `updateBigDecimal(int columnIndex, BigDecimal x)`
  JDBC 2.0 Update a column with a BigDecimal value.
  `void`
  `updateBigDecimal(String columnName, BigDecimal x)`
  JDBC 2.0 Update a column with a BigDecimal value.
  `void`
  `updateBinaryStream(int columnIndex, InputStream x)`
  Updates the designated column with a binary stream value.
  `void`
  `updateBinaryStream(int columnIndex, InputStream x, int length)`
  JDBC 2.0 Update a column with a binary stream value.
  `void`
  `updateBinaryStream(int columnIndex, InputStream x, long length)`
  Updates the designated column with a binary stream value, which will have the specified number of bytes.
  `void`
  `updateBinaryStream(String columnLabel, InputStream x)`
  Updates the designated column with a binary stream value.
  `void`
  `updateBinaryStream(String columnName, InputStream x, int length)`
  JDBC 2.0 Update a column with a binary stream value.
  `void`
  `updateBinaryStream(String columnLabel, InputStream x, long length)`
  Updates the designated column with a binary stream value, which will have the specified number of bytes.
  `void`
  `updateBlob(int columnIndex, InputStream inputStream)`
  Updates the designated column using the given input stream.
  `void`
  `updateBlob(int columnIndex, InputStream inputStream, long length)`
  Updates the designated column using the given input stream, which will have the specified number of bytes.
  `void`
  `updateBlob(int columnIndex, Blob x)`
  Updates the designated column with a java.sql.Blob value.
  `void`
  `updateBlob(String columnLabel, InputStream inputStream)`
  Updates the designated column using the given input stream.
  `void`
  `updateBlob(String columnLabel, InputStream inputStream, long length)`
  Updates the designated column using the given input stream, which will have the specified number of bytes.
  `void`
  `updateBlob(String columnName, Blob x)`
  Updates the designated column with a java.sql.Blob value.
  `void`
  `updateBoolean(int columnIndex, boolean x)`
  JDBC 2.0 Update a column with a boolean value.
  `void`
  `updateBoolean(String columnName, boolean x)`
  JDBC 2.0 Update a column with a boolean value.
  `void`
  `updateByte(int columnIndex, byte x)`
  JDBC 2.0 Update a column with a byte value.
  `void`
  `updateByte(String columnName, byte x)`
  JDBC 2.0 Update a column with a byte value.
  `void`
  `updateBytes(int columnIndex, byte[] x)`
  JDBC 2.0 Update a column with a byte array value.
  `void`
  `updateBytes(String columnName, byte[] x)`
  JDBC 2.0 Update a column with a byte array value.
  `void`
  `updateCharacterStream(int columnIndex, Reader x)`
  Updates the designated column with a character stream value.
  `void`
  `updateCharacterStream(int columnIndex, Reader x, int length)`
  JDBC 2.0 Update a column with a character stream value.
  `void`
  `updateCharacterStream(int columnIndex, Reader x, long length)`
  Updates the designated column with a character stream value, which will have the specified number of bytes.
  `void`
  `updateCharacterStream(String columnLabel, Reader reader)`
  Updates the designated column with a character stream value.
  `void`
  `updateCharacterStream(String columnName, Reader reader, int length)`
  JDBC 2.0 Update a column with a character stream value.
  `void`
  `updateCharacterStream(String columnLabel, Reader reader, long length)`
  Updates the designated column with a character stream value, which will have the specified number of bytes.
  `void`
  `updateClob(int columnIndex, Reader reader)`
  Updates the designated column using the given `Reader` object.
  `void`
  `updateClob(int columnIndex, Reader reader, long length)`
  Updates the designated column using the given `Reader` object, which is the given number of characters long.
  `void`
  `updateClob(int columnIndex, Clob x)`
  Updates the designated column with a java.sql.Clob value.
  `void`
  `updateClob(String columnLabel, Reader reader)`
  Updates the designated column using the given `Reader` object.
  `void`
  `updateClob(String columnLabel, Reader reader, long length)`
  Updates the designated column using the given `Reader` object, which is the given number of characters long.
  `void`
  `updateClob(String columnName, Clob x)`
  Updates the designated column with a java.sql.Clob value.
  `void`
  `updateDate(int columnIndex, Date x)`
  JDBC 2.0 Update a column with a Date value.
  `void`
  `updateDate(String columnName, Date x)`
  JDBC 2.0 Update a column with a Date value.
  `void`
  `updateDouble(int columnIndex, double x)`
  JDBC 2.0 Update a column with a Double value.
  `void`
  `updateDouble(String columnName, double x)`
  JDBC 2.0 Update a column with a double value.
  `void`
  `updateFloat(int columnIndex, float x)`
  JDBC 2.0 Update a column with a float value.
  `void`
  `updateFloat(String columnName, float x)`
  JDBC 2.0 Update a column with a float value.
  `void`
  `updateInt(int columnIndex, int x)`
  JDBC 2.0 Update a column with an integer value.
  `void`
  `updateInt(String columnName, int x)`
  JDBC 2.0 Update a column with an integer value.
  `void`
  `updateLong(int columnIndex, long x)`
  JDBC 2.0 Update a column with a long value.
  `void`
  `updateLong(String columnName, long x)`
  JDBC 2.0 Update a column with a long value.
  `void`
  `updateNCharacterStream(int columnIndex, Reader x)`
  Updates the designated column with a character stream value.
  `void`
  `updateNCharacterStream(int columnIndex, Reader x, long length)`
  Updates the designated column with a character stream value, which will have the specified number of bytes.
  `void`
  `updateNCharacterStream(String columnLabel, Reader reader)`
  Updates the designated column with a character stream value.
  `void`
  `updateNCharacterStream(String columnLabel, Reader reader, long length)`
  Updates the designated column with a character stream value, which will have the specified number of bytes.
  `void`
  `updateNClob(int columnIndex, Reader reader)`
  Updates the designated column using the given `Reader` The data will be read from the stream as needed until end-of-stream is reached.
  `void`
  `updateNClob(int columnIndex, Reader reader, long length)`
  Updates the designated column using the given `Reader` object, which is the given number of characters long.
  `void`
  `updateNClob(int columnIndex, NClob nClob)`
  Updates the designated column with a `java.sql.NClob` value.
  `void`
  `updateNClob(String columnLabel, Reader reader)`
  Updates the designated column using the given `Reader` object.
  `void`
  `updateNClob(String columnLabel, Reader reader, long length)`
  Updates the designated column using the given `Reader` object, which is the given number of characters long.
  `void`
  `updateNClob(String columnLabel, NClob nClob)`
  Updates the designated column with a `java.sql.NClob` value.
  `void`
  `updateNString(int columnIndex, String nString)`
  Updates the designated column with a `String` value.
  `void`
  `updateNString(String columnLabel, String nString)`
  Updates the designated column with a `String` value.
  `void`
  `updateNull(int columnIndex)`
  JDBC 2.0 Give a nullable column a null value.
  `void`
  `updateNull(String columnName)`
  JDBC 2.0 Update a column with a null value.
  `void`
  `updateObject(int columnIndex, Object x)`
  JDBC 2.0 Update a column with an Object value.
  `void`
  `updateObject(int columnIndex, Object x, int scale)`
  JDBC 2.0 Update a column with an Object value.
  `void`
  `updateObject(String columnName, Object x)`
  JDBC 2.0 Update a column with an Object value.
  `void`
  `updateObject(String columnName, Object x, int scale)`
  JDBC 2.0 Update a column with an Object value.
  `void`
  `updateRef(int columnIndex, Ref x)`
  Updates the designated column with a java.sql.Ref value Empty method implementation for JDK1.4 compliance.
  `void`
  `updateRef(String columnName, Ref x)`
  Updates the designated column with a java.sql.Ref value Empty method implementation for JDK1.4 compliance.
  `void`
  `updateRow()`
  JDBC 2.0 Update the underlying database with the new contents of the current row.
  `void`
  `updateRowId(int columnIndex, RowId x)`
  Updates the designated column with a `RowId` value.
  `void`
  `updateRowId(String columnLabel, RowId x)`
  Updates the designated column with a `RowId` value.
  `void`
  `updateShort(int columnIndex, short x)`
  JDBC 2.0 Update a column with a short value.
  `void`
  `updateShort(String columnName, short x)`
  JDBC 2.0 Update a column with a short value.
  `void`
  `updateSQLXML(int columnIndex, SQLXML xmlObject)`
  Updates the designated column with a `java.sql.SQLXML` value.
  `void`
  `updateSQLXML(String columnLabel, SQLXML xmlObject)`
  Updates the designated column with a `java.sql.SQLXML` value.
  `void`
  `updateString(int columnIndex, String x)`
  JDBC 2.0 Update a column with a String value.
  `void`
  `updateString(String columnName, String x)`
  JDBC 2.0 Update a column with a String value.
  `void`
  `updateTime(int columnIndex, Time x)`
  JDBC 2.0 Update a column with a Time value.
  `void`
  `updateTime(String columnName, Time x)`
  JDBC 2.0 Update a column with a Time value.
  `void`
  `updateTimestamp(int columnIndex, Timestamp x)`
  JDBC 2.0 Update a column with a Timestamp value.
  `void`
  `updateTimestamp(String columnName, Timestamp x)`
  JDBC 2.0 Update a column with a Timestamp value.
  `boolean`
  `wasNull()`
  The `MVAResultSet` implementation of `wasNull` will return true if the last column read contained a numeric SAS missing value.

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

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

  ### Methods inherited from interface java.sql.ResultSet

  `updateObject, updateObject, updateObject, updateObject`

- ## Field Details

  - ### NOSUBTYPE

    public static final int NOSUBTYPE
    See Also:
      - Constant Field Values

  - ### DATE

    public static final int DATE
    See Also:
      - Constant Field Values

  - ### TIME

    public static final int TIME
    See Also:
      - Constant Field Values

  - ### DATETIME

    public static final int DATETIME
    See Also:
      - Constant Field Values

  - ### INTEGER

    public static final int INTEGER
    See Also:
      - Constant Field Values

  - ### MAYBE_INTEGER

    public static final int MAYBE_INTEGER
    See Also:
      - Constant Field Values

  - ### NUMERIC

    public static final int NUMERIC
    See Also:
      - Constant Field Values

  - ### CHARACTER

    public static final int CHARACTER
    See Also:
      - Constant Field Values

  - ### MAX_FIELD_SIZE

    protected static final int MAX_FIELD_SIZE
    See Also:
      - Constant Field Values

  - ### _warnings

    protected SQLWarning _warnings

  - ### _concurrency

    protected final int _concurrency

  - ### _type

    protected final int _type

  - ### m_statement

    protected final MVAStatement m_statement

  - ### m_rowCache

    protected com.sas.rio.IRowCache m_rowCache

  - ### _wasNull

    protected boolean _wasNull

  - ### m_columnCount

    protected int m_columnCount

  - ### m_maxRows

    protected int m_maxRows

  - ### initialFetchSize

    protected int initialFetchSize

- ## Method Details

  - ### absolute

    public boolean absolute(int rowIndex) 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`

  - ### beforeFirst

    public void beforeFirst() throws SQLException
    JDBC 2.0 Moves to the front of the result set, just before the first row. Has no effect if the result set contains no rows.
    Specified by:
      `beforeFirst` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is thrown if the result set type is TYPE_FORWARD_ONLY.

  - ### afterLast

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

  - ### first

    public boolean first() throws SQLException
    JDBC 2.0 Moves to the first row in the result set.
    Specified by:
      `first` in interface `ResultSet`
    Returns:
      True if on a valid row, False if no rows in the result set.
    Throws:
      `SQLException` - This exception is thrown if a server error is detected or if the result set type is TYPE_FORWARD_ONLY.

  - ### last

    public boolean last() throws SQLException
    JDBC 2.0 Moves to the last row in the result set.
    Specified by:
      `last` in interface `ResultSet`
    Returns:
      True if on a valid row, False if no rows in the result set.
    Throws:
      `SQLException` - This exception is thrown if an MvaException is detected or result set type is TYPE_FORWARD_ONLY.

  - ### isBeforeFirst

    public boolean isBeforeFirst() throws SQLException
    JDBC 2.0 Determines if the cursor is before the first row in the result set.
    Specified by:
      `isBeforeFirst` in interface `ResultSet`
    Returns:
      True if before the first row, False otherwise. Returns false when the result set contains no rows.
    Throws:
      `SQLException` - This exception is required by the interface but it is never thrown.

  - ### isAfterLast

    public boolean isAfterLast() throws SQLException
    JDBC 2.0 Determines if the cursor is after the last row in the result set. NOTE: Indicates EOF (status flag from last ReadRecords())
    Specified by:
      `isAfterLast` in interface `ResultSet`
    Returns:
      True if after the last row, False otherwise. Returns false when the result set contains no rows.
    Throws:
      `SQLException` - This exception is required by the interface but it is never thrown.

  - ### isFirst

    public boolean isFirst() throws SQLException
    JDBC 2.0 Indicates whether the cursor is on the first row of this `ResultSet` object.
    Specified by:
      `isFirst` in interface `ResultSet`
    Returns:
      boolean - true if cursor in on first row, false if not.
    Throws:
      `SQLException` - - If a data access error occurs.

  - ### isLast

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

  - ### next

    public boolean next() throws SQLException
    Proceeds to the next row in the ResultSet.
    Specified by:
      `next` in interface `ResultSet`
    Returns:
      True if the next row is valid and False if not valid.
    Throws:
      `SQLException` - This exception is thrown if a server error is detected.

  - ### previous

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

  - ### close

    public void close() throws SQLException
    Closes the ResultSet.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is thrown if a server error is detected.

  - ### wasNull

    public boolean wasNull() throws SQLException
    The `MVAResultSet` implementation of `wasNull` will return true if the last column read contained a numeric SAS missing value. In the case where the last column read contained a character SAS missing value `false` is always returned.

    To determine if the value was character missing you can use the SAS SQL "IS [NOT] MISSING extension to the SQL language. Alternatively, you can call `String#trim().length()` and check for zero length.

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

  - ### getString

    public String getString(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java String.
    Specified by:
      `getString` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, the result is null.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid.

  - ### getBoolean

    public boolean getBoolean(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java boolean.
    Specified by:
      `getBoolean` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is FALSE.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a boolean value.

  - ### getByte

    public byte getByte(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java byte.
    Specified by:
      `getByte` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to byte representation.

  - ### getShort

    public short getShort(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java short.
    Specified by:
      `getShort` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to byte representation.

  - ### getInt

    public int getInt(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java int.
    Specified by:
      `getInt` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid int value.

  - ### getLong

    public long getLong(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java long.
    Specified by:
      `getLong` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid long value.

  - ### getFloat

    public float getFloat(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java float.
    Specified by:
      `getFloat` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid float value.

  - ### getDouble

    public double getDouble(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java double.
    Specified by:
      `getDouble` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid double value.

  - ### getBigDecimal

    @Deprecated public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
    Deprecated.
    Gets the value of a column in the current row as a Java BigDecimal.
    Specified by:
      `getBigDecimal` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid BigDecimal value.

  - ### getBytes

    public byte[] getBytes(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java byte array. This method is not supported.
    Specified by:
      `getBytes` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown because SAS software does not support conversions to binary representation.

  - ### getDate

    public Date getDate(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java java.sql.Date.
    Specified by:
      `getDate` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Date value.

  - ### getTime

    public Time getTime(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java java.sql.Time.
    Specified by:
      `getTime` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Time value.

  - ### getTimestamp

    public Timestamp getTimestamp(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java java.sql.Timestamp.
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Timestamp value.

  - ### getAsciiStream

    public InputStream getAsciiStream(int columnIndex) throws SQLException
    Gets the value of a column in the current row as a Java InputStream.
    Specified by:
      `getAsciiStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Type.VARCHAR value. SAS software does not support other conversions.

  - ### getUnicodeStream

    public InputStream getUnicodeStream(int columnIndex) throws SQLException
    The `MVAResultSet` implementation of `getUnicodeStream(int)` only supports columns with a SQL type of `java.sql.Types.CHAR` or `java.sql.Types.VARCHAR`.

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

  - ### getBinaryStream

    public InputStream getBinaryStream(int columnIndex) throws SQLException
    The `MVAResultSet` implementation of `getBinaryStream(int)` only supports columns with a SQL type of `java.sql.Types.CHAR` or `java.sql.Types.VARCHAR`.

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

  - ### getString

    public String getString(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java String.
    Specified by:
      `getString` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid.

  - ### getBoolean

    public boolean getBoolean(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java boolean.
    Specified by:
      `getBoolean` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is False.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a boolean value.

  - ### getByte

    public byte getByte(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java byte.
    Specified by:
      `getByte` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to byte representation.

  - ### getShort

    public short getShort(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java short.
    Specified by:
      `getShort` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid short value.

  - ### getInt

    public int getInt(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java int.
    Specified by:
      `getInt` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid int value.

  - ### getLong

    public long getLong(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java long.
    Specified by:
      `getLong` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid long value.

  - ### getFloat

    public float getFloat(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java float.
    Specified by:
      `getFloat` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid float value.

  - ### getDouble

    public double getDouble(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java double.
    Specified by:
      `getDouble` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is 0.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid double value.

  - ### getBigDecimal

    @Deprecated public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
    Deprecated.
    Gets the value of a column in the current row as a Java BigDecimal.
    Specified by:
      `getBigDecimal` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid BigDecimal value.

  - ### getBytes

    public byte[] getBytes(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java byte array. This method is not supported.
    Specified by:
      `getBytes` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown because SAS software does not support conversions to binary representation.

  - ### getDate

    public Date getDate(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java java.sql.Date.
    Specified by:
      `getDate` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid java.sql.Date value.

  - ### getTime

    public Time getTime(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java java.sql.Time.
    Specified by:
      `getTime` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid java.sql.Time value.

  - ### getTimestamp

    public Timestamp getTimestamp(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java java.sql.Timestamp.
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid java.sql.Timestamp value.

  - ### getAsciiStream

    public InputStream getAsciiStream(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java InputStream.
    Specified by:
      `getAsciiStream` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the value is not java.sql.Type.VARCHAR. No other conversions are supported.

  - ### getUnicodeStream

    @Deprecated public InputStream getUnicodeStream(String columnName) throws SQLException
    Deprecated.
    Gets the value of a column in the current row as a Java InputStream.
    Specified by:
      `getUnicodeStream` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the value is not java.sql.Type.VARCHAR. No other conversions are supported.

  - ### getBinaryStream

    public InputStream getBinaryStream(String columnName) throws SQLException
    Gets the value of a column in the current row as a Java InputStream.
    Specified by:
      `getBinaryStream` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the value is not java.sql.Type.VARCHAR. No other conversions are supported.

  - ### getWarnings

    public SQLWarning getWarnings() throws SQLException
    Gets the SQLWarnings that are associated with this row.
    Specified by:
      `getWarnings` in interface `ResultSet`
    Returns:
      SQLWarning. All warnings for the current row.
    Throws:
      `SQLException` - This exception is required by the interface, but it is never thrown.

  - ### clearWarnings

    public void clearWarnings() throws SQLException
    After this call getWarnings returns null until a new warning is reported for this ResultSet.
    Specified by:
      `clearWarnings` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is required by the interface, but it is never thrown.

  - ### getCursorName

    public String getCursorName() throws SQLException
    Gets the name of the SQL cursor used by this ResultSet.
    Specified by:
      `getCursorName` in interface `ResultSet`
    Returns:
      the ResultSet's SQL cursor name
    Throws:
      `SQLException` - if a database-access error occurs.

  - ### getMetaData

    public ResultSetMetaData getMetaData() throws SQLException
    Gets a ResultSetMetaData object that is associated with this ResultSet.
    Specified by:
      `getMetaData` in interface `ResultSet`
    Returns:
      A MVAResultSetMetaData object.
    Throws:
      `SQLException` - This exception is thrown if an error condition is detected.

  - ### getObject

    public Object getObject(int columnIndex) throws SQLException
    Gets the value of a column in its default Java representation.
    Specified by:
      `getObject` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      The column value as an Object. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### getObject

    public Object getObject(String columnName) throws SQLException
    Gets the value of a column in its default Java representation.
    Specified by:
      `getObject` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column.
    Returns:
      The column value as an Object. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### findColumn

    public int findColumn(String columnName) throws SQLException
    Maps a Resultset column name to a ResultSet column index.
    Specified by:
      `findColumn` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column.
    Returns:
      The column index.
    Throws:
      `SQLException` - This exception is thrown if the column name is not valid.

  - ### getCharacterStream

    public Reader getCharacterStream(int columnIndex) throws SQLException
    JDBC 2.0 Gets the value of a column in the current row as a java.io.Reader.
    Specified by:
      `getCharacterStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
    Returns:
      A java.io.Reader Object. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### getCharacterStream

    public Reader getCharacterStream(int columnIndex, String charsetName) throws SQLException
    JDBC 2.0 Proprietary Extension (S0678753) Gets the value of a column in the current row as a java.io.Reader using a specified character set.
    Parameters:
      `columnIndex` - The first column is 1, the second column is 2, and so on.
      `charsetName` - The name of a supported ``charset``
    Returns:
      A java.io.Reader Object. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column index or type, or file encoding is not valid.

  - ### getCharacterStream

    public Reader getCharacterStream(String columnName, String charsetName) throws SQLException
    JDBC 2.0 Proprietary Extension (S0678753) Gets the value of a column in the current row as a java.io.Reader using a specified character set.
    Parameters:
      `columnName` - The name of the column.
      `charsetName` - The name of a supported ``charset``
    Returns:
      A java.io.Reader Object. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### getCharacterStream

    public Reader getCharacterStream(String columnName) throws SQLException
    JDBC 2.0 Gets the value of a column in the current row as a java.io.Reader
    Specified by:
      `getCharacterStream` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column.
    Returns:
      A java.io.Reader Object. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### getBigDecimal

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

  - ### getBigDecimal

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

  - ### getRow

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

  - ### setFetchDirection

    public void setFetchDirection(int direction) throws SQLException
    The IOM JDBC driver silently ignores the hint to set the fetch direction.

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

  - ### getFetchDirection

    public int getFetchDirection() throws SQLException
    The IOM JDBC driver always returns `ResultSet.FETCH_FORWARD` for the fetch direction, as calls to `setFetchDirection(int)` are silently ignored.

    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
    JDBC 2.0 Gets the fetch size.
    Specified by:
      `getFetchSize` in interface `ResultSet`
    Returns:
      An integer value indicating the number of rows fetched for this result set.
    Throws:
      `SQLException` - This exception is required by the interface but it is never thrown.

  - ### getType

    public int getType() throws SQLException
    JDBC 2.0 Gets the result set type. The type is determined based on the statement that created the result set.
    Specified by:
      `getType` in interface `ResultSet`
    Returns:
      The result set type, TYPE_SCROLL_INSENSITIVE or TYPE_FORWARD_ONLY based on the Statement object.
    Throws:
      `SQLException` - This exception is required by the interface but it is never thrown.

  - ### getConcurrency

    public int getConcurrency() throws SQLException
    JDBC 2.0 Gets the concurrency of this result set. The concurrency used is determined by the statement that created the result set.
    Specified by:
      `getConcurrency` in interface `ResultSet`
    Returns:
      The concurrency type, CONCUR_UPDATABLE or CONCUR_READ_ONLY based on the Statement object.
    Throws:
      `SQLException` - This exception is required by the interface but it is never thrown.

  - ### rowUpdated

    public boolean rowUpdated() throws SQLException
    JDBC 2.0 Determine if the current row has been updated. This method is not supported.
    Specified by:
      `rowUpdated` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown because SAS software does not detect row updated.
    See Also:
      - `MVADatabaseMetaData.updatesAreDetected(int)`

  - ### rowInserted

    public boolean rowInserted() throws SQLException
    JDBC 2.0 Determines if the current row has been inserted. This method is not supported.
    Specified by:
      `rowInserted` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown because SAS software does not detect row inserts.
    See Also:
      - `MVADatabaseMetaData.insertsAreDetected(int)`

  - ### rowDeleted

    public boolean rowDeleted() throws SQLException
    JDBC 2.0 Determines if this row has been deleted. This method is not supported.
    Specified by:
      `rowDeleted` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown because SAS software does not detect row deletes.
    See Also:
      - `MVADatabaseMetaData.deletesAreDetected(int)`

  - ### updateNull

    public void updateNull(int columnIndex) throws SQLException
    JDBC 2.0 Give a nullable column a null value.
    Specified by:
      `updateNull` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### updateBoolean

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

  - ### updateByte

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

  - ### updateShort

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

  - ### updateInt

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

  - ### updateLong

    public void updateLong(int columnIndex, long x) throws SQLException
    JDBC 2.0 Update a column with a long value. Method not yet supported. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
    Specified by:
      `updateLong` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
    Throws:
      `SQLException` - This exception is always thrown.

  - ### updateFloat

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

  - ### updateDouble

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

  - ### updateBigDecimal

    public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException
    JDBC 2.0 Update a column with a BigDecimal value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
    Specified by:
      `updateBigDecimal` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### updateString

    public void updateString(int columnIndex, String x) throws SQLException
    JDBC 2.0 Update a column with a String value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
    Specified by:
      `updateString` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### updateBytes

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

  - ### updateDate

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

  - ### updateTime

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

  - ### updateTimestamp

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

  - ### updateAsciiStream

    public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException
    JDBC 2.0 Update a column with an ASCII stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
      `length` - the length of the stream
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### updateBinaryStream

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

  - ### updateCharacterStream

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

  - ### updateObject

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

  - ### updateObject

    public void updateObject(int columnIndex, Object x) throws SQLException
    JDBC 2.0 Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
    Specified by:
      `updateObject` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
    Throws:
      `SQLException` - This exception is thrown if the column index is not valid.

  - ### updateNull

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

  - ### updateBoolean

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

  - ### updateByte

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

  - ### updateShort

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

  - ### updateInt

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

  - ### updateLong

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

  - ### updateFloat

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

  - ### updateDouble

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

  - ### updateBigDecimal

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

  - ### updateString

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

  - ### updateBytes

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

  - ### updateDate

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

  - ### updateTime

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

  - ### updateTimestamp

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

  - ### updateAsciiStream

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

  - ### updateBinaryStream

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

  - ### updateCharacterStream

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

  - ### updateObject

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

  - ### updateObject

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

  - ### insertRow

    public void insertRow() throws SQLException
    JDBC 2.0 Insert the contents of the insert row into the result set and the database. Must be on the insert row when this method is called. NOTE: SAS software does not support inserts, though inserts might be implemented as append.
    Specified by:
      `insertRow` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown. This function is available only on ResultSets generated from MVAStatement.getTable()

  - ### updateRow

    public void updateRow() throws SQLException
    JDBC 2.0 Update the underlying database with the new contents of the current row. Cannot be called when on the insert row.
    Specified by:
      `updateRow` in interface `ResultSet`
    Throws:
      `SQLException` - if a database-access error occurs, or if called when on the insert row This function is available only on ResultSets generated from MVAStatement.getTable()

  - ### deleteRow

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

  - ### refreshRow

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

  - ### cancelRowUpdates

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

  - ### moveToInsertRow

    public void moveToInsertRow() throws SQLException
    JDBC 2.0 Move to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the updateXXX() methods prior to inserting the row into the result set. Only the updateXXX(), getXXX(), and insertRow() methods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before calling insertRow(). UpdateXXX()must be called before getXXX() on a column. NOTE: SAS software does not support inserts, though inserts might be implemented as append.
    Specified by:
      `moveToInsertRow` in interface `ResultSet`
    Throws:
      `SQLException` - This exception is always thrown.

  - ### moveToCurrentRow

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

  - ### getStatement

    public Statement getStatement() throws SQLException
    JDBC 2.0 Return the Statement that produced the ResultSet.
    Specified by:
      `getStatement` in interface `ResultSet`
    Returns:
      the Statement that produced the result set, or null if the result was produced some other way.
    Throws:
      `SQLException` - if a database-access error occurs

  - ### getObject

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

  - ### getRef

    public Ref getRef(int i) throws SQLException
    JDBC 2.0 Get a REF(<structured-type>) column.
    Specified by:
      `getRef` in interface `ResultSet`
    Parameters:
      `i` - the first column is 1, the second is 2, ...
    Returns:
      an object representing data of an SQL REF type
    Throws:
      `SQLException`

  - ### getBlob

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

  - ### getClob

    public Clob getClob(int i) throws SQLException
    JDBC 2.0 Get a CLOB column.
    Specified by:
      `getClob` in interface `ResultSet`
    Parameters:
      `i` - the first column is 1, the second is 2, ...
    Returns:
      an object representing a CLOB
    Throws:
      `SQLException`

  - ### getArray

    public Array getArray(int i) throws SQLException
    JDBC 2.0 Get an array column.
    Specified by:
      `getArray` in interface `ResultSet`
    Parameters:
      `i` - the first column is 1, the second is 2, ...
    Returns:
      an object representing an SQL array
    Throws:
      `SQLException`

  - ### getObject

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

  - ### getRef

    public Ref getRef(String colName) throws SQLException
    JDBC 2.0 Get a REF(<structured-type>) column.
    Specified by:
      `getRef` in interface `ResultSet`
    Parameters:
      `colName` - the column name
    Returns:
      an object representing data of an SQL REF type
    Throws:
      `SQLException`

  - ### getBlob

    public Blob getBlob(String colName) throws SQLException
    JDBC 2.0 Get a BLOB column.
    Specified by:
      `getBlob` in interface `ResultSet`
    Parameters:
      `colName` - the column name
    Returns:
      an object representing a BLOB
    Throws:
      `SQLException`

  - ### getClob

    public Clob getClob(String colName) throws SQLException
    JDBC 2.0 Get a CLOB column.
    Specified by:
      `getClob` in interface `ResultSet`
    Parameters:
      `colName` - the column name
    Returns:
      an object representing a CLOB
    Throws:
      `SQLException`

  - ### getArray

    public Array getArray(String colName) throws SQLException
    JDBC 2.0 Get an array column.
    Specified by:
      `getArray` in interface `ResultSet`
    Parameters:
      `colName` - the column name
    Returns:
      an object representing an SQL array
    Throws:
      `SQLException`

  - ### getDate

    public Date getDate(int columnIndex, Calendar cal) throws SQLException
    JDBC 2.0 Gets the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
    Specified by:
      `getDate` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
      `cal` - The calendar to use in constructing the date. Ignored if cal is NULL.
    Returns:
      The column value. If the value is SQL NULL, then the result is null.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Date value.

  - ### getDate

    public Date getDate(String columnName, Calendar cal) throws SQLException
    Gets the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
    Specified by:
      `getDate` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
      `cal` - The calendar to use in constructing the date. Ignored if cal is NULL.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid java.sql.Date value.

  - ### getTime

    public Time getTime(int columnIndex, Calendar cal) throws SQLException
    Gets the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database doesn't store timezone information.
    Specified by:
      `getTime` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
      `cal` - The calendar to use in constructing the date. Ignored if cal is NULL.
    Returns:
      The column value. If the value is SQL NULL, then the result is null.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Time value.

  - ### getTime

    public Time getTime(String columnName, Calendar cal) throws SQLException
    Gets the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database doesn't store timezone information.
    Specified by:
      `getTime` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
      `cal` - The calendar to use in constructing the date. Ignored if cal is NULL.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid java.sql.Time value.

  - ### getTimestamp

    public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
    Gets the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database doesn't store timezone information.
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Parameters:
      `columnIndex` - The first column is 1, the second is 2, and so on.
      `cal` - The calendar to use in constructing the date. Ignored if cal is NULL.
    Returns:
      The column value. If the value is SQL NULL, then the result is null.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted to a valid java.sql.Timestamp value.

  - ### getTimestamp

    public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
    Gets the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database doesn't store timezone information.
    Specified by:
      `getTimestamp` in interface `ResultSet`
    Parameters:
      `columnName` - The name of the column that is returned by the ResultSetMetaData object.
      `cal` - The calendar to use in constructing the date. Ignored if cal is NULL.
    Returns:
      The column value. If the value is SQL NULL, then the result is NULL.
    Throws:
      `SQLException` - This exception is thrown if the column value is not valid or the SQL type cannot be converted into a valid java.sql.Timestamp value.

  - ### getCache

    protected com.sas.rio.IRowCache getCache()

  - ### getURL

    public URL getURL(int columnIndex) throws SQLException
    Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `getURL` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### getURL

    public URL getURL(String columnName) throws SQLException
    Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `getURL` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateArray

    public void updateArray(int columnIndex, Array x) throws SQLException
    Updates the designated column with a java.sql.Array value. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateArray` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateArray

    public void updateArray(String columnName, Array x) throws SQLException
    Updates the designated column with a java.sql.Array value. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateArray` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateBlob

    public void updateBlob(int columnIndex, Blob x) throws SQLException
    Updates the designated column with a java.sql.Blob value. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateBlob

    public void updateBlob(String columnName, Blob x) throws SQLException
    Updates the designated column with a java.sql.Blob value. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateBlob` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateClob

    public void updateClob(int columnIndex, Clob x) throws SQLException
    Updates the designated column with a java.sql.Clob value. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateClob

    public void updateClob(String columnName, Clob x) throws SQLException
    Updates the designated column with a java.sql.Clob value. Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateClob` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateRef

    public void updateRef(int columnIndex, Ref x) throws SQLException
    Updates the designated column with a java.sql.Ref value Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateRef` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### updateRef

    public void updateRef(String columnName, Ref x) throws SQLException
    Updates the designated column with a java.sql.Ref value Empty method implementation for JDK1.4 compliance.
    Specified by:
      `updateRef` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

  - ### getRowId

    public RowId getRowId(int columnIndex) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.
    Specified by:
      `getRowId` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getRowId

    public RowId getRowId(String columnLabel) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.
    Specified by:
      `getRowId` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateRowId

    public void updateRowId(int columnIndex, RowId x) throws SQLException
    Updates the designated column with a `RowId` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.
    Specified by:
      `updateRowId` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...
      `x` - the column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateRowId

    public void updateRowId(String columnLabel, RowId x) throws SQLException
    Updates the designated column with a `RowId` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.
    Specified by:
      `updateRowId` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `x` - the column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getHoldability

    public int getHoldability() throws SQLException
    The `MVAResultSet` version of `#getHoldability()` always returns `ResultSet#CLOSE_CURSORS_AT_COMMIT`. Transactions are not supported by the IOM JDBC driver.

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

  - ### isClosed

    public boolean isClosed() throws SQLException
    Retrieves whether this `ResultSet` object has been closed. A `ResultSet` is closed if the method close has been called on it, or if it is automatically closed.

    Specified by:
      `isClosed` in interface `ResultSet`
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNString

    public void updateNString(int columnIndex, String nString) throws SQLException
    Updates the designated column with a `String` value. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.
    Specified by:
      `updateNString` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...
      `nString` - the value for the column to be updated

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNString

    public void updateNString(String columnLabel, String nString) throws SQLException
    Updates the designated column with a `String` value. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.
    Specified by:
      `updateNString` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `nString` - the value for the column to be updated

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNClob

    public void updateNClob(int columnIndex, NClob nClob) throws SQLException
    Updates the designated column with a `java.sql.NClob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.
    Specified by:
      `updateNClob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...
      `nClob` - the value for the column to be updated

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNClob

    public void updateNClob(String columnLabel, NClob nClob) throws SQLException
    Updates the designated column with a `java.sql.NClob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.
    Specified by:
      `updateNClob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `nClob` - the value for the column to be updated

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getNClob

    public NClob getNClob(int columnIndex) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `NClob` object in the Java programming language.
    Specified by:
      `getNClob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getNClob

    public NClob getNClob(String columnLabel) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `NClob` object in the Java programming language.
    Specified by:
      `getNClob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getSQLXML

    public SQLXML getSQLXML(int columnIndex) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.
    Specified by:
      `getSQLXML` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getSQLXML

    public SQLXML getSQLXML(String columnLabel) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.
    Specified by:
      `getSQLXML` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateSQLXML

    public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException
    Updates the designated column with a `java.sql.SQLXML` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateSQLXML` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...
      `xmlObject` - the value for the column to be updated

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateSQLXML

    public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException
    Updates the designated column with a `java.sql.SQLXML` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateSQLXML` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `xmlObject` - the column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getNString

    public String getNString(int columnIndex) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.
    Specified by:
      `getNString` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
    Returns:
      the column value; if the value is SQL `NULL`, the value returned is `null`

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getNString

    public String getNString(String columnLabel) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.
    Specified by:
      `getNString` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
    Returns:
      the column value; if the value is SQL `NULL`, the value returned is `null`

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getNCharacterStream

    public Reader getNCharacterStream(int columnIndex) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object. It is intended for use when accessing `NCHAR`, `NVARCHAR` and `LONGNVARCHAR` columns.
    Specified by:
      `getNCharacterStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...

    Returns:
      a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### getNCharacterStream

    public Reader getNCharacterStream(String columnLabel) throws SQLException
    Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object. It is intended for use when accessing `NCHAR`, `NVARCHAR` and `LONGNVARCHAR` columns.
    Specified by:
      `getNCharacterStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
    Returns:
      a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNCharacterStream

    public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException
    Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`, `NVARCHAR` and `LONGNVARCHAR` columns.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNCharacterStream

    public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
    Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`, `NVARCHAR` and `LONGNVARCHAR` columns.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column.
      `reader` - the `java.io.Reader` object containing the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateAsciiStream

    public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException
    Updates the designated column with an ascii stream value, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBinaryStream

    public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException
    Updates the designated column with a binary stream value, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateCharacterStream

    public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException
    Updates the designated column with a character stream value, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateAsciiStream

    public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException
    Updates the designated column with an ascii stream value, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `x` - the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBinaryStream

    public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException
    Updates the designated column with a binary stream value, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `x` - the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateCharacterStream

    public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
    Updates the designated column with a character stream value, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - the `java.io.Reader` object containing the new column value
      `length` - the length of the stream

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBlob

    public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException
    Updates the designated column using the given input stream, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateBlob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `inputStream` - An object that contains the data to set the parameter value to.
      `length` - the number of bytes in the parameter data.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBlob

    public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException
    Updates the designated column using the given input stream, which will have the specified number of bytes.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateBlob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `inputStream` - An object that contains the data to set the parameter value to.
      `length` - the number of bytes in the parameter data.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateClob

    public void updateClob(int columnIndex, Reader reader, long length) throws SQLException
    Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateClob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `reader` - An object that contains the data to set the parameter value to.
      `length` - the number of characters in the parameter data.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateClob

    public void updateClob(String columnLabel, Reader reader, long length) throws SQLException
    Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateClob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - An object that contains the data to set the parameter value to.
      `length` - the number of characters in the parameter data.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNClob

    public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException
    Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateNClob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...
      `reader` - An object that contains the data to set the parameter value to.
      `length` - the number of characters in the parameter data.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNClob

    public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException
    Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Specified by:
      `updateNClob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - An object that contains the data to set the parameter value to.
      `length` - the number of characters in the parameter data.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNCharacterStream

    public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException
    Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNCharacterStream` which takes a length parameter.

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNCharacterStream

    public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException
    Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNCharacterStream` which takes a length parameter.

    Specified by:
      `updateNCharacterStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - the `java.io.Reader` object containing the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateAsciiStream

    public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException
    Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateAsciiStream` which takes a length parameter.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBinaryStream

    public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException
    Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBinaryStream` which takes a length parameter.

    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateCharacterStream

    public void updateCharacterStream(int columnIndex, Reader x) throws SQLException
    Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateCharacterStream` which takes a length parameter.

    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `x` - the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateAsciiStream

    public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException
    Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateAsciiStream` which takes a length parameter.

    Specified by:
      `updateAsciiStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `x` - the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBinaryStream

    public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException
    Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBinaryStream` which takes a length parameter.

    Specified by:
      `updateBinaryStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `x` - the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateCharacterStream

    public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException
    Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateCharacterStream` which takes a length parameter.

    Specified by:
      `updateCharacterStream` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - the `java.io.Reader` object containing the new column value

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBlob

    public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException
    Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBlob` which takes a length parameter.

    Specified by:
      `updateBlob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `inputStream` - An object that contains the data to set the parameter value to.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateBlob

    public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException
    Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBlob` which takes a length parameter.

    Specified by:
      `updateBlob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `inputStream` - An object that contains the data to set the parameter value to.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateClob

    public void updateClob(int columnIndex, Reader reader) throws SQLException
    Updates the designated column using the given `Reader` object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateClob` which takes a length parameter.

    Specified by:
      `updateClob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second is 2, ...
      `reader` - An object that contains the data to set the parameter value to.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateClob

    public void updateClob(String columnLabel, Reader reader) throws SQLException
    Updates the designated column using the given `Reader` object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateClob` which takes a length parameter.

    Specified by:
      `updateClob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - An object that contains the data to set the parameter value to.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNClob

    public void updateNClob(int columnIndex, Reader reader) throws SQLException
    Updates the designated column using the given `Reader` The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNClob` which takes a length parameter.

    Specified by:
      `updateNClob` in interface `ResultSet`
    Parameters:
      `columnIndex` - the first column is 1, the second 2, ...
      `reader` - An object that contains the data to set the parameter value to.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### updateNClob

    public void updateNClob(String columnLabel, Reader reader) throws SQLException
    Updates the designated column using the given `Reader` object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

    The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

    Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNClob` which takes a length parameter.

    Specified by:
      `updateNClob` in interface `ResultSet`
    Parameters:
      `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
      `reader` - An object that contains the data to set the parameter value to.

    Throws:
      `SQLException` - Always thrown, to indicate that this method is not implemented.

    Since:
      1.6

  - ### unwrap

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

  - ### isWrapperFor

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

  - ### getObject

    public <T> T getObject(int arg0, Class<T> arg1) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`

  - ### getObject

    public <T> T getObject(String arg0, Class<T> arg1) throws SQLException
    Specified by:
      `getObject` in interface `ResultSet`
    Throws:
      `SQLException`