Interface RegProcedure<M extends RegProcedure.Memo<M>>
- Type Parameters:
M
- distinguishesRegProcedure
instances used for different known purposes, by specifying the type of a 'memo' that could be attached to the instance, perhaps with extra information helpful for the intended use. At present, such memo interfaces are all empty, but still this parameter can serve a compile-time role to discourage mixing different procedures up.
- All Superinterfaces:
CatalogObject
,CatalogObject.AccessControlled<org.postgresql.pljava.model.CatalogObject.EXECUTE>
,CatalogObject.Addressed<RegProcedure<?>>
,CatalogObject.Named<Lexicals.Identifier.Simple>
,CatalogObject.Namespaced<Lexicals.Identifier.Simple>
,CatalogObject.Owned
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
static interface
Counterpart to the PostgreSQLFunctionCallInfoBaseData
.static enum
static interface
Counterpart to the PostgreSQLFmgrInfo
.static interface
RegProcedure.Memo<M extends RegProcedure.Memo<M>>
static interface
Nested classes/interfaces inherited from interface org.postgresql.pljava.model.CatalogObject
CatalogObject.AccessControlled<T extends CatalogObject.Grant>, CatalogObject.Addressed<T extends CatalogObject.Addressed<T>>, CatalogObject.Component, CatalogObject.Grant, CatalogObject.Named<T extends Lexicals.Identifier.Unqualified<T>>, CatalogObject.Namespaced<T extends Lexicals.Identifier.Unqualified<T>>, CatalogObject.Owned
-
Field Summary
Fields inherited from interface org.postgresql.pljava.model.CatalogObject
InvalidOid
-
Method Summary
Modifier and TypeMethodDescriptionApg_node_tree
representation of a list of n expression trees, corresponding to the last n input arguments (that is, the last n returned byargTypes
).argModes()
Modes corresponding 1-for-1 to the arguments inallArgTypes
.argNames()
Names corresponding 1-for-1 to the arguments inallArgTypes
.argTypes()
bin()
config()
This is surely a list ofguc=value
pairs and ought to have a more specific return type.float
cost()
effects()
kind()
The kind of procedure or function.language()
boolean
memo()
Obtain memo attached to thisRegProcedure
, if any.parallel()
boolean
float
rows()
security()
sqlBody()
Apg_node_tree
representation of a pre-parsed SQL function body, used when it is given in SQL-standard notation rather than as a string literal, otherwise null.src()
support()
A planner-support function that may transform call sites of this function.Methods inherited from interface org.postgresql.pljava.model.CatalogObject
isValid, of, oid
Methods inherited from interface org.postgresql.pljava.model.CatalogObject.AccessControlled
grants, grants
Methods inherited from interface org.postgresql.pljava.model.CatalogObject.Addressed
classId, exists, shared
Methods inherited from interface org.postgresql.pljava.model.CatalogObject.Named
name
Methods inherited from interface org.postgresql.pljava.model.CatalogObject.Namespaced
namespace, namespaceName, qualifiedName
Methods inherited from interface org.postgresql.pljava.model.CatalogObject.Owned
owner
-
Field Details
-
CLASSID
-
-
Method Details
-
language
ProceduralLanguage language() -
cost
float cost() -
rows
float rows() -
variadicType
RegType variadicType() -
support
RegProcedure<RegProcedure.PlannerSupport> support()A planner-support function that may transform call sites of this function.In PG 9.5 to 11, there was a similar, but less flexible, "transform" function that this method can return when running on those versions.
- Since:
- PG 12
-
kind
RegProcedure.Kind kind()The kind of procedure or function.Before PG 11, there were separate booleans to indicate an aggregate or window function, which this method can consult when running on earlier versions.
- Since:
- PG 11
-
security
Function.Security security() -
leakproof
boolean leakproof() -
onNullInput
Function.OnNullInput onNullInput() -
returnsSet
boolean returnsSet() -
effects
Function.Effects effects() -
parallel
Function.Parallel parallel() -
returnType
RegType returnType() -
argTypes
-
allArgTypes
-
argModes
List<RegProcedure.ArgMode> argModes()Modes corresponding 1-for-1 to the arguments inallArgTypes
. -
argNames
List<Lexicals.Identifier.Simple> argNames()Names corresponding 1-for-1 to the arguments inallArgTypes
. -
argDefaults
SQLXML argDefaults()Apg_node_tree
representation of a list of n expression trees, corresponding to the last n input arguments (that is, the last n returned byargTypes
). -
transformTypes
-
src
String src() -
bin
String bin() -
sqlBody
SQLXML sqlBody()Apg_node_tree
representation of a pre-parsed SQL function body, used when it is given in SQL-standard notation rather than as a string literal, otherwise null.- Since:
- PG 14
-
config
This is surely a list ofguc=value
pairs and ought to have a more specific return type.XXX
-
memo
M memo()Obtain memo attached to thisRegProcedure
, if any.A
RegProcedure
may have an implementation ofMemo
attached, providing additional information on what sort of procedure it is and how to use it. Many catalog getters that returnRegProcedure
specialize the return type to indicate an expected subinterface ofMemo
.It may not be the case that a given
RegProcedure
has a validMemo
attached at all times. Documentation for a specificMemo
subinterface should explain the circumstances when this method can be called to rely on a memo of that type.
-