- java.lang.Object
-
- org.postgresql.pljava.jdbc.AbstractResultSet
-
- org.postgresql.pljava.jdbc.ObjectResultSet
-
- org.postgresql.pljava.jdbc.SingleRowResultSet
-
- org.postgresql.pljava.jdbc.SingleRowReader
-
- All Implemented Interfaces:
AutoCloseable
,ResultSet
,Wrapper
- Direct Known Subclasses:
SQLInputFromTuple
public class SingleRowReader extends SingleRowResultSet
A single row, read-only ResultSet, specially made for functions and procedures that takes complex types as arguments (PostgreSQL 7.5 and later).- Author:
- Thomas Hallgren
-
-
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
Constructors Constructor Description SingleRowReader(DualState.Key cookie, long resourceOwner, long hth, TupleDesc tupleDesc)
-
Method Summary
Modifier and Type Method Description void
cancelRowUpdates()
This feature is not supported on aReadOnlyResultSet
.void
close()
void
deleteRow()
This feature is not supported on aReadOnlyResultSet
.int
getConcurrency()
ReturnsResultSet.CONCUR_READ_ONLY
.protected Object
getObjectValue(int columnIndex, Class<?> type)
Primary method for subclass to override to retrieve a value.protected TupleDesc
getTupleDesc()
void
insertRow()
This feature is not supported on aReadOnlyResultSet
.boolean
isClosed()
void
moveToInsertRow()
This feature is not supported on aReadOnlyResultSet
.boolean
rowUpdated()
Always returns false.void
updateObject(int columnIndex, Object x)
This feature is not supported on aReadOnlyResultSet
.void
updateObject(int columnIndex, Object x, int scale)
This feature is not supported on aReadOnlyResultSet
.void
updateRow()
This feature is not supported on aReadOnlyResultSet
.-
Methods inherited from class org.postgresql.pljava.jdbc.SingleRowResultSet
absolute, afterLast, beforeFirst, findColumn, first, getFetchDirection, getFetchSize, getHoldability, getMetaData, getRow, getType, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, next, previous, relative, rowDeleted, rowInserted, setFetchDirection, setFetchSize
-
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, getObject, getObjectValue, 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, 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
-
Methods inherited from interface java.sql.ResultSet
updateObject, updateObject, updateObject, updateObject
-
-
-
-
Constructor Detail
-
SingleRowReader
public SingleRowReader(DualState.Key cookie, long resourceOwner, long hth, TupleDesc tupleDesc) throws SQLException
- Parameters:
cookie
- Capability obtained from native code to construct aSingleRowReader
instance.resourceOwner
- Value identifying a scope in PostgreSQL during which the native state encapsulated here will be valid.hth
- Native pointer to a PGHeapTupleHeader
tupleDesc
- ATupleDesc
; the Java class this time.- Throws:
SQLException
-
-
Method Detail
-
close
public void close()
-
getObjectValue
protected Object getObjectValue(int columnIndex, Class<?> type) throws SQLException
Description copied from class:ObjectResultSet
Primary method for subclass to override to retrieve a value.The signature does not constrain this to return an object of the requested class, so it can still be used as before by methods that may do additional coercions. When called by
ObjectResultSet.getObject(int,Class)
, that caller enforces the class of the result.- Specified by:
getObjectValue
in classObjectResultSet
- Throws:
SQLException
-
getConcurrency
public int getConcurrency() throws SQLException
ReturnsResultSet.CONCUR_READ_ONLY
.- Specified by:
getConcurrency
in interfaceResultSet
- Overrides:
getConcurrency
in classSingleRowResultSet
- Throws:
SQLException
-
cancelRowUpdates
public void cancelRowUpdates() throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Throws:
SQLException
- indicating that this feature is not supported.
-
deleteRow
public void deleteRow() throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Specified by:
deleteRow
in interfaceResultSet
- Overrides:
deleteRow
in classSingleRowResultSet
- Throws:
SQLException
- indicating that this feature is not supported.
-
insertRow
public void insertRow() throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Specified by:
insertRow
in interfaceResultSet
- Overrides:
insertRow
in classSingleRowResultSet
- Throws:
SQLException
- indicating that this feature is not supported.
-
moveToInsertRow
public void moveToInsertRow() throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Specified by:
moveToInsertRow
in interfaceResultSet
- Overrides:
moveToInsertRow
in classSingleRowResultSet
- Throws:
SQLException
- indicating that this feature is not supported.
-
updateRow
public void updateRow() throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Specified by:
updateRow
in interfaceResultSet
- Overrides:
updateRow
in classSingleRowResultSet
- Throws:
SQLException
- indicating that this feature is not supported.
-
rowUpdated
public boolean rowUpdated() throws SQLException
Always returns false.- Throws:
SQLException
-
updateObject
public void updateObject(int columnIndex, Object x) throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Throws:
SQLException
- indicating that this feature is not supported.
-
updateObject
public void updateObject(int columnIndex, Object x, int scale) throws SQLException
This feature is not supported on aReadOnlyResultSet
.- Specified by:
updateObject
in interfaceResultSet
- Overrides:
updateObject
in classSingleRowResultSet
- Throws:
SQLException
- indicating that this feature is not supported.
-
isClosed
public boolean isClosed() throws SQLException
- Throws:
SQLException
-
getTupleDesc
protected final TupleDesc getTupleDesc()
- Specified by:
getTupleDesc
in classSingleRowResultSet
-
-