Home » MySQL-JDBC-5.1.11 » com.mysql.jdbc » [javadoc | source]
com.mysql.jdbc
public class: ResultSetImpl [javadoc | source]
java.lang.Object
   com.mysql.jdbc.ResultSetImpl

All Implemented Interfaces:
    ResultSetInternalMethods

Direct Known Subclasses:
    UpdatableResultSet, JDBC4ResultSet, JDBC4UpdatableResultSet

A ResultSet provides access to a table of data generated by executing a Statement. The table rows are retrieved in sequence. Within a row its column values can be accessed in any order.

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 insenstive. 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 guarentee 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 ResultSetMetaData object returned by the getMetaData method.

Field Summary
protected static final  double MIN_DIFF_PREC    Epsillon between Float.MIN_VALUE and the double representation of said value. 
protected static final  double MAX_DIFF_PREC    Epsillon between Float.MAX_VALUE and the double representation of said value. 
protected static  int resultCounter    Counter used to generate IDs for profiling. 
protected  String catalog    The catalog that was in use when we were created 
protected  Map columnLabelToIndex    Map column names (and all of their permutations) to column indices 
protected  Map columnToIndexCache    The above map is a case-insensitive tree-map, it can be slow, this caches lookups into that map, because the other alternative is to create new object instances for every call to findColumn().... 
protected  boolean[] columnUsed    Keep track of columns accessed 
protected  ConnectionImpl connection    The Connection instance that created us 
protected  long connectionId     
protected  int currentRow    The current row #, -1 == before start of result set 
 TimeZone defaultTimeZone     
protected  boolean doingUpdates    Are we in the middle of doing updates to the current row? 
protected  ProfilerEventHandler eventSink     
 Calendar fastDateCal     
protected  int fetchDirection    The direction to fetch rows (always FETCH_FORWARD) 
protected  int fetchSize    The number of rows to fetch in one go... 
protected  Field[] fields    The fields for this result set 
protected  char firstCharOfQuery    First character of the query that created this result set...Used to determine whether or not to parse server info messages in certain circumstances. 
protected  Map fullColumnNameToIndex    Map of fully-specified column names to column indices 
protected  Map columnNameToIndex     
protected  boolean hasBuiltIndexMapping     
protected  boolean isBinaryEncoded    Is the data stored as strings (default) or natively (which is the case with results from PrepStmts) 
protected  boolean isClosed    Has this result set been closed? 
protected  ResultSetInternalMethods nextResultSet     
protected  boolean onInsertRow    Are we on the insert row? 
protected  StatementImpl owningStatement    The statement that created us 
protected  Throwable pointOfOrigin    StackTrace generated where ResultSet was created... used when profiling 
protected  boolean profileSql    Are we tracking items for profileSql? 
protected  boolean reallyResult    Do we actually contain rows, or just information about UPDATE/INSERT/DELETE? 
protected  int resultId    The id (used when profiling) to identify us 
protected  int resultSetConcurrency    Are we read-only or updatable? 
protected  int resultSetType    Are we scroll-sensitive/insensitive? 
protected  RowData rowData    The actual rows 
protected  String serverInfo    Any info message from the server that was created while generating this result set (if 'info parsing' is enabled for the connection). 
 PreparedStatement statementUsedForFetchingRows     
