PostgreSQL Source Code git master
|
Go to the source code of this file.
Data Structures | |
struct | CachedFunctionHashKey |
struct | CachedFunction |
Typedefs | |
typedef void(* | CachedFunctionCompileCallback) (FunctionCallInfo fcinfo, HeapTuple procTup, const struct CachedFunctionHashKey *hashkey, struct CachedFunction *function, bool forValidator) |
typedef void(* | CachedFunctionDeleteCallback) (struct CachedFunction *cfunc) |
typedef struct CachedFunctionHashKey | CachedFunctionHashKey |
typedef struct CachedFunction | CachedFunction |
Functions | |
CachedFunction * | cached_function_compile (FunctionCallInfo fcinfo, CachedFunction *function, CachedFunctionCompileCallback ccallback, CachedFunctionDeleteCallback dcallback, Size cacheEntrySize, bool includeResultType, bool forValidator) |
void | cfunc_resolve_polymorphic_argtypes (int numargs, Oid *argtypes, char *argmodes, Node *call_expr, bool forValidator, const char *proname) |
typedef struct CachedFunction CachedFunction |
typedef void(* CachedFunctionCompileCallback) (FunctionCallInfo fcinfo, HeapTuple procTup, const struct CachedFunctionHashKey *hashkey, struct CachedFunction *function, bool forValidator) |
Definition at line 35 of file funccache.h.
typedef void(* CachedFunctionDeleteCallback) (struct CachedFunction *cfunc) |
Definition at line 45 of file funccache.h.
typedef struct CachedFunctionHashKey CachedFunctionHashKey |
CachedFunction * cached_function_compile | ( | FunctionCallInfo | fcinfo, |
CachedFunction * | function, | ||
CachedFunctionCompileCallback | ccallback, | ||
CachedFunctionDeleteCallback | dcallback, | ||
Size | cacheEntrySize, | ||
bool | includeResultType, | ||
bool | forValidator | ||
) |
Definition at line 480 of file funccache.c.
References Assert(), cfunc_hashtable_insert(), cfunc_hashtable_lookup(), compute_function_hashkey(), delete_function(), elog, ERROR, FunctionCallInfoBaseData::flinfo, FmgrInfo::fn_oid, function, GETSTRUCT(), HeapTupleHeaderGetRawXmin(), HeapTupleIsValid, ItemPointerEquals(), MemoryContextAllocZero(), ObjectIdGetDatum(), ReleaseSysCache(), SearchSysCache1(), HeapTupleData::t_data, HeapTupleData::t_self, and TopMemoryContext.
Referenced by init_sql_fcache(), and plpgsql_compile().
void cfunc_resolve_polymorphic_argtypes | ( | int | numargs, |
Oid * | argtypes, | ||
char * | argmodes, | ||
Node * | call_expr, | ||
bool | forValidator, | ||
const char * | proname | ||
) |
Definition at line 348 of file funccache.c.
References ereport, errcode(), errmsg(), ERROR, get_call_expr_argtype(), i, OidIsValid, proname, and resolve_polymorphic_argtypes().
Referenced by compute_function_hashkey(), and plpgsql_compile_callback().