I wrote: > I think it might be better to keep the convention that an empty options > list is represented by null, and to say that if a validator wants to be > called on such a list, it had better declare itself non-strict. At > least we ought to think about that before redefining the catalog > semantics at this late hour.
Another possibility that just occurred to me is to call the validator like this: if (OidIsValid(fdwvalidator)) { Datum valarg = result; /* pass a null options list as an empty array */ if (DatumGetPointer(valarg) == NULL) valarg = construct_empty_array(TEXTOID); OidFunctionCall2(fdwvalidator, valarg, ObjectIdGetDatum(catalogId)); } This would avoid messing with the semantics of empty options lists throughout foreigncmds.c, and also avoid requiring validators to deal with null arguments. 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