Definition at line 480 of file funccache.c.
487{
495
496
497
498
501 elog(
ERROR,
"cache lookup failed for function %u", funcOid);
503
504
505
506
507
508recheck:
510 {
511
516
517
519 }
520
522 {
523
527 else
528 {
529
530
531
532
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
550 {
553 goto recheck;
554 }
555 }
556 }
557
558
559
560
562 {
563
564
565
566
571
572
573
574
575
576
579 {
583 }
584 else
585 {
586
588 }
589
590
591
592
593
594
595
596
597
599 {
600
601
602
604 }
606 {
610 }
612
613
614
615
616
617
621
622
623
624
626 }
627
629
630
631
632
634}
#define Assert(condition)
static void compute_function_hashkey(FunctionCallInfo fcinfo, Form_pg_proc procStruct, CachedFunctionHashKey *hashkey, Size cacheEntrySize, bool includeResultType, bool forValidator)
static void cfunc_hashtable_insert(CachedFunction *function, CachedFunctionHashKey *func_key)
static CachedFunction * cfunc_hashtable_lookup(CachedFunctionHashKey *func_key)
static void delete_function(CachedFunction *func)
#define HeapTupleIsValid(tuple)
static TransactionId HeapTupleHeaderGetRawXmin(const HeapTupleHeaderData *tup)
static void * GETSTRUCT(const HeapTupleData *tuple)
bool ItemPointerEquals(const ItemPointerData *pointer1, const ItemPointerData *pointer2)
void * MemoryContextAllocZero(MemoryContext context, Size size)
void pfree(void *pointer)
MemoryContext TopMemoryContext
on_exit_nicely_callback function
END_CATALOG_STRUCT typedef FormData_pg_proc * Form_pg_proc
static Datum ObjectIdGetDatum(Oid X)
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache1(SysCacheIdentifier cacheId, Datum key1)
References Assert, cfunc_hashtable_insert(), cfunc_hashtable_lookup(), compute_function_hashkey(), delete_function(), elog, ERROR, fb(), FunctionCallInfoBaseData::flinfo, FmgrInfo::fn_oid, Form_pg_proc, function, GETSTRUCT(), HeapTupleHeaderGetRawXmin(), HeapTupleIsValid, ItemPointerEquals(), MemoryContextAllocZero(), ObjectIdGetDatum(), pfree(), PG_CATCH, PG_END_TRY, PG_RE_THROW, PG_TRY, ReleaseSysCache(), SearchSysCache1(), and TopMemoryContext.
Referenced by init_sql_fcache(), and plpgsql_compile().