0001-Fix-custom-validators-call-in-build_local_relopti-v5.patch

application/octet-stream

Filename: 0001-Fix-custom-validators-call-in-build_local_relopti-v5.patch
Type: application/octet-stream
Part: 0
Message: Re: BUG #17847: Unaligned memory access in ltree_gist

Patch

Format: format-patch
Series: patch v5-0001
Subject: Fix custom validators call in build_local_reloptions()
File+
src/backend/access/common/reloptions.c 3 2
From 147b765134a7eb96f8082766a04828aff5d6d15d Mon Sep 17 00:00:00 2001
From: Alexander Korotkov <akorotkov@postgresql.org>
Date: Wed, 19 Apr 2023 19:11:13 +0300
Subject: [PATCH 1/2] Fix custom validators call in build_local_reloptions()

We need to call them only when validate == true.
---
 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);
-- 
2.37.1 (Apple Git-137.1)