com.progress.open4gl
Interface SDOResultSet

All Superinterfaces:
ProResultSet, java.sql.ResultSet

public interface SDOResultSet
extends ProResultSet

See detailed documentation in the "Open Client Developer's Guide".

The SDOResultSet interface provides access to 4GL Smart Data Objects (SDOs) through an Open AppServer. An SDOResultSet object is returned from a _createSDOResultSet() method. _createSDOResultSet() methods are implemented by ProxyGen generated AppObjects and the com.progress.open4gl.SDOAppObject class.

The _createSDOResultSet() method receives one mandatory String parameter - the name of the SDO *.w file. There are also optional parameters to modify the query of the underlying SDO and to set different aspects of the scrolling algorithm and usage of resources.

The SDOResultSet interface is a super subset of JDBC2's java.sql.ResultSet. All the relevant methods of the standard JDBC2 ResultSet are implemented, as well as, some methods that allow for a complete and efficient access to SDOs.

The SDOResultSet object can be Statefull or Stateless. A Stateless SDOResultSet object automatically creates and deletes the underlying SDO persistent procedure in order to free the AppServer for requests from other clients. The persistent procedures is kept only for the short duration when data is being sent or received. A Statefull SDOResultSet, on the other hand, keeps the underlying SDO persistent procedure until it's closed. The setStateless() method of the com.progress.open4g.SDOParameters class should be used, and the SDOParameters object should be passed to the _createSDOResultSet() method in order to create a Stateless SDOResultSet object. A Stateless SDOResultSet always uses the PREFETCH scrolling mode (see bellow).

The SDOResultSet object can have diffrent scrolling modes. The different scrolling modes allows the application to tradeoff between: initial response time, memory usage, result set stability and functionality. The PREFETCH scrolling mode ensures the stability of the result set but all the rows are fetched when the object is created and held in memory until SDOResultSet.close() is called. The FORWARD_ONLY mode supports only the next() navigation method, but rows are not kept in memory. The KEEP_ROWS mode (the default) represents a compromise with a good response time, reasonable stability, and full navigation functionality; but all the rows are kept in memory until SDOResultSet.close() is called.

When the SDOResultSet.close() method is called, the underlying SDO persistent procedure is deleted and SDOResultSet is no longer accessible.

A Stateless SDOResultSet object can be detached and re-attached from its AppObject using the detachFromAppObj() and attachToAppObj() methods. detachFromAppObj() allows the Java application to use the SDOResultSet without holding any server resources. When the application is ready to send data to the AppServer it calls attachToAppObj(appObject) to regain access to the AppServer.

The SDOResultSet interface extends the java.io.Serializable interface. That means that a detached SDOResultSet object can be written to a file using the java.io.ObjectOutputStream.writeObject() method and be read from a file using the java.io.ObjectInputStream.readObject() method. After being read from a file, attachToAppObj() can be used to regain access to the AppServer.

SDOResultSet objects implement the startBatch() and sendBatch() methods. All the updates, deletes and inserts between a startBatch() statement and a sendBatch() ( or sendBatchAndReOpen() ) statement are sent to the AppServer together. Batch update improve performance significantly. cancelBatch() can be used to undo all the modifications that were performed since the last startBatch() statement.

See Also:
SDOAppObject, SDOScrollingMode, SDOParameters.setStateless(boolean)

