Skip to content
Snippets Groups Projects
Commit 2e56fa86 authored by Tom Lane's avatar Tom Lane
Browse files

Call FDW validator functions even when the options list is empty.

This is useful since a validator might want to require certain options
to be provided.  The passed array is an empty text array in this case.

Per suggestion by Laurenz Albe, though this is not quite his patch.
parent 9a0bdc8d
Branches
Tags
No related merge requests found
......@@ -165,8 +165,18 @@ transformGenericOptions(Oid catalogId,
result = optionListToArray(resultOptions);
if (OidIsValid(fdwvalidator) && DatumGetPointer(result) != NULL)
OidFunctionCall2(fdwvalidator, result, ObjectIdGetDatum(catalogId));
if (OidIsValid(fdwvalidator))
{
Datum valarg = result;
/*
* Pass a null options list as an empty array, so that validators
* don't have to be declared non-strict to handle the case.
*/
if (DatumGetPointer(valarg) == NULL)
valarg = PointerGetDatum(construct_empty_array(TEXTOID));
OidFunctionCall2(fdwvalidator, valarg, ObjectIdGetDatum(catalogId));
}
return result;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment