Re: check_recovery_target_lsn() does a PG_CATCH without a throw
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org,
Tom Lane <tgl@sss.pgh.pa.us>
Date: 2019-06-30T09:06:58Z
Lists: pgsql-hackers
This has been committed. On 2019-06-24 06:06, Michael Paquier wrote: > I have been looking at this patch set. Patch 0001 looks good to me. > You are removing all traces of a set of timestamp keywords not > supported anymore, and no objections from my side for this cleanup. > > +#define MAXPG_LSNCOMPONENT 8 > + > static bool > check_recovery_target_lsn(char **newval, void **extra, GucSource source) > Let's avoid the duplication for the declarations. I would suggest to > move the definitions of MAXPG_LSNLEN and MAXPG_LSNCOMPONENT to > pg_lsn.h. Funny part, I was actually in need of this definition a > couple of days ago for a LSN string in a frontend tool. I would > suggest renames at the same time: > - PG_LSN_LEN > - PG_LSN_COMPONENT I ended up rewriting this by extracting the parsing code into pg_lsn_in_internal() and having both pg_lsn_in() and check_recovery_target_lsn() calling it. This mirrors similar arrangements in float.c -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Don't call data type input functions in GUC check hooks
- 21f428ebde39 12.0 landed