package org.okip.service.dbc.api;



/*
   Copyright (c) 2002 Massachusetts Institute of Technology

   This work, including any software, documents, or other related items
   (the "Work"), is being provided by the copyright holder(s) subject to
   the terms of the MIT OKI(TM) API Definition License. By obtaining,
   using and/or copying this Work, you agree that you have read,
   understand, and will comply with the following terms and conditions of
   the MIT OKI(TM) API Definition License:

   You may use, copy, and distribute unmodified versions of this Work for
   any purpose, without fee or royalty, provided that you include the
   following on ALL copies of the Work that you make or distribute:

    *  The full text of the MIT OKI(TM) API Definition License in a
       location viewable to users of the redistributed Work.

    *  Any pre-existing intellectual property disclaimers, notices, or
       terms and conditions. If none exist, a short notice similar to the
       following should be used within the body of any redistributed
       Work: "Copyright (c) 2002 Massachusetts Institute of Technology. All
       Rights Reserved."

   You may modify or create Derivatives of this Work only for your
   internal purposes. You shall not distribute or transfer any such
   Derivative of this Work to any location or any other third party. For
   purposes of this license, "Derivative" shall mean any derivative of
   the Work as defined in the United States Copyright Act of 1976, such
   as a translation or modification.

   THIS WORK PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE WORK
   OR THE USE OR OTHER DEALINGS IN THE WORK.

   The name and trademarks of copyright holder(s) and/or MIT may NOT be
   used in advertising or publicity pertaining to the Work without
   specific, written prior permission. Title to copyright in the Work and
   any associated documentation will at all times remain with the
   copyright holders.

*/

/*
 * $Source: /cvs/oki/tech/src/org/okip/service/dbc/api/ResultSet.java,v $
 */

/**
 *A table of data representing a database result set, which is usually
 *generated by executing a statement that queries the database.
 * <p>
 * @see(java.sql.ResultSet)
 * <p>
 * Licensed under the {@link org.okip.service.ApiLicense MIT OKI&#153; API Definition License}.
 *
 * @version $Name:  $ / $Revision: 1.10 $ / $Date: 2002/08/06 14:28:33 $ */