Field Summary
 
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
 boolean absolute(int n)
          JDBC 2.0
 boolean absolute(java.lang.String rowId)
          PROGRESS Extension
 void afterLast()
          JDBC 2.0
 void attachToAppObj(SDOFactory appObject)
          PROGRESS Extension
 void beforeFirst()
          JDBC 2.0
 void cancelBatch()
          PROGRESS Extension
 void cancelRowUpdates()
          JDBC 2.0
 void deleteRow()
          JDBC 2.0
 void detachFromAppObj()
          PROGRESS Extension
 boolean first()
          JDBC 2.0
 java.math.BigDecimal getBigDecimal(int columnIndex)
          JDBC 2.0
 java.math.BigDecimal getBigDecimal(java.lang.String columnName)
          JDBC 2.0
 int getFetchSize()
          JDBC 2.0 Returns the fetch size for this result set.
 java.util.GregorianCalendar getGregorianCalendar(int columnIndex)
          PROGRESS Extension
 java.util.GregorianCalendar getGregorianCalendar(java.lang.String columnName)
          PROGRESS Extension
 java.lang.String getQuery()
          PROGRESS Extension
 int getRow()
          JDBC 2.0
 java.lang.String getRowIdentity()
          PROGRESS Extension
 SDOInterface getSDOInterface()
          PROGRESS Extension
 boolean inBatch()
          PROGRESS Extension
 void insertRow()
          JDBC 2.0
 boolean isAfterLast()
          JDBC 2.0
 boolean isAttached()
          PROGRESS Extension
 boolean isBeforeFirst()
          JDBC 2.0
 boolean isFirst()
          JDBC 2.0
 boolean isLast()
          JDBC 2.0
 boolean last()
          JDBC 2.0
 void moveToCurrentRow()
          JDBC 2.0
 void moveToInsertRow()
          JDBC 2.0
 boolean previous()
          JDBC 2.0
 void refreshRow()
          JDBC 2.0
 boolean relative(int n)
          JDBC 2.0
 void releaseSDOInterface()
          PROGRESS Extension
 void reOpenQuery()
          PROGRESS Extension
 void reOpenQuery(java.lang.String rowId)
          PROGRESS Extension
 boolean rowDeleted()
          JDBC 2.0
 boolean rowInserted()
          JDBC 2.0
 boolean rowUpdated()
          JDBC 2.0
 void sendBatch()
          PROGRESS Extension
 void sendBatchAndReOpen()
          PROGRESS Extension
 void sendBatchAndReOpen(java.lang.String rowId)
          PROGRESS Extension
 void startBatch()
          PROGRESS Extension
 void updateBigDecimal(int columnIndex, java.math.BigDecimal x)
          JDBC 2.0
 void updateBigDecimal(java.lang.String columnName, java.math.BigDecimal x)
          JDBC 2.0
 void updateBlob(int columnIndex, java.sql.Blob x)
          JDBC 2.0
 void updateBlob(java.lang.String columnName, java.sql.Blob x)
          JDBC 2.0
 void updateBoolean(int columnIndex, boolean x)
          JDBC 2.0
 void updateBoolean(java.lang.String columnName, boolean x)
          JDBC 2.0
 void updateBytes(int columnIndex, byte[] x)
          JDBC 2.0
 void updateBytes(java.lang.String columnName, byte[] x)
          JDBC 2.0
 void updateClob(int columnIndex, java.sql.Clob x)
          JDBC 2.0
 void updateClob(java.lang.String columnName, java.sql.Clob x)
          JDBC 2.0
 void updateDate(int columnIndex, java.sql.Date x)
          JDBC 2.0
 void updateDate(java.lang.String columnName, java.sql.Date x)
          JDBC 2.0
 void updateDouble(int columnIndex, double x)
          JDBC 2.0
 void updateDouble(java.lang.String columnName, double x)
          JDBC 2.0
 void updateGregorianCalendar(int columnIndex, java.util.GregorianCalendar x)
          PROGRESS Extension
 void updateGregorianCalendar(java.lang.String columnName, java.util.GregorianCalendar x)
          PROGRESS Extension
 void updateInt(int columnIndex, int x)
          JDBC 2.0
 void updateInt(java.lang.String columnName, int x)
          JDBC 2.0
 void updateLong(int columnIndex, long x)
          JDBC 2.0
 void updateLong(java.lang.String columnName, long x)
          JDBC 2.0
 void updateNull(int columnIndex)
          JDBC 2.0
 void updateNull(java.lang.String columnName)
          JDBC 2.0
 void updateObject(int columnIndex, java.lang.Object value)
          JDBC 2.0
 void updateObject(java.lang.String columnName, java.lang.Object x)
          JDBC 2.0
 void updateRow()
          JDBC 2.0
 void updateString(int columnIndex, java.lang.String x)
          JDBC 2.0
 void updateString(java.lang.String columnName, java.lang.String x)
          JDBC 2.0
 void updateTimestamp(int columnIndex, java.sql.Timestamp x)
          JDBC 2.0
 void updateTimestamp(java.lang.String columnName, java.sql.Timestamp x)
          JDBC 2.0
 
Methods inherited from interface com.progress.open4gl.ProResultSet
getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getBytes, getBytes, getClob, getClob, getDate, getDate, getDouble, getDouble, getGregorianCalendar, getGregorianCalendar, getInt, getInt, getLong, getLong, getObject, getObject, getString, getString, getTimestamp, getTimestamp
 
