pgsql: Remove PLPGSQL_DTYPE_ARRAYELEM datum type within pl/pgsql.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove PLPGSQL_DTYPE_ARRAYELEM datum type within pl/pgsql.
Date: 2021-01-04 17:39:40
Message-ID: E1kwTpU-0000yV-QM@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove PLPGSQL_DTYPE_ARRAYELEM datum type within pl/pgsql.

In the wake of the previous commit, we don't really need this anymore,
since array assignment is primarily handled by the core code.

The only way that that code could still be reached is that a GET
DIAGNOSTICS target variable could be an array element. But that
doesn't seem like a particularly essential feature. I'd added it
in commit 55caaaeba, but just because it was easy not because
anyone had actually asked for it. Hence, revert that patch and
then remove the now-unreachable stuff. (If we really had to,
we could probably reimplement GET DIAGNOSTICS using the new
assignment machinery; but the cost/benefit ratio looks very poor,
and it'd likely be a bit slower.)

Note that PLPGSQL_DTYPE_RECFIELD remains. It's possible that we
could get rid of that too, but maintaining the existing behaviors
for RECORD-type variables seems like it might be difficult. Since
there's not any functional limitation in those code paths as there
was in the ARRAYELEM code, I've not pursued the idea.

Discussion: https://postgr.es/m/4165684.1607707277@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1788828d33516809fa2d842bf6e273d78e21d957

Modified Files
--------------
src/pl/plpgsql/src/pl_exec.c | 204 +---------------------------------
src/pl/plpgsql/src/pl_funcs.c | 9 --
src/pl/plpgsql/src/pl_gram.y | 52 +++------
src/pl/plpgsql/src/plpgsql.h | 27 +----
src/test/regress/expected/plpgsql.out | 10 +-
src/test/regress/sql/plpgsql.sql | 10 +-
6 files changed, 26 insertions(+), 286 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2021-01-04 22:43:51 pgsql: Remove unused function prototypes.
Previous Message Michael Paquier 2021-01-04 10:49:21 pgsql: Simplify some comments in xml.c