Fix custom validators call in build_local_reloptions()

We need to call them only when validate == true.

Backpatch to 13, where opclass options were introduced.

Reported-by: Tom Lane
Discussion: https://postgr.es/m/2656633.1681831542%40sss.pgh.pa.us
Reviewed-by: Tom Lane, Pavel Borisov
Backpatch-through: 13
This commit is contained in:
Alexander Korotkov 2023-04-23 13:55:49 +03:00
parent dde926b0f6
commit 9ef5a35837
1 changed files with 3 additions and 2 deletions

View File

@ -1963,8 +1963,9 @@ build_local_reloptions(local_relopts *relopts, Datum options, bool validate)
fillRelOptions(opts, relopts->relopt_struct_size, vals, noptions, validate,
elems, noptions);
foreach(lc, relopts->validators)
((relopts_validator) lfirst(lc)) (opts, vals, noptions);
if (validate)
foreach(lc, relopts->validators)
((relopts_validator) lfirst(lc)) (opts, vals, noptions);
if (elems)
pfree(elems);