Restructure soft-error handling in formatting.c.
Replace the error trapping scheme introduced in 5bc450629 with our
shiny new errsave/ereturn mechanism. This doesn't have any real
functional impact (although I think that the new coding is able
to report a few more errors softly than v15 did). And I doubt
there's any measurable performance difference either. But this
gets rid of an ad-hoc, one-of-a-kind design in favor of a mechanism
that will be widely used going forward, so it should be a net win
for code readability.
Discussion: https://postgr.es/m/3bbbb0df-7382-bf87-9737-340ba096e034@postgrespro.ru
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/4dd687502d9eb0b2984c36579c2fcf5283adfa7c
Modified Files
--------------
src/backend/utils/adt/formatting.c | 666 ++++++++++++++++------------------
src/backend/utils/adt/jsonpath_exec.c | 12 +-
src/include/utils/formatting.h | 2 +-
3 files changed, 322 insertions(+), 358 deletions(-)