Methods inherited from interface java.sql.ResultSet
clearWarnings, close, findColumn, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFloat, getFloat, getInt, getInt, getLong, getLong, getMetaData, getObject, getObject, getObject, getObject, getRef, getRef, getShort, getShort, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, next, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateBinaryStream, updateBinaryStream, updateByte, updateByte, updateCharacterStream, updateCharacterStream, updateFloat, updateFloat, updateObject, updateObject, updateRef, updateRef, updateShort, updateShort, updateTime, updateTime, wasNull
 

Method Detail

absolute

public boolean absolute(int n)
                 throws ProSQLException
JDBC 2.0

Moves the cursor to the given row number in the result set.

If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.

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

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().

Specified by:
absolute in interface java.sql.ResultSet
Returns:
true if the cursor is on the result set; false otherwise
Throws:
SQLException - if an SDO access error occurs or row is 0, or the scrolling mode is FORWARD_ONLY
ProSQLException

absolute

public boolean absolute(java.lang.String rowId)
                 throws ProSQLException
PROGRESS Extension

Moves the cursor to the given row identifier in the result set.

The row identifier is returned from the getRowIdentity() method.

Parameters:
rowId - the row identifier of the row to position on
Returns:
true if the cursor is on the result set; false otherwise
Throws:
SQLException - if an SDO access error occurs or row is 0, or the scrolling mode is FORWARD_ONLY
SQLException - if an SDO access error occurs or row is 0, or the scrolling mode is FORWARD_ONLY
ProSQLException

afterLast

public void afterLast()
               throws ProSQLException
JDBC 2.0

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

Specified by:
afterLast in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or the scrolling mode is FORWARD_ONLY
ProSQLException

attachToAppObj

public void attachToAppObj(SDOFactory appObject)
                    throws ProSQLException,
                           Open4GLException
PROGRESS Extension

Attach to an appObject

ProSQLException
Open4GLException
See Also:
detachFromAppObj()

beforeFirst

public void beforeFirst()
                 throws ProSQLException
JDBC 2.0

Moves the cursor 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 java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or the scrolling mode is FORWARD_ONLY
ProSQLException

cancelBatch

public void cancelBatch()
                 throws ProSQLException
PROGRESS Extension

Cancel a batch

ProSQLException
See Also:
startBatch()

cancelRowUpdates

public void cancelRowUpdates()
                      throws ProSQLException
JDBC 2.0

Cancels the updates made to a row. This 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.

Specified by:
cancelRowUpdates in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or if called when on the insert row
ProSQLException

deleteRow

public void deleteRow()
               throws ProSQLException
JDBC 2.0

Deletes the current row from the result set and the underlying SDO. Cannot be called when on the insert row.

Specified by:
deleteRow in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or if called when on the insert row.
ProSQLException

detachFromAppObj

public void detachFromAppObj()
                      throws ProSQLException
PROGRESS Extension

Detach from the underlying appObject

A Stateless SDOResultSet object can be detached and re-attached from its AppObject using the detachFromAppObj() and attachToAppObj() methods. detachFromAppObj() allows the Java application to use the SDOResultSet without holding any server resources. When the application is ready to send data to the AppServer it calls attachToAppObj(appObject) to regain access to the AppServer.

ProSQLException

first

public boolean first()
              throws ProSQLException
JDBC 2.0

Moves the cursor to the first row in the result set.

Specified by:
first in interface java.sql.ResultSet
Returns:
true if the cursor is on a valid row; false if there are no rows in the result set
Throws:
SQLException - if an SDO access error occurs or the scrolling mode is FORWARD_ONLY
ProSQLException

getBigDecimal

public java.math.BigDecimal getBigDecimal(int columnIndex)
                                   throws ProSQLException
JDBC 2.0

Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.

Specified by:
getBigDecimal in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value (full precision); if the value is SQL NULL, the result is null
Throws:
SQLException - if an SDO access error occurs
ProSQLException

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String columnName)
                                   throws ProSQLException
JDBC 2.0

Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.

Specified by:
getBigDecimal in interface java.sql.ResultSet
Parameters:
columnName - the column name
Returns:
the column value (full precision); if the value is SQL NULL, the result is null
Throws:
SQLException - if an SDO access error occurs
ProSQLException

getFetchSize

public int getFetchSize()
                 throws ProSQLException
JDBC 2.0 Returns the fetch size for this result set.

Specified by:
getFetchSize in interface java.sql.ResultSet
Returns:
the current fetch size for this result set
Throws:
SQLException - if a database access error occurs
ProSQLException

getGregorianCalendar

public java.util.GregorianCalendar getGregorianCalendar(int columnIndex)
                                                 throws ProSQLException
PROGRESS Extension

Gets the value of a column in the current row as a java.util.GregorianCalendar object.

