java.lang.Object
org.postgresql.pljava.jdbc.Invocation
One invocation, from PostgreSQL, of functionality implemented using PL/Java.
This class is the Java counterpart of the struct Invocation_
in the
C code, but while there is a new stack-allocated C structure on every entry
from PG to PL/Java, no instance of this class is created unless requested
(with current()
; once requested, a reference to it is saved
in the C struct for the duration of the invocation.
One further piece of magic applies to set-returning functions. Under the
value-per-call protocol, there is technically a new entry into PL/Java, and
a new C Invocation_
struct, for every row to be returned, but that
low-level complication is hidden at this level: a single instance of this
class, if once requested, will be remembered throughout the value-per-call
sequence of calls.
- Author:
- Thomas Hallgren
-
Method Summary
Modifier and TypeMethodDescriptionstatic Invocation
current()
int
void
onExit
(boolean withError) Called from the backend when the invokation exits.
-
Method Details
-
getNestingLevel
public int getNestingLevel()- Returns:
- The nesting level of this invocation
-
onExit
Called from the backend when the invokation exits. Should not be invoked any other way.- Throws:
SQLException
-
current
- Returns:
- The current invocation
-