pgsql: Update docs & tests to reflect that unassigned OLD/NEW are nowN

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Update docs & tests to reflect that unassigned OLD/NEW are nowN
Дата
Msg-id E1ghGpF-0006Rl-IP@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Update docs & tests to reflect that unassigned OLD/NEW are now NULL.

For a long time, plpgsql has allowed trigger functions to parse
references to OLD and NEW even if the current trigger event type didn't
assign a value to one or the other variable; but actually executing such
a reference would fail.  The v11 changes to use "expanded records" for
DTYPE_REC variables changed the behavior so that the unassigned variable
now reads as a null composite value.  While this behavioral change was
more or less unintentional, it seems that leaving it like this is better
than adding code and complexity to be bug-compatible with the old way.
The change doesn't break any code that worked before, and it eliminates
a gotcha that often required extra code to work around.

Hence, update the docs to say that these variables are "null" not
"unassigned" when not relevant to the event type.  And add a regression
test covering the behavior, so that we'll notice if we ever break it
again.

Per report from Kristjan Tammekivi.

Discussion: https://postgr.es/m/CAABK7uL-uC9ZxKBXzo_68pKt7cECfNRv+c35CXZpjq6jCAzYYA@mail.gmail.com

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/312d21d8635065c14d392b4e5469e7abc03f2bde

Modified Files
--------------
doc/src/sgml/plpgsql.sgml                       |  4 +--
doc/src/sgml/release-11.sgml                    | 18 ++++++++++++-
src/pl/plpgsql/src/Makefile                     |  2 +-
src/pl/plpgsql/src/expected/plpgsql_trigger.out | 36 +++++++++++++++++++++++++
src/pl/plpgsql/src/pl_exec.c                    | 11 ++++----
src/pl/plpgsql/src/sql/plpgsql_trigger.sql      | 24 +++++++++++++++++
6 files changed, 86 insertions(+), 9 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Doc: update our docs about kernel IPC parameters on *BSD.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Reduce the size of the fmgr_builtin_oid_index[] array.