Sorry, I was wrong. For public user mapping userid is 0 (InvalidOid), which is returned as is in UserMapping object. I confused InvalidOid with -1. Sorry for the confusion.
On Tue, Feb 9, 2016 at 10:21 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> writes: > > Sorry to come to this late. > > The userid being printed is from UserMapping. The new API > > GetUserMappingById() allows an FDW to get user mapping by its OID. This > API > > is intended to be used by FDWs to fetch the user mapping inferred by the > > core for given join between foreign relations. In such user mapping > object > > , userid may be -1 for a public user mapping. > > If that is actually how it works, it's broken and I'm going to insist > on a redesign. There is nothing anywhere that says that 0xffffffff > is not a valid OID. > > regards, tom lane > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company