protected  ResultSetRow thisRow    Pointer to current row data 
protected  long updateCount    How many rows were affected by UPDATE/INSERT/DELETE? 
protected  long updateId    Value generated for AUTO_INCREMENT columns 
protected  boolean useUsageAdvisor     
protected  SQLWarning warningChain    The warning chain 
protected  boolean wasNullFlag    Did the previous value retrieval find a NULL? 
protected  Statement wrapperStatement     
protected  boolean retainOwningStatement     
protected  Calendar gmtCalendar     
protected  boolean useFastDateParsing     
protected static final  char[] EMPTY_SPACE     
protected  boolean useLegacyDatetimeCode     
Constructor:
 public ResultSetImpl(long updateCount,
    long updateID,
    ConnectionImpl conn,
    StatementImpl creatorStmt) 
    Create a result set for an executeUpdate statement.
    Parameters:
    updateCount - the number of rows affected by the update
    updateID - the autoincrement value (if any)
    conn - DOCUMENT ME!
    creatorStmt - DOCUMENT ME!
 public ResultSetImpl(String catalog,
    Field[] fields,
    RowData tuples,
    ConnectionImpl conn,
    StatementImpl creatorStmt) throws SQLException 
    Creates a new ResultSet object.
    Parameters:
    catalog - the database in use when we were created
    fields - an array of Field objects (basically, the ResultSet MetaData)
    tuples - actual row data
    conn - the Connection that created us.
    creatorStmt - DOCUMENT ME!
    Throws:
    SQLException - if an error occurs
