On Fri, Apr 30, 2021 at 2:49 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:
> Looking into this again, why not as shown below? IMHO, this way the
> code will be logically the same as it was before the patch, basically
> why to process an extra statement ( *volatility_item = defel;) if we
> have already decided to error.
I changed my mind given the concerns raised on removing the goto
statements. We could just do as below:
diff --git a/src/backend/commands/functioncmds.c
b/src/backend/commands/functioncmds.c
index 9548287217..1f1c74c379 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -575,7 +575,7 @@ compute_common_attribute(ParseState *pstate,
duplicate_error:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("conflicting or redundant options"),
+ errmsg("option \"%s\" specified more than once", defel->defname),
parser_errposition(pstate, defel->location)));
return false; /* keep compiler quiet */
I'm not attaching above one line change as a patch, maybe Vignesh can
merge this into the main patch.
With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com