Specified by:
getGregorianCalendar in interface ProResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a SDO access error occurs
ProSQLException

getGregorianCalendar

public java.util.GregorianCalendar getGregorianCalendar(java.lang.String columnName)
                                                 throws ProSQLException
PROGRESS Extension

Gets the value of a column in the current row as a java.util.GregorianCalendar object.

Specified by:
getGregorianCalendar in interface ProResultSet
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a SDO access error occurs
ProSQLException

getQuery

public java.lang.String getQuery()
                          throws ProSQLException
PROGRESS Extension

Get the 4GL query that created this SDO result set

ProSQLException

getRow

public int getRow()
           throws ProSQLException
JDBC 2.0

Retrieves the current row number. The first row is number 1, the second number 2, and so on.

Specified by:
getRow in interface java.sql.ResultSet
Returns:
the current row number; 0 if there is no current row
Throws:
SQLException - if a SDO access error occurs
ProSQLException

getRowIdentity

public java.lang.String getRowIdentity()
                                throws ProSQLException
PROGRESS Extension

Returns the PROGRES ROWID of the row. If the row comes from a join then returns a comma separated list of identifiers.

ProSQLException

getSDOInterface

public SDOInterface getSDOInterface()
                             throws ProSQLException
PROGRESS Extension

Gets direct access the a subset of the underlying methods of the SDO.

ProSQLException
See Also:
releaseSDOInterface()

inBatch

public boolean inBatch()
PROGRESS Extension

Is this SDO result set in batch mode?

See Also:
detachFromAppObj()

insertRow

public void insertRow()
               throws ProSQLException
JDBC 2.0

Inserts the contents of the insert row into the result set and the SDO. Must be on the insert row when this method is called.

Specified by:
insertRow in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs, if called when not on the insert row, or if not all of non-nullable columns in the insert row have been given a value
ProSQLException

isAfterLast

public boolean isAfterLast()
                    throws ProSQLException
JDBC 2.0

Indicates whether the cursor is after the last row in the result set.

Specified by:
isAfterLast in interface java.sql.ResultSet
Returns:
true if the cursor is after the last row, false otherwise. Returns false when the result set contains no rows.
Throws:
SQLException - if an SDO access error occurs
ProSQLException

isAttached

public boolean isAttached()
PROGRESS Extension

is there an underlying appObject attached to the result set?

See Also:
detachFromAppObj()

isBeforeFirst

public boolean isBeforeFirst()
                      throws ProSQLException
JDBC 2.0

Indicates whether the cursor is before the first row in the result set.

Specified by:
isBeforeFirst in interface java.sql.ResultSet
Returns:
true if the cursor is before the first row, false otherwise. Returns false when the result set contains no rows.
Throws:
SQLException - if an SDO access error occurs
ProSQLException

isFirst

public boolean isFirst()
                throws ProSQLException
JDBC 2.0

Indicates whether the cursor is on the first row of the result set.

Specified by:
isFirst in interface java.sql.ResultSet
Returns:
true if the cursor is on the first row, false otherwise.
Throws:
SQLException - if a SDO access error occurs
ProSQLException

isLast

public boolean isLast()
               throws ProSQLException
JDBC 2.0

Indicates whether the cursor is on the last row of the result set. Note: Calling the method isLast may be expensive because the result set implementation might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.

Specified by:
isLast in interface java.sql.ResultSet
Returns:
true if the cursor is on the last row, false otherwise.
Throws:
SQLException - if a SDO access error occurs
ProSQLException

last

public boolean last()
             throws ProSQLException
JDBC 2.0

Moves the cursor to the last row in the result set.

Specified by:
last in interface java.sql.ResultSet
Returns:
true if the cursor is on a valid row; false if there are no rows in the result set
Throws:
SQLException - if an SDO access error occurs or the scrolling mode is FORWARD_ONLY
ProSQLException

moveToCurrentRow

public void moveToCurrentRow()
                      throws ProSQLException
JDBC 2.0

Moves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not on the insert row.

Specified by:
moveToCurrentRow in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or the result set is not updatable
ProSQLException

moveToInsertRow

public void moveToInsertRow()
                     throws ProSQLException
JDBC 2.0

Moves the cursor 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. The method updateXXX must be called before a getXXX method can be called on a column value.

Specified by:
moveToInsertRow in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or the result set is not updatable
ProSQLException

previous

public boolean previous()
                 throws ProSQLException
JDBC 2.0

Moves the cursor to the previous row in the result set.

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

