postgres.git / summary / log / commit / refs

commit    cd115c3530bd59bb0305d62ccef1c9504207ff4c
Author:   Alexander Korotkov <akorotkov@postgresql.org>
Date:     Sun Apr 23 10:55:49 2023 +0000
First released in: 16.0, 13.11, 14.8, 15.3

    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


src/backend/access/common/reloptions.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c index 14c23101adf..90cb3951fca 100644 --- a/src/backend/access/common/reloptions.c +++ b/src/backend/access/common/reloptions.c @@ -1969,8 +1969,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); [parent: 0ec0e2095579]