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>
This commit is contained in:
Peter Eisentraut 2019-04-05 09:23:07 +02:00
parent 82150a05be
commit edda32ee25

View File

@ -836,23 +836,20 @@ char
get_attgenerated(Oid relid, AttrNumber attnum) get_attgenerated(Oid relid, AttrNumber attnum)
{ {
HeapTuple tp; HeapTuple tp;
Form_pg_attribute att_tup;
char result;
tp = SearchSysCache2(ATTNUM, tp = SearchSysCache2(ATTNUM,
ObjectIdGetDatum(relid), ObjectIdGetDatum(relid),
Int16GetDatum(attnum)); Int16GetDatum(attnum));
if (HeapTupleIsValid(tp)) if (!HeapTupleIsValid(tp))
{ elog(ERROR, "cache lookup failed for attribute %d of relation %u",
Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp); attnum, relid);
char result; att_tup = (Form_pg_attribute) GETSTRUCT(tp);
result = att_tup->attgenerated; result = att_tup->attgenerated;
ReleaseSysCache(tp); ReleaseSysCache(tp);
return result; return result;
} }
else
elog(ERROR, "cache lookup failed for attribute %d of relation %u",
attnum, relid);
}
/* /*
* get_atttype * get_atttype