Method from com.mysql.jdbc.ResultSetImpl Summary:
absolute,   afterLast,   arraysEqual,   beforeFirst,   buildIndexMapping,   cancelRowUpdates,   checkClosed,   checkColumnBounds,   checkRowPos,   clearNextResult,   clearWarnings,   close,   convertLongToUlong,   copy,   deleteRow,   fastDateCreate,   fastTimeCreate,   fastTimestampCreate,   findColumn,   first,   getArray,   getArray,   getAsciiStream,   getAsciiStream,   getBigDecimal,   getBigDecimal,   getBigDecimal,   getBigDecimal,   getBinaryStream,   getBinaryStream,   getBlob,   getBlob,   getBoolean,   getBoolean,   getByte,   getByte,   getBytes,   getBytes,   getBytes,   getBytesSize,   getCalendarInstanceForSessionOrNew,   getCharacterStream,   getCharacterStream,   getClob,   getClob,   getConcurrency,   getCursorName,   getDate,   getDate,   getDate,   getDate,   getDouble,   getDouble,   getDoubleInternal,   getDoubleInternal,   getExceptionInterceptor,   getFetchDirection,   getFetchSize,   getFirstCharOfQuery,   getFloat,   getFloat,   getGmtCalendar,   getInstance,   getInstance,   getInt,   getInt,   getLong,   getLong,   getMetaData,   getNativeArray,   getNativeAsciiStream,   getNativeBigDecimal,   getNativeBigDecimal,   getNativeBinaryStream,   getNativeBlob,   getNativeByte,   getNativeByte,   getNativeBytes,   getNativeCharacterStream,   getNativeClob,   getNativeDate,   getNativeDate,   getNativeDateViaParseConversion,   getNativeDouble,   getNativeFloat,   getNativeInt,   getNativeInt,   getNativeLong,   getNativeLong,   getNativeRef,   getNativeShort,   getNativeShort,   getNativeString,   getNativeTimeViaParseConversion,   getNativeTimestampViaParseConversion,   getNativeURL,   getNativeUnicodeStream,   getNextResultSet,   getObject,   getObject,   getObject,   getObject,   getObjectStoredProc,   getObjectStoredProc,   getObjectStoredProc,   getObjectStoredProc,   getRef,   getRef,   getRow,   getServerInfo,   getShort,   getShort,   getStatement,   getString,   getString,   getStringInternal,   getTime,   getTime,   getTime,   getTime,   getTimestamp,   getTimestamp,   getTimestamp,   getTimestamp,   getType,   getURL,   getURL,   getUnicodeStream,   getUnicodeStream,   getUpdateCount,   getUpdateID,   getWarnings,   initializeFromCachedMetaData,   initializeWithMetadata,   insertRow,   isAfterLast,   isBeforeFirst,   isFirst,   isLast,   last,   moveToCurrentRow,   moveToInsertRow,   next,   populateCachedMetaData,   prev,   previous,   realClose,   reallyResult,   redefineFieldsForDBMD,   refreshRow,   relative,   rowDeleted,   rowInserted,   rowUpdated,   setBinaryEncoded,   setFetchDirection,   setFetchSize,   setFirstCharOfQuery,   setNextResultSet,   setOwningStatement,   setResultSetConcurrency,   setResultSetType,   setServerInfo,   setStatementUsedForFetchingRows,   setWrapperStatement,   toString,   updateArray,   updateArray,   updateAsciiStream,   updateAsciiStream,   updateBigDecimal,   updateBigDecimal,   updateBinaryStream,   updateBinaryStream,   updateBlob,   updateBlob,   updateBoolean,   updateBoolean,   updateByte,   updateByte,   updateBytes,   updateBytes,   updateCharacterStream,   updateCharacterStream,   updateClob,   updateClob,   updateDate,   updateDate,   updateDouble,   updateDouble,   updateFloat,   updateFloat,   updateInt,   updateInt,   updateLong,   updateLong,   updateNull,   updateNull,   updateObject,   updateObject,   updateObject,   updateObject,   updateRef,   updateRef,   updateRow,   updateShort,   updateShort,   updateString,   updateString,   updateTime,   updateTime,   updateTimestamp,   updateTimestamp,   wasNull
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from com.mysql.jdbc.ResultSetImpl Detail:
 public boolean absolute(int row) throws SQLException 
    JDBC 2.0

    Move to an absolute row number in the result set.

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

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

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

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

 public  void afterLast() throws SQLException 
    JDBC 2.0

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

 public static boolean arraysEqual(byte[] left,
    byte[] right) 
 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.

 public  void buildIndexMapping() throws SQLException 
    Builds a hash between column names and their indices for fast retrieval.
 public  void cancelRowUpdates() throws SQLException 
    JDBC 2.0 The cancelRowUpdates() method may be called after calling an updateXXX() method(s) and before calling updateRow() to rollback the updates made to a row. If no updates have been made or updateRow() has already been called, then this method has no effect.
 protected final  void checkClosed() throws SQLException 
    Ensures that the result set is not closed
 protected final  void checkColumnBounds(int columnIndex) throws SQLException 
    Checks if columnIndex is within the number of columns in this result set.
 protected  void checkRowPos() throws SQLException 
    Ensures that the cursor is positioned on a valid row and that the result set is not closed
 public  void clearNextResult() 
    We can't do this ourselves, otherwise the contract for Statement.getMoreResults() won't work correctly.
 public  void clearWarnings() throws SQLException 
    After this call, getWarnings returns null until a new warning is reported for this ResultSet
 public  void close() throws SQLException 
    In some cases, it is desirable to immediately release a ResultSet database and JDBC resources instead of waiting for this to happen when it is automatically closed. The close method provides this immediate release.

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

 protected static BigInteger convertLongToUlong(long longVal) 
    Converts the given value as a java long, to an 'unsigned' long, using the java.math.BigInteger class.
 public ResultSetInternalMethods copy() throws SQLException 
 public  void deleteRow() throws SQLException 
    JDBC 2.0 Delete the current row from the result set and the underlying database. Cannot be called when on the insert row.
 protected synchronized Date fastDateCreate(Calendar cal,
    int year,
    int month,
    int day) 
 protected synchronized Time fastTimeCreate(Calendar cal,
    int hour,
    int minute,
    int second) throws SQLException 
 protected synchronized Timestamp fastTimestampCreate(Calendar cal,
    int year,
    int month,
    int day,
    int hour,
    int minute,
    int seconds,
    int secondsPart) 
 public synchronized int findColumn(String columnName) throws SQLException 
 public boolean first() throws SQLException 
    JDBC 2.0

    Moves to the first row in the result set.

 public Array getArray(int i) throws SQLException 
    JDBC 2.0 Get an array column.
 public Array getArray(String colName) throws SQLException 
    JDBC 2.0 Get an array column.
 public InputStream getAsciiStream(int columnIndex) throws SQLException 
    A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. This method is particulary suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

    Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. Also, a stream may return 0 for available() whether there is data available or not.

 public InputStream getAsciiStream(String columnName) throws SQLException 
    DOCUMENT ME!
 public BigDecimal getBigDecimal(int columnIndex) throws SQLException 
    JDBC 2.0 Get the value of a column in the current row as a java.math.BigDecimal object.
 public BigDecimal getBigDecimal(String columnName) throws SQLException 
    JDBC 2.0 Get the value of a column in the current row as a java.math.BigDecimal object.
 public BigDecimal getBigDecimal(int columnIndex,
    int scale) throws SQLException 