Specified by:
previous in interface java.sql.ResultSet
Returns:
true if the cursor is on a valid row; false if it is off the result set
Throws:
SQLException - if an SDO access error occurs or the result scrolling mode is FORWARD_ONLY
ProSQLException

refreshRow

public void refreshRow()
                throws ProSQLException
JDBC 2.0

Refreshes the current row with its most recent value in the SDO. Cannot be called when on the insert row. The refreshRow method provides a way for an application to explicitly tell the SDOResultSet to refetch a row(s) from the SDO. If refreshRow is called after calling updateXXX, but before calling updateRow, then the updates made to the row are lost. Calling the method refreshRow frequently will slow performance.

Specified by:
refreshRow in interface java.sql.ResultSet
Throws:
SQLException - if a SDO access error occurs or if called when on the insert row
ProSQLException

relative

public boolean relative(int n)
                 throws ProSQLException
JDBC 2.0

Moves the cursor 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 from calling next() because 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.

Specified by:
relative in interface java.sql.ResultSet
Returns:
true if the cursor is on a row; false otherwise
Throws:
SQLException - if an SDO access error occurs, there is no current row, or the scrolling mode is FORWARD_ONLY
ProSQLException

releaseSDOInterface

public void releaseSDOInterface()
                         throws ProSQLException
PROGRESS Extension

Deletes the underlying SDO after using the SDOInterface the getSDOInterface() method returned. releaseSDOInterface() must be called in stateless mode (see SDOParameters.setStateless) - it has no effect in non stateless mode.

ProSQLException
See Also:
getSDOInterface()

reOpenQuery

public void reOpenQuery()
                 throws ProSQLException
PROGRESS Extension

Reopen the query and position the cusrsor before the first row

ProSQLException

reOpenQuery

public void reOpenQuery(java.lang.String rowId)
                 throws ProSQLException
PROGRESS Extension

Reopen the query and position the cusrsor before on the rowId row If rowId is null then reposition before the first row.

Parameters:
rowId - the row identifier of the row to position on
ProSQLException
See Also:
getRowIdentity()

rowDeleted

public boolean rowDeleted()
                   throws ProSQLException
JDBC 2.0

Indicates whether a 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.

Specified by:
rowDeleted in interface java.sql.ResultSet
Returns:
true if a row was deleted and deletions are detected
Throws:
SQLException - if an SDO access error occurs
ProSQLException

rowInserted

public boolean rowInserted()
                    throws ProSQLException
JDBC 2.0

Indicates whether the current row has had an insertion.

Specified by:
rowInserted in interface java.sql.ResultSet
Returns:
true if a row has had an insertion and the insertion was not yet performed on the underlying SDO.
Throws:
SQLException - if a SDO access error occurs
ProSQLException

rowUpdated

public boolean rowUpdated()
                   throws ProSQLException
JDBC 2.0

Indicates whether the current row has been updated.

Specified by:
rowUpdated in interface java.sql.ResultSet
Returns:
true if the current row was updated through this SDO and the update was not yet performed on the underlying SDO.
Throws:
SQLException - if a SDO access error occurs
ProSQLException

sendBatch

public void sendBatch()
               throws ProSQLException
PROGRESS Extension

Send the batch to the SDO on the server and end the batch session - inBatch() returns false after a sendBatch() call.

ProSQLException
See Also:
startBatch()

sendBatchAndReOpen

public void sendBatchAndReOpen()
                        throws ProSQLException
PROGRESS Extension

Send the batch to the SDO on the server, end the batch session and reopen the query. sendBatchAndReOpen() is equivalent to: sendBatch(), close() and then reOpenQuery(), but it is more efficient in stateless mode (see SDOParameters.setStateless).

ProSQLException
See Also:
startBatch()

sendBatchAndReOpen

public void sendBatchAndReOpen(java.lang.String rowId)
                        throws ProSQLException
PROGRESS Extension

Send the batch to the SDO on the server, end the batch session and reopen the query. sendBatchAndReOpen(rowId) is equivalent to: sendBatch(), close() and then reOpenQuery(rowId), but it is more efficient in stateless mode (see SDOParameters.setStateles s).

ProSQLException
See Also:
startBatch()

startBatch

public void startBatch()
                throws ProSQLException
PROGRESS Extension

Start a batch update session

SDOResultSet objects implement the startBatch() and sendBatch() methods. All the updates, deletes and inserts between a startBatch() statement and a sendBatch() ( or sendBatchAndReOpen() ) statement are sent to the AppServer together. Batch update improve performance significantly. cancelBatch() can be used to undo all the modifications that were performed since the last startBatch() statement.

