git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: c9d5298) | patch
Remove PLPGSQL_DTYPE_ARRAYELEM datum type within pl/pgsql.
Mon, 4 Jan 2021 17:14:37 +0000 (12:14 -0500)
Mon, 4 Jan 2021 17:14:37 +0000 (12:14 -0500)
commit 1788828d33516809fa2d842bf6e273d78e21d957
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
src/pl/plpgsql/src/pl_exec.c diff | blob | blame | history
src/pl/plpgsql/src/pl_funcs.c diff | blob | blame | history
src/pl/plpgsql/src/pl_gram.y diff | blob | blame | history
src/pl/plpgsql/src/plpgsql.h diff | blob | blame | history
src/test/regress/expected/plpgsql.out diff | blob | blame | history
src/test/regress/sql/plpgsql.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /