Re: [COMMITTERS] pgsql: Don't use OidIsValid to check the return value of - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [COMMITTERS] pgsql: Don't use OidIsValid to check the return value of
Date
Msg-id 17982.1229788556@sss.pgh.pa.us
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Don't use OidIsValid to check the return value of  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
heikki@postgresql.org (Heikki Linnakangas) writes:
> Don't use OidIsValid to check the return value of transformGenericOptions,
> because transformGenericOptions returns an array, not an Oid. I'm not
> sure if this fixes the crashes seen in buildfarm, but it should be fixed
> anyway.

Definitely a necessary fix, but you missed what I think is actually
causing the crashes:
         if (PointerIsValid(DatumGetPointer(datum)))
!             repl_val[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = ObjectIdGetDatum(datum);

should be
         if (PointerIsValid(DatumGetPointer(datum)))
!             repl_val[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = datum;

ObjectIdGetDatum probably is zeroing the high-order half of the pointer
datum.

I committed this along with some other cosmetic fixes.

Somebody still needs to fix the MSVC build scripts...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Markus Wanner
Date:
Subject: Re: Sync Rep: First Thoughts on Code
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any