|
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(), pfree(), PG_CATCH, PG_END_TRY, PG_RE_THROW, PG_TRY, 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().