aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2019-04-05 09:23:07 +0200
committerPeter Eisentraut <peter@eisentraut.org>2019-04-05 09:23:07 +0200
commitedda32ee250fe480701083d4e072e06929991bf9 (patch)
tree36355d752b26572782e4e7acebc3252cbd5daffd
parent82150a05be0dc8a8ec708d1f6e6e1ef26c0e58d4 (diff)
downloadpostgresql-edda32ee250fe480701083d4e072e06929991bf9.tar.gz
postgresql-edda32ee250fe480701083d4e072e06929991bf9.zip
Fix compiler warning
Rewrite get_attgenerated() to avoid compiler warning if the compiler does not recognize that elog(ERROR) does not return. Reported-by: David Rowley <david.rowley@2ndquadrant.com>
-rw-r--r--src/backend/utils/cache/lsyscache.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c
index 10895567c09..b4f2d0f35ab 100644
--- a/src/backend/utils/cache/lsyscache.c
+++ b/src/backend/utils/cache/lsyscache.c
@@ -836,22 +836,19 @@ char
get_attgenerated(Oid relid, AttrNumber attnum)
{
HeapTuple tp;
+ Form_pg_attribute att_tup;
+ char result;
tp = SearchSysCache2(ATTNUM,
ObjectIdGetDatum(relid),
Int16GetDatum(attnum));
- if (HeapTupleIsValid(tp))
- {
- Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp);
- char result;
-
- result = att_tup->attgenerated;
- ReleaseSysCache(tp);
- return result;
- }
- else
+ if (!HeapTupleIsValid(tp))
elog(ERROR, "cache lookup failed for attribute %d of relation %u",
attnum, relid);
+ att_tup = (Form_pg_attribute) GETSTRUCT(tp);
+ result = att_tup->attgenerated;
+ ReleaseSysCache(tp);
+ return result;
}
/*