hei...@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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to