Interface TupleTableSlot

All Known Subinterfaces:
TupleTableSlot.Indexed

public interface TupleTableSlot
A PostgreSQL abstraction that can present a variety of underlying tuple representations in a common way.

PL/Java may take the liberty of extending this class to present even some other tuple-like things that are not native tuple forms to PostgreSQL.

A readable instance that relies on PostgreSQL's "deforming" can be constructed over any supported flavor of underlying tuple. Retrieving its values can involve JNI calls to the support functions in PostgreSQL. Its writable counterpart is also what must be used for constructing a tuple on the fly; after its values/nulls have been set (pure Java), it can be flattened (at the cost of a JNI call) to return a pass-by-reference Datum usable as a composite function argument or return value.

A specialized instance, with support only for reading, can be constructed over a PostgreSQL tuple in its widely-used 'heap' form. PL/Java knows that form well enough to walk it and retrieve values mostly without JNI calls.

A TupleTableSlot is not safe for concurrent use by multiple threads, in the absence of appropriate synchronization.