Re: check_recovery_target_lsn() does a PG_CATCH without a throw
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Sergei Kornilov <sk@zsrv.org>
Cc: Andres Freund <andres@anarazel.de>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>,
Peter Eisentraut <peter_e@gmx.net>
Date: 2019-06-11T14:49:28Z
Lists: pgsql-hackers
Sergei Kornilov <sk@zsrv.org> writes: >> That's not OK. > hmm. Did you mean catching only needed errors by errcode? Something like attached? No, he means you can't EVER catch an error and not re-throw it, unless you do a full (sub)transaction abort and cleanup instead of re-throwing. We've been around on this repeatedly because people want to believe they can take shortcuts. (See e.g. discussions for the jsonpath stuff.) It doesn't reliably work to do so, and we have a project policy against trying, and this code should never have been committed in this state. regards, tom lane
Commits
-
Don't call data type input functions in GUC check hooks
- 21f428ebde39 12.0 landed