public interface ResultSet
extends java.io.Serializable {

  /*
    methods in 1.4 but not in this interface
    getAsciiStream()
    getBinaryStream()
    getCharacterStream()
    updateAsciiStream()
    updateBinaryStream()
    updateCharacterStream()
*/

  /**
   * Moves the cursor to the given row
   * number in this ResultSet object.
   *
   * @param row
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean absolute(int row)
  throws DbcException;

  /**
   * Moves the cursor to the end of this
   * ResultSet object, just after the
   * last row.
   *
   * @throws DbcException
   *
   */
  void afterLast()
  throws DbcException;

  /**
   * Moves the cursor to the front of this
   * ResultSet object, just before the
   * first row.
   *
   * @throws DbcException
   *
   */
  void beforeFirst()
  throws DbcException;

  /**
   * Cancels the updates made to the
   * current row in this ResultSet
   * object.
   *
   * @throws DbcException
   *
   */
  void cancelRowUpdates()
  throws DbcException;

  /**
   * Clears all warnings reported on
   * this ResultSet object.
   *
   * @throws DbcException
   *
   */
  void clearWarnings()
  throws DbcException;

  /**
   * Releases this ResultSet object's database
   * and JDBC resources immediately instead of
   * waiting for this to happen when it is
   * automatically closed.
   *
   * @throws DbcException
   *
   */
  void close()
  throws DbcException;

  /**
   * Deletes the current row from this ResultSet
   * object and from the underlying database.
   *
   * @throws DbcException
   *
   */
  void deleteRow()
  throws DbcException;

  /**
   * Maps the given ResultSet column name
   * to its ResultSet column index.
   *
   * @param columnName
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int findColumn(String columnName)
  throws DbcException;

  /**
   * Moves the cursor to the first row
   * in this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean first()
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an Array object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Array
   *
   * @throws DbcException
   *
   */
  Array getArray(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an Array object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Array
   *
   * @throws DbcException
   *
   */
  Array getArray(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.math.BigDecimal
   * with full precision.
   *
   * @param columnIndex
   *
   * @return BigDecimal
   *
   * @throws DbcException
   *
   */
  java.math.BigDecimal getBigDecimal(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.math.BigDecimal
   * with full precision.
   *
   * @param columnName
   *
   * @return java.math.BigDecimal
   *
   * @throws DbcException
   *
   */
  java.math.BigDecimal getBigDecimal(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a Blob object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Blob
   *
   * @throws DbcException
   *
   */
  Blob getBlob(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a Blob object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Blob
   *
   * @throws DbcException
   *
   */
  Blob getBlob(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a boolean
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean getBoolean(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a boolean
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean getBoolean(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a byte
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return byte
   *
   * @throws DbcException
   *
   */
  byte getByte(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a byte
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return byte
   *
   * @throws DbcException
   *
   */
  byte getByte(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a byte array
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return byte[]
   *
   * @throws DbcException
   *
   */
  byte[] getBytes(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a byte array
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return byte[]
   *
   * @throws DbcException
   *
   */
  byte[] getBytes(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a Clob object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Clob
   *
   * @throws DbcException
   *
   */
  Clob getClob(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a Clob object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Clob
   *
   * @throws DbcException
   *
   */
  Clob getClob(String columnName)
  throws DbcException;

  /**
   * Retrieves the concurrency mode of
   * this ResultSet object.
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getConcurrency()
  throws DbcException;

  /**
   * Retrieves the name of the SQL cursor
   * used by this ResultSet object.
   *
   * @return String
   *
   * @throws DbcException
   *
   */
  String getCursorName()
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Date object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Date
   *
   * @throws DbcException
   *
   */
  java.sql.Date getDate(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Date object
   * in the Java programming language.
   *
   * @param columnIndex
   * @param calendar
   *
   * @return Date
   *
   * @throws DbcException
   *
   */
  java.sql.Date getDate(int columnIndex, java.util.Calendar calendar)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Date object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Date
   *
   * @throws DbcException
   *
   */
  java.sql.Date getDate(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Date object
   * in the Java programming language.
   *
   * @param columnName
   * @param calendar
   *
   * @return Date
   *
   * @throws DbcException
   *
   */
  java.sql.Date getDate(String columnName, java.util.Calendar calendar)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a double
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return double
   *
   * @throws DbcException
   *
   */
  double getDouble(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a double
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return double
   *
   * @throws DbcException
   *
   */
  double getDouble(String columnName)
  throws DbcException;

  /**
   * Retrieves the fetch direction
   * for this ResultSet object.
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getFetchDirection()
  throws DbcException;

  /**
   * Retrieves the fetch size for
   * this ResultSet object.
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getFetchSize()
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a float
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return float
   *
   * @throws DbcException
   *
   */
  float getFloat(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a float
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return float
   *
   * @throws DbcException
   *
   */
  float getFloat(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an int
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getInt(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an int
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getInt(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a long
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return long
   *
   * @throws DbcException
   *
   */
  long getLong(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a long
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return long
   *
   * @throws DbcException
   *
   */
  long getLong(String columnName)
  throws DbcException;

  /**
   * Retrieves the number, types and
   * properties of this ResultSet object's
   * columns.
   *
   * @return ResultSetMetaData
   *
   * @throws DbcException
   *
   */
  org.okip.service.dbc.api.ResultSetMetaData getMetaData()
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an Object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Object
   *
   * @throws DbcException
   *
   */
  Object getObject(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an Object
   * in the Java programming language.
   *
   * @param columnIndex
   * @param map
   *
   * @return Object
   *
   * @throws DbcException
   *
   */
  Object getObject(int columnIndex, java.util.Map map)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an Object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Object
   *
   * @throws DbcException
   *
   */
  Object getObject(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as an Object
   * in the Java programming language.
   *
   *
   * @param colName
   * @param map
   *
   * @return Object
   *
   * @throws DbcException
   *
   */
  Object getObject(String colName, java.util.Map map)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Ref object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Ref
   *
   * @throws DbcException
   *
   */
  java.sql.Ref getRef(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Ref object
   * in the Java programming language.
   *
   *
   * @param colName
   *
   * @return Ref
   *
   * @throws DbcException
   *
   */
  java.sql.Ref getRef(String colName)
  throws DbcException;

  /**
   * Retrieves the current row number.
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getRow()
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a short
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return short
   *
   * @throws DbcException
   *
   */
  short getShort(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a short
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return short
   *
   * @throws DbcException
   *
   */
  short getShort(String columnName)
  throws DbcException;

  /**
   * Retrieves the Statement object
   * that produced this ResultSet object.
   *
   * @return Statement
   *
   * @throws DbcException
   *
   */
  Statement getStatement()
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a String
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return String
   *
   * @throws DbcException
   *
   */
  String getString(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a String
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return String
   *
   * @throws DbcException
   *
   */
  String getString(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Time object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Time
   *
   * @throws DbcException
   *
   */
  java.sql.Time getTime(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Time object
   * in the Java programming language.
   *
   * @param columnIndex
   * @param calendar
   *
   * @return Time
   *
   * @throws DbcException
   *
   */
  java.sql.Time getTime(int columnIndex, java.util.Calendar calendar)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Time object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Time
   *
   * @throws DbcException
   *
   */
  java.sql.Time getTime(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Time object
   * in the Java programming language.
   *
   * @param columnName
   * @param calendar
   *
   * @return Time
   *
   * @throws DbcException
   *
   */
  java.sql.Time getTime(String columnName, java.util.Calendar calendar)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Timestamp object
   * in the Java programming language.
   *
   * @param columnIndex
   *
   * @return Timestamp
   *
   * @throws DbcException
   *
   */
  java.sql.Timestamp getTimestamp(int columnIndex)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Timestamp object
   * in the Java programming language.
   *
   * @param columnIndex
   * @param calendar
   *
   * @return Timestamp
   *
   * @throws DbcException
   *
   */
  java.sql.Timestamp getTimestamp(int columnIndex,
                                  java.util.Calendar calendar)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Timestamp object
   * in the Java programming language.
   *
   * @param columnName
   *
   * @return Timestamp
   *
   * @throws DbcException
   *
   */
  java.sql.Timestamp getTimestamp(String columnName)
  throws DbcException;

  /**
   * Retrieves the value of the designated
   * column in the current row of this
   * ResultSet object as a java.sql.Timestamp object
   * in the Java programming language.
   *
   * @param columnName
   * @param calendar
   *
   * @return Timestamp
   *
   * @throws DbcException
   *
   */
  java.sql.Timestamp getTimestamp(String columnName,
                                  java.util.Calendar calendar)
  throws DbcException;

  /**
   * Retrieves the type of this
   * ResultSet object.
   *
   * @return int
   *
   * @throws DbcException
   *
   */
  int getType()
  throws DbcException;

  /**
   * 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.
   *
   * @param columnIndex
   *
   * @return URL
   *
   * @throws DbcException
   *
   */
  java.net.URL getURL(int columnIndex)
  throws DbcException;

  /**
   * 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.
   *
   * @param columnName
   *
   * @return URL
   *
   * @throws DbcException
   *
   */
  java.net.URL getURL(String columnName)
  throws DbcException;

  /**
   * Retrieves the first warning reported
   * by calls on this ResultSet object.
   *
   * @return SQLWarning
   *
   * @throws DbcException
   *
   */
  java.sql.SQLWarning getWarnings()
  throws DbcException;

  /**
   * Inserts the contents of the insert
   * row into this ResultSet object and
   * into the database.
   *
   * @throws DbcException
   *
   */
  void insertRow()
  throws DbcException;

  /**
   * Retrieves whether the cursor is
   * after the last row
   * in this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean isAfterLast()
  throws DbcException;

  /**
   * Retrieves whether the cursor is
   * before the first row
   * in this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean isBeforeFirst()
  throws DbcException;

  /**
   * Retrieves whether the cursor is
   * on the first row
   * of this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean isFirst()
  throws DbcException;

  /**
   * Retrieves whether the cursor is
   * on the last row
   * of this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean isLast()
  throws DbcException;

  /**
   * Moves the cursor to the last row
   * in this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean last()
  throws DbcException;

  /**
   * Moves the cursor to the remembered
   * cursor position, usually the
   * current row.
   *
   * @throws DbcException
   *
   */
  void moveToCurrentRow()
  throws DbcException;

  /**
   * Moves the cursor to the insert row.
   *
   * @throws DbcException
   *
   */
  void moveToInsertRow()
  throws DbcException;

  /**
   * Moves the cursor down one row
   * from its current position.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean next()
  throws DbcException;

  /**
   * Moves the cursor to the previous row
   * in this ResultSet object.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean previous()
  throws DbcException;

  /**
   * Refreshes the current row with its
   * most recent value in the database.
   *
   * @throws DbcException
   *
   */
  void refreshRow()
  throws DbcException;

  /**
   * Moves the cursor a relative number of rows,
   * either positive or negative.
   *
   * @param rows
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean relative(int rows)
  throws DbcException;

  /**
   * Retrieves whether a row has been deleted.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean rowDeleted()
  throws DbcException;

  /**
   * Retrieves whether the current row
   * has had an insertion.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean rowInserted()
  throws DbcException;

  /**
   * Retrieves whether the current row
   * has been updated.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean rowUpdated()
  throws DbcException;

  /**
   * Gives a hint as to the direction in
   * which the rows in this ResultSet
   * object will be processed.
   *
   * @param direction
   *
   * @throws DbcException
   *
   */
  void setFetchDirection(int direction)
  throws DbcException;

  /**
   * Gives the JDBC driver a hint as to
   * the number of rows that should be
   * fetched from the database when more
   * rows are needed for this ResultSet
   * object.
   *
   * @param rows
   *
   * @throws DbcException
   *
   */
  void setFetchSize(int rows)
  throws DbcException;

  /**
   * Updates the designated column
   * with Array value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateArray(int columnIndex, Array x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateArray(String columnName, Array x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.math.BigDecimal value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBigDecimal(int columnIndex, java.math.BigDecimal x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.BigDecimal value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBigDecimal(String columnName, java.math.BigDecimal x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Blob value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBlob(int columnIndex, Blob x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Blob value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBlob(String columnName, Blob x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a boolean value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBoolean(int columnIndex, boolean x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a boolean value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBoolean(String columnName, boolean x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a byte value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateByte(int columnIndex, byte x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a byte value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateByte(String columnName, byte x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a byte array value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBytes(int columnIndex, byte[] x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a byte array value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateBytes(String columnName, byte[] x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Clob value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateClob(int columnIndex, Clob x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Clob value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateClob(String columnName, Clob x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Date value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateDate(int columnIndex, java.sql.Date x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Date value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateDate(String columnName, java.sql.Date x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a double value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateDouble(int columnIndex, double x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a double value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateDouble(String columnName, double x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a float value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateFloat(int columnIndex, float x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a float value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateFloat(String columnName, float x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a int value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateInt(int columnIndex, int x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a int value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateInt(String columnName, int x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a long value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateLong(int columnIndex, long x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a long value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateLong(String columnName, long x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a null value.
   *
   * @param columnIndex
   *
   * @throws DbcException
   *
   */
  void updateNull(int columnIndex)
  throws DbcException;

  /**
   * Updates the designated column
   * with a null value.
   *
   * @param columnName
   *
   * @throws DbcException
   *
   */
  void updateNull(String columnName)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Object value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateObject(int columnIndex, Object x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Object value.
   *
   * @param columnIndex
   * @param x
   * @param scale
   *
   * @throws DbcException
   *
   */
  void updateObject(int columnIndex, Object x, int scale)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Object value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateObject(String columnName, Object x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a Object value.
   *
   * @param columnName
   * @param x
   * @param scale
   *
   * @throws DbcException
   *
   */
  void updateObject(String columnName, Object x, int scale)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Ref value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateRef(int columnIndex, java.sql.Ref x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Ref value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateRef(String columnName, java.sql.Ref x)
  throws DbcException;

  /**
   * Updates the underlying database with
   * the new contents of the current row
   * of this ResultSet object.
   *
   * @throws DbcException
   *
   */
  void updateRow()
  throws DbcException;

  /**
   * Updates the designated column
   * with a short value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateShort(int columnIndex, short x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a short value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateShort(String columnName, short x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a String value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateString(int columnIndex, String x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a String value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateString(String columnName, String x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Time value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateTime(int columnIndex, java.sql.Time x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Time value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateTime(String columnName, java.sql.Time x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Timestamp value.
   *
   * @param columnIndex
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateTimestamp(int columnIndex, java.sql.Timestamp x)
  throws DbcException;

  /**
   * Updates the designated column
   * with a java.sql.Timestamp value.
   *
   * @param columnName
   * @param x
   *
   * @throws DbcException
   *
   */
  void updateTimestamp(String columnName, java.sql.Timestamp x)
  throws DbcException;

  /**
   * Reports whether the last column read
   * had a value of SQL NULL.
   *
   * @return boolean
   *
   * @throws DbcException
   *
   */
  boolean wasNull()
  throws DbcException;

}
