From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Simplify more checks related to set-returning functions |
Date: | 2022-02-24 07:55:47 |
Message-ID: | E1nN8yY-0007iL-JO@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Simplify more checks related to set-returning functions
This makes more consistent the SRF-related checks in the area of
PL/pgSQL, PL/Perl, PL/Tcl, pageinspect and some of the JSON worker
functions, making it easier to grep for the same error patterns through
the code, reducing a bit the translation work.
It is worth noting that each_worker_jsonb()/each_worker() in jsonfuncs.c
and pageinspect's brin_page_items() were doing a check on expectedDesc
that is not required as they fetch their tuple descriptor directly from
get_call_result_type(). This looks like a set of copy-paste errors that
have spread over the years.
This commit is a continuation of the changes begun in 07daca5, for any
remaining code paths on sight. Like fcc2817, this makes the code more
consistent, easing the integration of a larger patch that will refactor
the way tuplestores are created and checked in a good portion of the
set-returning functions present in core.
I have worked my way through the changes of this patch by myself, and
Ranier has proposed the same changes in a different thread in parallel,
though there were some inconsistencies related in expectedDesc in what
was proposed by him.
Author: Michael Paquier, Ranier Vilela
Discussion: https://postgr.es/m/CAAKRu_azyd1Z3W_r7Ou4sorTjRCs+PxeHw1CWJeXKofkE6TuZg@mail.gmail.com
Discussion: https://postgr.es/m/CAEudQApm=AFuJjEHLBjBcJbxcw4pBMwg2sHwXyCXYcbBOj3hpg@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/e77216fcb021bb19d83b348db084adfe8d918118
Modified Files
--------------
contrib/pageinspect/brinfuncs.c | 3 +-
src/backend/utils/adt/jsonfuncs.c | 61 ++++++++++++++++++++++-----------------
src/pl/plperl/plperl.c | 11 ++++---
src/pl/plpgsql/src/pl_exec.c | 19 ++++++++----
src/pl/tcl/pltcl.c | 8 +++--
5 files changed, 63 insertions(+), 39 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2022-02-24 14:32:53 | pgsql: Fix data loss on crash after sorted GiST index build. |
Previous Message | Michael Paquier | 2022-02-24 07:12:02 | pgsql: Clean up and simplify code in a couple of set-returning function |