/* *Symbolicvaluesforprovolatilecolumn:theseindicatewhethertheresult *ofafunctionisdependent*only*onthevaluesofitsexplicitarguments, *orcanchangeduetooutsidefactors(suchasparametervariablesor *tablecontents).NOTE:functionshavingside-effects,suchassetval(), *mustbelabeledvolatiletoensuretheywillnotgetoptimizedaway, *eveniftheactualreturnvalueisnotchangeable.
*/ #define PROVOLATILE_IMMUTABLE 'i'/* never changes for given input */ #define PROVOLATILE_STABLE 's'/* does not change within a scan */ #define PROVOLATILE_VOLATILE 'v'/* can change even within a scan */
/* *Symbolicvaluesforproparallelcolumn:theseindicatewhetherafunction *canbesafelyberuninaparallelbackend,duringparallelismbut *necessarilyintheleader,oronlyinnon-parallelmode.
*/ #define PROPARALLEL_SAFE 's'/* can run in worker or leader */ #define PROPARALLEL_RESTRICTED 'r'/* can run in parallel leader only */ #define PROPARALLEL_UNSAFE 'u'/* banned while in parallel mode */
extern ObjectAddress ProcedureCreate(constchar *procedureName,
Oid procNamespace, bool replace, bool returnsSet,
Oid returnType,
Oid proowner,
Oid languageObjectId,
Oid languageValidator, constchar *prosrc, constchar *probin,
Node *prosqlbody, char prokind, bool security_definer, bool isLeakProof, bool isStrict, char volatility, char parallel,
oidvector *parameterTypes,
Datum allParameterTypes,
Datum parameterModes,
Datum parameterNames,
List *parameterDefaults,
Datum trftypes,
List *trfoids,
Datum proconfig,
Oid prosupport,
float4 procost,
float4 prorows);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.