PL/Java's specialized JDBC implementation that interacts directly with the backend over SPI.
Some classes and methods here have departures from strict JDBC behavior that should be covered in their javadoc, or resolved; for now, comments in the code may be helpful in case of any question.
- Thomas Hallgren
Interface Summary Interface Description SPIReadOnlyControlAn extended interface on
unwrap()) allowing control of the
read_onlyflag that PostgreSQL SPI will see when the statement is next executed.
Class Summary Class Description AbstractResultSetThe
AbstractResultSetserves as a base class for implementations of the
AbstractResultSetMetaDataImplementation of ResultSetMetaData for SyntheticResultSet BlobValueImplementation of
Blobfor the SPI connection.
BuiltinFunctionsPostgreSQL builtin functions ClobValueImplementation of
Clobfor the SPI connection.
InvocationOne invocation, from PostgreSQL, of functionality implemented using PL/Java. ObjectResultSetImplements most getters in terms of
ObjectResultSet.getNumber(int, java.lang.Class), or a few other
ResultSetgetters that are so implemented, tracks
wasNull, and provides
ObjectResultSet.getObjectValue(int)as the chief method for subclasses to implement; turns most updaters into
PgNodeTreeAsXMLAn adapter presenting PostgreSQL's
pg_node_treetype (a serialized representation of a tree data structure) through the XML API (in, currently, an ad-hoc, schemaless rendering, but one with which some practical use might be made of the information, after a little study).
ReadOnlyResultSetImplements all methods that change the ResultSet in any way as methods that yield an
ResultSetBaseProvides methods that are common both for a SyntheticResultSet (which is not associated with a statement) and SPIResultSet. ResultSetFieldRepresentation of a field to be presented in a
SingleRowReaderA single row, read-only ResultSet, specially made for functions and procedures that takes complex types as arguments (PostgreSQL 7.5 and later). SingleRowResultSetA single row ResultSet SingleRowWriterA single row, updateable ResultSet, specially made for functions and procedures that returns complex types or sets. SPIConnectionProvides access to the current connection (session) the Java stored procedure is running in. SPIDatabaseMetaDataImplementation of
DatabaseMetaDatafor the SPI connection.
Driverfor the SPI connection.
ParameterMetaDatafor the SPI connection.
PreparedStatementfor the SPI connection.
SPIResultSetA Read-only ResultSet that provides direct access to a
SPIResultSetMetaDataImplementation of ResultSetMetaData for SPIResultSet SPIStatementImplementation of
Statementfor the SPI connection.
SQLInputFromChunkThe SQLInputToChunk uses JNI to read from memory that has been allocated by the PostgreSQL backend. SQLInputFromTupleImplements the
SQLInputinterface for a user-defined type (UDT) implemented in Java, for the case where a composite type in PostgreSQL is used as the UDT's representation, so it can be accessed as a PG tuple.
SQLOutputToChunkThe SQLOutputToChunk uses JNI to build a PostgreSQL StringInfo buffer in memory. SQLOutputToTupleImplementation of
SQLOutputfor the case of a composite data type.
SQLUtilsHelpful utility commands when dealing with JDBC SQLXMLImpl<V extends VarlenaWrapper>Implementation of
SQLXMLfor the SPI connection.
SyntheticResultSetA Synthetic ResultSet that provides direct access to data stored in a
ArrayList; chiefly used to return tabular information from
SyntheticResultSetMetaDataImplementation of ResultSetMetaData for SyntheticResultSet TriggerResultSetA single row, updateable ResultSet specially made for triggers. TypeBridge<S>Encapsulate some information about Java object classes and their possible mappings to PostgreSQL types. TypeOidProvides constants for well-known backend OIDs for the types we commonly use.