ProSQLException

updateBigDecimal

public void updateBigDecimal(int columnIndex,
                             java.math.BigDecimal x)
                      throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBigDecimal in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBigDecimal

public void updateBigDecimal(java.lang.String columnName,
                             java.math.BigDecimal x)
                      throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBigDecimal in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBlob

public void updateBlob(int columnIndex,
                       java.sql.Blob x)
                throws ProSQLException
JDBC 2.0

Updates a column with a Blob 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBlob in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBlob

public void updateBlob(java.lang.String columnName,
                       java.sql.Blob x)
                throws ProSQLException
JDBC 2.0

Updates a column with a Blob 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBlob in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBoolean

public void updateBoolean(int columnIndex,
                          boolean x)
                   throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBoolean in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBoolean

public void updateBoolean(java.lang.String columnName,
                          boolean x)
                   throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBoolean in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBytes

public void updateBytes(int columnIndex,
                        byte[] x)
                 throws ProSQLException
JDBC 2.0

Updates a column with a byte array. 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBytes in interface java.sql.ResultSet
Parameters:
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateBytes

public void updateBytes(java.lang.String columnName,
                        byte[] x)
                 throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateBytes in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateClob

public void updateClob(int columnIndex,
                       java.sql.Clob x)
                throws ProSQLException
JDBC 2.0

Updates a column with a Clob 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateClob in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateClob

public void updateClob(java.lang.String columnName,
                       java.sql.Clob x)
                throws ProSQLException
JDBC 2.0

Updates a column with a Clob 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateClob in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateDate

public void updateDate(int columnIndex,
                       java.sql.Date x)
                throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateDate in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateDate

public void updateDate(java.lang.String columnName,
                       java.sql.Date x)
                throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateDate in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateDouble

public void updateDouble(int columnIndex,
                         double x)
                  throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateDouble in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateDouble

public void updateDouble(java.lang.String columnName,
                         double x)
                  throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateDouble in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateGregorianCalendar

public void updateGregorianCalendar(int columnIndex,
                                    java.util.GregorianCalendar x)
                             throws ProSQLException
PROGRESS Extension

Updates a column with a java.util.GregorianCalendar 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateGregorianCalendar

public void updateGregorianCalendar(java.lang.String columnName,
                                    java.util.GregorianCalendar x)
                             throws ProSQLException
PROGRESS Extension

Updates a column with a java.util.GregorianCalendar 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateInt

public void updateInt(int columnIndex,
                      int x)
               throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateInt in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateInt

public void updateInt(java.lang.String columnName,
                      int x)
               throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateInt in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateLong

public void updateLong(int columnIndex,
                       long x)
                throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateLong in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateLong

public void updateLong(java.lang.String columnName,
                       long x)
                throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateLong in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateNull

public void updateNull(int columnIndex)
                throws ProSQLException
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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateNull in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateNull

public void updateNull(java.lang.String columnName)
                throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateNull in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateObject

public void updateObject(int columnIndex,
                         java.lang.Object value)
                  throws ProSQLException
JDBC 2.0

Updates 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 row in the SDO; instead the updateRow or insertRow methods are called to pdate the row.

Specified by:
updateObject in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Throws:
SQLException - if an SDO access error occurs
ProSQLException

updateObject

public void updateObject(java.lang.String columnName,
                         java.lang.Object x)
                  throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateObject in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateRow

public void updateRow()
               throws ProSQLException
JDBC 2.0

Updates the underlying SDO with the new contents of the current row. Cannot be called when on the insert row.

Specified by:
updateRow in interface java.sql.ResultSet
Throws:
SQLException - if an SDO access error occurs or if called when on the insert row
ProSQLException

updateString

public void updateString(int columnIndex,
                         java.lang.String x)
                  throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateString in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateString

public void updateString(java.lang.String columnName,
                         java.lang.String x)
                  throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateString in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateTimestamp

public void updateTimestamp(int columnIndex,
                            java.sql.Timestamp x)
                     throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateTimestamp in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException

updateTimestamp

public void updateTimestamp(java.lang.String columnName,
                            java.sql.Timestamp x)
                     throws ProSQLException
JDBC 2.0

Updates 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 SDO; instead the updateRow or insertRow methods are called to update the SDO.

Specified by:
updateTimestamp in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a SDO access error occurs
ProSQLException