PostgreSQL function volatility classification. Determines cacheability and side effects.
- immutable : Volatility
- stable : Volatility
- volatile : Volatility
Instances For
Equations
- PostgREST.SchemaCache.instBEqVolatility.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Transaction isolation level for a routine.
- readCommitted : IsolationLevel
- repeatableRead : IsolationLevel
- serializable : IsolationLevel
Instances For
Equations
- PostgREST.SchemaCache.instBEqIsolationLevel.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- PostgREST.SchemaCache.instBEqParamMode.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
- PostgREST.SchemaCache.instBEqRoutineParam.beq x✝¹ x✝ = false
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Return type of a PostgreSQL function.
- single
(typeName : String)
: RoutineReturnType
Returns a single value of the given type.
- setof
(typeName : String)
: RoutineReturnType
Returns a set of rows (SETOF).
- void : RoutineReturnType
Returns void (procedure or RETURNS VOID).
Instances For
Equations
- PostgREST.SchemaCache.instBEqRoutineReturnType.beq (PostgREST.SchemaCache.RoutineReturnType.single a) (PostgREST.SchemaCache.RoutineReturnType.single b) = (a == b)
- PostgREST.SchemaCache.instBEqRoutineReturnType.beq (PostgREST.SchemaCache.RoutineReturnType.setof a) (PostgREST.SchemaCache.RoutineReturnType.setof b) = (a == b)
- PostgREST.SchemaCache.instBEqRoutineReturnType.beq PostgREST.SchemaCache.RoutineReturnType.void PostgREST.SchemaCache.RoutineReturnType.void = true
- PostgREST.SchemaCache.instBEqRoutineReturnType.beq x✝¹ x✝ = false
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Does this return type produce multiple rows?
Instances For
A PostgreSQL function or procedure. $$\text{Routine} = \{ \text{schema}, \text{name}, \text{params}, \text{returnType}, \text{volatility} \}$$
- funcSchema : Identifiers.Schema
Function schema.
- funcName : Identifiers.FunctionName
Function name.
Human-readable description.
- funcParams : Array RoutineParam
Function parameters.
- funcReturnType : RoutineReturnType
Return type.
- funcVolatility : Volatility
Volatility classification.
- funcIsoLevel : Option IsolationLevel
Transaction isolation level (if specified).
- funcReturnsComposite : Bool
Whether the function returns a composite type (TABLE / record).
The OID of the return type (for composite type column discovery).
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Get the qualified identifier for a routine.
Instances For
Get the required parameter names.
Equations
- r.requiredParams = Array.map (fun (x : PostgREST.SchemaCache.RoutineParam) => x.ppName) (Array.filter (fun (x : PostgREST.SchemaCache.RoutineParam) => x.ppRequired) r.funcParams)
Instances For
Whether this routine can be called with a GET request (only immutable/stable functions).
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
isSafeForGet is true if and only if the volatility is not .volatile.
$$\text{isSafeForGet}(r) = \text{true} \iff r.\text{funcVolatility} \neq \text{volatile}$$
This witnesses that only immutable and stable functions are safe for GET.