From 3153b1a52f8f2d1efe67306257aec15aaaf9e94c Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 29 Jul 2016 12:06:18 -0400 Subject: Eliminate a few more user-visible "cache lookup failed" errors. Michael Paquier --- src/backend/utils/adt/ruleutils.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/backend/utils/adt/ruleutils.c') diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 51c765ad877..80f0def75d5 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -2238,11 +2238,11 @@ pg_get_function_arguments(PG_FUNCTION_ARGS) StringInfoData buf; HeapTuple proctup; - initStringInfo(&buf); - proctup = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcid)); if (!HeapTupleIsValid(proctup)) - elog(ERROR, "cache lookup failed for function %u", funcid); + PG_RETURN_NULL(); + + initStringInfo(&buf); (void) print_function_arguments(&buf, proctup, false, true); @@ -2264,11 +2264,11 @@ pg_get_function_identity_arguments(PG_FUNCTION_ARGS) StringInfoData buf; HeapTuple proctup; - initStringInfo(&buf); - proctup = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcid)); if (!HeapTupleIsValid(proctup)) - elog(ERROR, "cache lookup failed for function %u", funcid); + PG_RETURN_NULL(); + + initStringInfo(&buf); (void) print_function_arguments(&buf, proctup, false, false); @@ -2289,11 +2289,11 @@ pg_get_function_result(PG_FUNCTION_ARGS) StringInfoData buf; HeapTuple proctup; - initStringInfo(&buf); - proctup = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcid)); if (!HeapTupleIsValid(proctup)) - elog(ERROR, "cache lookup failed for function %u", funcid); + PG_RETURN_NULL(); + + initStringInfo(&buf); print_function_rettype(&buf, proctup); @@ -2547,7 +2547,7 @@ pg_get_function_arg_default(PG_FUNCTION_ARGS) proctup = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcid)); if (!HeapTupleIsValid(proctup)) - elog(ERROR, "cache lookup failed for function %u", funcid); + PG_RETURN_NULL(); numargs = get_func_arg_info(proctup, &argtypes, &argnames, &argmodes); if (nth_arg < 1 || nth_arg > numargs || !is_input_argument(nth_arg - 1, argmodes)) -- cgit v1.2.3