TupleDesc tupdesc;
Datum values[4];
bool nulls[4];
- uint64 members;
- MultiXactId oldestMultiXactId;
- uint32 multixacts;
- MultiXactOffset oldestOffset;
- MultiXactOffset nextOffset;
- uint64 membersBytes;
if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("return type must be a row type")));
- GetMultiXactInfo(&multixacts, &nextOffset, &oldestMultiXactId, &oldestOffset);
- members = nextOffset - oldestOffset;
-
- membersBytes = MultiXactOffsetStorageSize(nextOffset, oldestOffset);
-
if (!has_privs_of_role(GetUserId(), ROLE_PG_READ_ALL_STATS))
{
/*
}
else
{
+ uint64 members;
+ MultiXactId oldestMultiXactId;
+ uint32 multixacts;
+ MultiXactOffset oldestOffset;
+ MultiXactOffset nextOffset;
+ uint64 membersBytes;
+
+ GetMultiXactInfo(&multixacts, &nextOffset, &oldestMultiXactId, &oldestOffset);
+ members = nextOffset - oldestOffset;
+ membersBytes = MultiXactOffsetStorageSize(nextOffset, oldestOffset);
+
values[0] = UInt32GetDatum(multixacts);
values[1] = Int64GetDatum(members);
values[2] = Int64GetDatum(membersBytes);