/* *Thisstructureholdsalistofpossiblefunctionsoroperators *foundbynamespacelookup.Eachfunction/operatorisidentified *byOIDandbyargumenttypes;thelistmustbeprunedbytype *resolutionrulesthatareembodiedintheparser,nothere. *SeeFuncnameGetCandidates'scommentsformoreinfo.
*/ typedefstruct _FuncCandidateList
{ struct _FuncCandidateList *next; int pathpos; /* for internal use of namespace lookup */
Oid oid; /* the function or operator's OID */ int nominalnargs; /* either pronargs or length(proallargtypes) */ int nargs; /* number of arg types returned */ int nvargs; /* number of args to become variadic array */ int ndargs; /* number of defaulted args */ int *argnumbers; /* args' positional indexes, if named call */
Oid args[FLEXIBLE_ARRAY_MEMBER]; /* arg types */
} *FuncCandidateList;
/* *ResultofcheckTempNamespaceStatus
*/ typedefenum TempNamespaceStatus
{
TEMP_NAMESPACE_NOT_TEMP, /* nonexistent, or non-temp namespace */
TEMP_NAMESPACE_IDLE, /* exists, belongs to no active session */
TEMP_NAMESPACE_IN_USE, /* belongs to some active session */
} TempNamespaceStatus;
/* *StructureforxxxSearchPathMatcherfunctions * *Thegenerationcounterisprivatetonamespace.candshouldn'tbetouched *byothercode.Itcanbeinitializedtozeroifnecessary(thatmeans *"notknownequaltothecurrentactivepath").
*/ typedefstruct SearchPathMatcher
{
List *schemas; /* OIDs of explicitly named schemas */ bool addCatalog; /* implicitly prepend pg_catalog? */ bool addTemp; /* implicitly prepend temp schema? */
uint64 generation; /* for quick detection of equality to active */
} SearchPathMatcher;
/* *OptionflagbitsforRangeVarGetRelidExtended().
*/ typedefenum RVROption
{
RVR_MISSING_OK = 1 << 0, /* don't error if relation doesn't exist */
RVR_NOWAIT = 1 << 1, /* error if relation cannot be locked */
RVR_SKIP_LOCKED = 1 << 2, /* skip if relation cannot be locked */
} RVROption;
typedefvoid (*RangeVarGetRelidCallback) (const RangeVar *relation, Oid relId,
Oid oldRelId, void *callback_arg);
extern Oid RangeVarGetRelidExtended(const RangeVar *relation,
LOCKMODE lockmode, uint32 flags,
RangeVarGetRelidCallback callback, void *callback_arg); extern Oid RangeVarGetCreationNamespace(const RangeVar *newRelation); extern Oid RangeVarGetAndCheckCreationNamespace(RangeVar *relation,
LOCKMODE lockmode,
Oid *existing_relation_id); externvoid RangeVarAdjustRelationPersistence(RangeVar *newRelation, Oid nspid); extern Oid RelnameGetRelid(constchar *relname); externbool RelationIsVisible(Oid relid);
extern Oid TypenameGetTypid(constchar *typname); extern Oid TypenameGetTypidExtended(constchar *typname, bool temp_ok); externbool TypeIsVisible(Oid typid);
extern FuncCandidateList FuncnameGetCandidates(List *names, int nargs, List *argnames, bool expand_variadic, bool expand_defaults, bool include_out_arguments, bool missing_ok); externbool FunctionIsVisible(Oid funcid);
extern Oid OpernameGetOprid(List *names, Oid oprleft, Oid oprright); extern FuncCandidateList OpernameGetCandidates(List *names, char oprkind, bool missing_schema_ok); externbool OperatorIsVisible(Oid oprid);
extern Oid OpclassnameGetOpcid(Oid amid, constchar *opcname); externbool OpclassIsVisible(Oid opcid);
extern Oid OpfamilynameGetOpfid(Oid amid, constchar *opfname); externbool OpfamilyIsVisible(Oid opfid);
extern Oid CollationGetCollid(constchar *collname); externbool CollationIsVisible(Oid collid);
extern Oid ConversionGetConid(constchar *conname); externbool ConversionIsVisible(Oid conid);
extern Oid get_statistics_object_oid(List *names, bool missing_ok); externbool StatisticsObjIsVisible(Oid stxid);
extern Oid get_ts_parser_oid(List *names, bool missing_ok); externbool TSParserIsVisible(Oid prsId);
extern Oid get_ts_dict_oid(List *names, bool missing_ok); externbool TSDictionaryIsVisible(Oid dictId);
extern Oid get_ts_template_oid(List *names, bool missing_ok); externbool TSTemplateIsVisible(Oid tmplId);
extern Oid get_ts_config_oid(List *names, bool missing_ok); externbool TSConfigIsVisible(Oid cfgid);
externvoid DeconstructQualifiedName(const List *names, char **nspname_p, char **objname_p); extern Oid LookupNamespaceNoError(constchar *nspname); extern Oid LookupExplicitNamespace(constchar *nspname, bool missing_ok); extern Oid get_namespace_oid(constchar *nspname, bool missing_ok);
extern Oid LookupCreationNamespace(constchar *nspname); externvoid CheckSetNamespace(Oid oldNspOid, Oid nspOid); extern Oid QualifiedNameGetCreationNamespace(const List *names, char **objname_p); extern RangeVar *makeRangeVarFromNameList(const List *names); externchar *NameListToString(const List *names); externchar *NameListToQuotedString(const List *names);
extern List *fetch_search_path(bool includeImplicit); externint fetch_search_path_array(Oid *sarray, int sarray_len);
#endif/* NAMESPACE_H */
Messung V0.5 in Prozent
¤ 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.0.0Bemerkung:
(vorverarbeitet am 2026-08-08)
¤
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.