Deprecated!
    Get the value of a column in the current row as a java.math.BigDecimal object
 public BigDecimal getBigDecimal(String columnName,
    int scale) throws SQLException 
Deprecated!
    DOCUMENT ME!
 public InputStream getBinaryStream(int columnIndex) throws SQLException 
    A column value can also be retrieved as a binary stream. This method is suitable for retrieving LONGVARBINARY values.
 public InputStream getBinaryStream(String columnName) throws SQLException 
    DOCUMENT ME!
 public Blob getBlob(int columnIndex) throws SQLException 
    JDBC 2.0 Get a BLOB column.
 public Blob getBlob(String colName) throws SQLException 
    JDBC 2.0 Get a BLOB column.
 public boolean getBoolean(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java boolean
 public boolean getBoolean(String columnName) throws SQLException 
    DOCUMENT ME!
 public byte getByte(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java byte.
 public byte getByte(String columnName) throws SQLException 
    DOCUMENT ME!
 public byte[] getBytes(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java byte array.

    Be warned If the blob is huge, then you may run out of memory.

 public byte[] getBytes(String columnName) throws SQLException 
    DOCUMENT ME!
 protected byte[] getBytes(int columnIndex,
    boolean noConversion) throws SQLException 
 public int getBytesSize() throws SQLException 
 protected Calendar getCalendarInstanceForSessionOrNew() 
    Optimization to only use one calendar per-session, or calculate it for each call, depending on user configuration
 public Reader getCharacterStream(int columnIndex) throws SQLException 
    JDBC 2.0

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

 public Reader getCharacterStream(String columnName) throws SQLException 
    JDBC 2.0

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

 public Clob getClob(int i) throws SQLException 
    JDBC 2.0 Get a CLOB column.
 public Clob getClob(String colName) throws SQLException 
    JDBC 2.0 Get a CLOB column.
 public int getConcurrency() throws SQLException 
    JDBC 2.0 Return the concurrency of this result set. The concurrency used is determined by the statement that created the result set.
 public String getCursorName() throws SQLException 
    Get the name of the SQL cursor used by this ResultSet

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

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

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

 public Date getDate(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a java.sql.Date object
 public Date getDate(String columnName) throws SQLException 
    DOCUMENT ME!
 public Date getDate(int columnIndex,
    Calendar cal) throws SQLException 
    JDBC 2.0 Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
 public Date getDate(String columnName,
    Calendar cal) throws SQLException 
    Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
 public double getDouble(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java double.
 public double getDouble(String columnName) throws SQLException 
    DOCUMENT ME!
 protected double getDoubleInternal(int colIndex) throws SQLException 
    Converts a string representation of a number to a double. Need a faster way to do this.
 protected double getDoubleInternal(String stringVal,
    int colIndex) throws SQLException 
    Converts a string representation of a number to a double. Need a faster way to do this.
 protected ExceptionInterceptor getExceptionInterceptor() 
 public int getFetchDirection() throws SQLException 
    JDBC 2.0 Returns the fetch direction for this result set.
 public int getFetchSize() throws SQLException 
    JDBC 2.0 Return the fetch size for this result set.
 public char getFirstCharOfQuery() 
    Returns the first character of the query that this result set was created from.
 public float getFloat(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java float.
 public float getFloat(String columnName) throws SQLException 
    DOCUMENT ME!
 protected Calendar getGmtCalendar() 
 protected static ResultSetImpl getInstance(long updateCount,
    long updateID,
    ConnectionImpl conn,
    StatementImpl creatorStmt) throws SQLException 
 protected static ResultSetImpl getInstance(String catalog,
    Field[] fields,
    RowData tuples,
    ConnectionImpl conn,
    StatementImpl creatorStmt,
    boolean isUpdatable) throws SQLException 
    Creates a result set instance that represents a query result -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.
 public int getInt(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java int.
 public int getInt(String columnName) throws SQLException 
    DOCUMENT ME!
 public long getLong(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java long.
 public long getLong(String columnName) throws SQLException 
    DOCUMENT ME!
 public ResultSetMetaData getMetaData() throws SQLException 
    The numbers, types and properties of a ResultSet's columns are provided by the getMetaData method
 protected Array getNativeArray(int i) throws SQLException 
    JDBC 2.0 Get an array column.
 protected InputStream getNativeAsciiStream(int columnIndex) throws SQLException 
    A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. This method is particulary suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

    Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. Also, a stream may return 0 for available() whether there is data available or not.

 protected BigDecimal getNativeBigDecimal(int columnIndex) throws SQLException 
    JDBC 2.0 Get the value of a column in the current row as a java.math.BigDecimal object.
 protected BigDecimal getNativeBigDecimal(int columnIndex,
    int scale) throws SQLException 
    Get the value of a column in the current row as a java.math.BigDecimal object
 protected InputStream getNativeBinaryStream(int columnIndex) throws SQLException 
    A column value can also be retrieved as a binary stream. This method is suitable for retrieving LONGVARBINARY values.
 protected Blob getNativeBlob(int columnIndex) throws SQLException 
    JDBC 2.0 Get a BLOB column.
 protected byte getNativeByte(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java byte.
 protected byte getNativeByte(int columnIndex,
    boolean overflowCheck) throws SQLException 
 protected byte[] getNativeBytes(int columnIndex,
    boolean noConversion) throws SQLException 
    Get the value of a column in the current row as a Java byte array.

    Be warned If the blob is huge, then you may run out of memory.

 protected Reader getNativeCharacterStream(int columnIndex) throws SQLException 
    JDBC 2.0

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

 protected Clob getNativeClob(int columnIndex) throws SQLException 
    JDBC 2.0 Get a CLOB column.
 protected Date getNativeDate(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a java.sql.Date object
 protected Date getNativeDate(int columnIndex,
    Calendar cal) throws SQLException 
    JDBC 2.0 Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database doesn't store timezone information.
 Date getNativeDateViaParseConversion(int columnIndex) throws SQLException 
 protected double getNativeDouble(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java double.
 protected float getNativeFloat(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java float.
 protected int getNativeInt(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java int.
 protected int getNativeInt(int columnIndex,
    boolean overflowCheck) throws SQLException 
 protected long getNativeLong(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java long.
 protected long getNativeLong(int columnIndex,
    boolean overflowCheck,
    boolean expandUnsignedLong) throws SQLException 
 protected Ref getNativeRef(int i) throws SQLException 
    JDBC 2.0 Get a REF(<structured-type>) column.
 protected short getNativeShort(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java short.
 protected short getNativeShort(int columnIndex,
    boolean overflowCheck) throws SQLException 
 protected String getNativeString(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java String
 Time getNativeTimeViaParseConversion(int columnIndex,
    Calendar targetCalendar,
    TimeZone tz,
    boolean rollForward) throws SQLException 
 Timestamp getNativeTimestampViaParseConversion(int columnIndex,
    Calendar targetCalendar,
    TimeZone tz,
    boolean rollForward) throws SQLException 
 protected URL getNativeURL(int colIndex) throws SQLException 
 protected InputStream getNativeUnicodeStream(int columnIndex) throws SQLException 
    A column value can also be retrieved as a stream of Unicode characters. We implement this as a binary stream.
 public ResultSetInternalMethods getNextResultSet() 
    DOCUMENT ME!
 public Object getObject(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java object

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

    This method may also be used to read database specific abstract data types.

 public Object getObject(String columnName) throws SQLException 
    Get the value of a column in the current row as a Java object

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

    This method may also be used to read database specific abstract data types.

 public Object getObject(int i,
    Map 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.
 public Object getObject(String colName,
    Map 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.
 public Object getObjectStoredProc(int columnIndex,
    int desiredSqlType) throws SQLException 
 public Object getObjectStoredProc(String columnName,
    int desiredSqlType) throws SQLException 
 public Object getObjectStoredProc(int i,
    Map map,
    int desiredSqlType) throws SQLException 
 public Object getObjectStoredProc(String colName,
    Map map,
    int desiredSqlType) throws SQLException 
 public Ref getRef(int i) throws SQLException 
    JDBC 2.0 Get a REF(<structured-type>) column.
 public Ref getRef(String colName) throws SQLException 
    JDBC 2.0 Get a REF(<structured-type>) column.
 public int getRow() throws SQLException 
    JDBC 2.0

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

 public String getServerInfo() 
    Returns the server info (if any), or null if none.
 public short getShort(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java short.
 public short getShort(String columnName) throws SQLException 
    DOCUMENT ME!
 public Statement getStatement() throws SQLException 
    JDBC 2.0 Return the Statement that produced the ResultSet.
 public String getString(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a Java String
 public String getString(String columnName) throws SQLException 
    The following routines simply convert the columnName into a columnIndex and then call the appropriate routine above.
 protected String getStringInternal(int columnIndex,
    boolean checkDateTypes) throws SQLException 
 public Time getTime(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a java.sql.Time object
 public Time getTime(String columnName) throws SQLException 
    Get the value of a column in the current row as a java.sql.Time object.
 public Time getTime(int columnIndex,
    Calendar cal) throws SQLException 
    Get the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database doesn't store timezone information.
 public Time getTime(String columnName,
    Calendar cal) throws SQLException 
    Get the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database doesn't store timezone information.
 public Timestamp getTimestamp(int columnIndex) throws SQLException 
    Get the value of a column in the current row as a java.sql.Timestamp object
 public Timestamp getTimestamp(String columnName) throws SQLException 
    DOCUMENT ME!
 public Timestamp getTimestamp(int columnIndex,
    Calendar cal) throws SQLException 
    Get the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database doesn't store timezone information.
 public Timestamp getTimestamp(String columnName,
    Calendar cal) throws SQLException 
    Get the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database doesn't store timezone information.
 public int getType() throws SQLException 
    JDBC 2.0 Return the type of this result set. The type is determined based on the statement that created the result set.
 public URL getURL(int colIndex) throws SQLException 
 public URL getURL(String colName) throws SQLException 
 public InputStream getUnicodeStream(int columnIndex) throws SQLException 
Deprecated!
    A column value can also be retrieved as a stream of Unicode characters. We implement this as a binary stream.
 public InputStream getUnicodeStream(String columnName) throws SQLException 
Deprecated!
    DOCUMENT ME!
 public long getUpdateCount() 
 public long getUpdateID() 
 public SQLWarning getWarnings() throws SQLException 
    The first warning reported by calls on this ResultSet is returned. Subsequent ResultSet warnings will be chained to this java.sql.SQLWarning.

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

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

 public  void initializeFromCachedMetaData(CachedResultSetMetaData cachedMetaData) 
 public  void initializeWithMetadata() throws SQLException 
 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.
 public boolean isAfterLast() throws SQLException 
    JDBC 2.0

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

 public boolean isBeforeFirst() throws SQLException 
    JDBC 2.0

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

 public boolean isFirst() throws SQLException 
    JDBC 2.0

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

 public boolean isLast() throws SQLException 
    JDBC 2.0

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

 public boolean last() throws SQLException 
    JDBC 2.0

    Moves to the last row in the result set.

 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.
 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.
 public boolean next() throws SQLException 
    A ResultSet is initially positioned before its first row, the first call to next makes the first row the current row; the second call makes the second row the current row, etc.

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

 public  void populateCachedMetaData(CachedResultSetMetaData cachedMetaData) throws SQLException 
 public boolean prev() throws SQLException 
    The prev method is not part of JDBC, but because of the architecture of this driver it is possible to move both forward and backward within the result set.

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

 public boolean previous() throws SQLException 
    JDBC 2.0

    Moves to the previous row in the result set.

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

 public  void realClose(boolean calledExplicitly) throws SQLException 
    Closes this ResultSet and releases resources.
 public boolean reallyResult() 
 public  void redefineFieldsForDBMD(Field[] f) 
 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.
 public boolean relative(int rows) throws SQLException 
    JDBC 2.0

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

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

 public boolean rowDeleted() throws SQLException 
    JDBC 2.0 Determine if this row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not the result set can detect deletions.
 public boolean rowInserted() throws SQLException 
    JDBC 2.0 Determine if the current row has been inserted. The value returned depends on whether or not the result set can detect visible inserts.
 public boolean rowUpdated() throws SQLException 
    JDBC 2.0 Determine if the current row has been updated. The value returned depends on whether or not the result set can detect updates.
 protected  void setBinaryEncoded() 
    Flag that this result set is 'binary' encoded (from a PreparedStatement), not stored as strings.
 public  void setFetchDirection(int direction) throws SQLException 
    JDBC 2.0 Give a hint as to the direction in which the rows in this result set will be processed. The initial value is determined by the statement that produced the result set. The fetch direction may be changed at any time.
 public  void setFetchSize(int rows) throws SQLException 
    JDBC 2.0 Give the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this result set. If the fetch size specified is zero, then the JDBC driver ignores the value, and is free to make its own best guess as to what the fetch size should be. The default value is set by the statement that creates the result set. The fetch size may be changed at any time.
 public  void setFirstCharOfQuery(char c) 
    Sets the first character of the query that this result set was created from.
 protected  void setNextResultSet(ResultSetInternalMethods nextResultSet) 
    DOCUMENT ME!
 public  void setOwningStatement(StatementImpl owningStatement) 
 protected  void setResultSetConcurrency(int concurrencyFlag) 
    Sets the concurrency (JDBC2)
 protected  void setResultSetType(int typeFlag) 
    Sets the result set type for (JDBC2)
 protected  void setServerInfo(String info) 
    Sets server info (if any)
 public  void setStatementUsedForFetchingRows(PreparedStatement stmt) 
 public  void setWrapperStatement(Statement wrapperStatement) 
 public String toString() 
    DOCUMENT ME!
 public  void updateArray(int arg0,
    Array arg1) throws SQLException 
 public  void updateArray(String arg0,
    Array arg1) throws SQLException 
 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.
 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.
 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.
 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.
 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.
 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.
 public  void updateBlob(int arg0,
    Blob arg1) throws SQLException 
 public  void updateBlob(String arg0,
    Blob arg1) throws SQLException 
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 public  void updateClob(int arg0,
    Clob arg1) throws SQLException 
 public  void updateClob(String columnName,
    Clob clob) throws SQLException 
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 public  void updateLong(int columnIndex,
    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.
 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.
 public  void updateNull(int columnIndex) throws SQLException 
    JDBC 2.0 Give a nullable column a null value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.
 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.
 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.
 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.
 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.
 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.
 public  void updateRef(int arg0,
    Ref arg1) throws SQLException 
 public  void updateRef(String arg0,
    Ref arg1) throws SQLException 
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 public boolean wasNull() throws SQLException 
    A column may have the value of SQL NULL; wasNull() reports whether the last column read had this special value. Note that you must first call getXXX on a column to try to read its value and then call wasNull() to find if the value was SQL NULL