org.postgresql.pljava.jdbc
Class SingleRowWriter

java.lang.Object
  extended by org.postgresql.pljava.jdbc.AbstractResultSet
      extended by org.postgresql.pljava.jdbc.ObjectResultSet
          extended by org.postgresql.pljava.jdbc.SingleRowResultSet
              extended by org.postgresql.pljava.jdbc.SingleRowWriter
All Implemented Interfaces:
java.sql.ResultSet, java.sql.Wrapper

public class SingleRowWriter
extends SingleRowResultSet

A single row, updateable ResultSet, specially made for functions and procedures that returns complex types or sets.


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
 
Constructor Summary
SingleRowWriter(TupleDesc tupleDesc)
           
 
Method Summary
 void cancelRowUpdates()
           
 void close()
          Cancels all changes but doesn't really close the set.
 void copyRowFrom(java.sql.ResultSet rs)
           
 int getHoldability()
          Returns ResultSet.CLOSE_CURSORS_AT_COMMIT.
protected  java.lang.Object getObjectValue(int columnIndex)
           
 long getTupleAndClear()
          Creates a tuple from the current row values and then cancel all row updates to prepare for a new row.
protected  TupleDesc getTupleDesc()
           
 boolean isClosed()
           
 boolean rowUpdated()
          Returns true if the row contains any non null values since all values of the row are null initially.
 void updateObject(int columnIndex, java.lang.Object x)
           
 
Methods inherited from class org.postgresql.pljava.jdbc.SingleRowResultSet
absolute, afterLast, beforeFirst, deleteRow, findColumn, first, getConcurrency, getFetchDirection, getFetchSize, getMetaData, getRow, getType, insertRow, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, relative, rowDeleted, rowInserted, setFetchDirection, setFetchSize, updateObject, updateRow
 
Methods inherited from class org.postgresql.pljava.jdbc.ObjectResultSet
clearWarnings, getArray, getAsciiStream, getBigDecimal, getBigDecimal, getBinaryStream, getBlob, getBoolean, getByte, getBytes, getCharacterStream, getClob, getDate, getDate, getDouble, getFloat, getInt, getLong, getNumber, getObject, getObject, getObjectValue, getRef, getShort, getString, getTime, getTime, getTimestamp, getTimestamp, getUnicodeStream, getURL, getValue, getValue, getWarnings, refreshRow, updateArray, updateAsciiStream, updateBigDecimal, updateBinaryStream, updateBlob, updateBoolean, updateByte, updateBytes, updateCharacterStream, updateClob, updateDate, updateDouble, updateFloat, updateInt, updateLong, updateNull, updateRef, updateShort, updateString, updateTime, updateTimestamp, wasNull
 
Methods inherited from class org.postgresql.pljava.jdbc.AbstractResultSet
getArray, getAsciiStream, getBigDecimal, getBigDecimal, getBinaryStream, getBlob, getBoolean, getByte, getBytes, getCharacterStream, getClob, getCursorName, getDate, getDate, getDouble, getFloat, getInt, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getRef, getRowId, getRowId, getShort, getSQLXML, getSQLXML, getStatement, getString, getTime, getTime, getTimestamp, getTimestamp, getUnicodeStream, getURL, isWrapperFor, unwrap, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateByte, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDouble, updateFloat, updateInt, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateObject, updateObject, updateRef, updateRowId, updateRowId, updateShort, updateSQLXML, updateSQLXML, updateString, updateTime, updateTimestamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleRowWriter

public SingleRowWriter(TupleDesc tupleDesc)
                throws java.sql.SQLException
Throws:
java.sql.SQLException
Method Detail

getObjectValue

protected java.lang.Object getObjectValue(int columnIndex)
                                   throws java.sql.SQLException
Specified by:
getObjectValue in class ObjectResultSet
Throws:
java.sql.SQLException

rowUpdated

public boolean rowUpdated()
                   throws java.sql.SQLException
Returns true if the row contains any non null values since all values of the row are null initially.

Throws:
java.sql.SQLException

updateObject

public void updateObject(int columnIndex,
                         java.lang.Object x)
                  throws java.sql.SQLException
Throws:
java.sql.SQLException

cancelRowUpdates

public void cancelRowUpdates()
                      throws java.sql.SQLException
Throws:
java.sql.SQLException

close

public void close()
           throws java.sql.SQLException
Cancels all changes but doesn't really close the set.

Throws:
java.sql.SQLException

copyRowFrom

public void copyRowFrom(java.sql.ResultSet rs)
                 throws java.sql.SQLException
Throws:
java.sql.SQLException

getTupleAndClear

public long getTupleAndClear()
                      throws java.sql.SQLException
Creates a tuple from the current row values and then cancel all row updates to prepare for a new row. This method is called automatically by the trigger handler and should not be called in any other way.

Returns:
The native pointer of the Tuple reflecting the current row values.
Throws:
java.sql.SQLException

getTupleDesc

protected final TupleDesc getTupleDesc()
Specified by:
getTupleDesc in class SingleRowResultSet

isClosed

public boolean isClosed()
                 throws java.sql.SQLException
Throws:
java.sql.SQLException

getHoldability

public int getHoldability()
Returns ResultSet.CLOSE_CURSORS_AT_COMMIT. Cursors are actually closed when a function returns to SQL.

Specified by:
getHoldability in interface java.sql.ResultSet
Overrides:
getHoldability in class SingleRowResultSet


Copyright (c) 2003, 2004, 2005 TADA AB - Taby Sweden. \ Distributed under the terms shown in COPYRIGHT