pgsql: Fix assignment to array of domain over composite.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix assignment to array of domain over composite.
Дата
Msg-id E1mctKI-0002cB-L1@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix assignment to array of domain over composite.

An update such as "UPDATE ... SET fld[n].subfld = whatever"
failed if the array elements were domains rather than plain
composites.  That's because isAssignmentIndirectionExpr()
failed to cope with the CoerceToDomain node that would appear
in the expression tree in this case.  The result would typically
be a crash, and even if we accidentally didn't crash, we'd not
correctly preserve other fields of the same array element.

Per report from Onder Kalaci.  Back-patch to v11 where arrays of
domains came in.

Discussion: https://postgr.es/m/PH0PR21MB132823A46AA36F0685B7A29AD8BD9@PH0PR21MB1328.namprd21.prod.outlook.com

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/0d08c279b0072fb0754ddc2b65eac0d61bade1d3

Modified Files
--------------
src/backend/executor/execExpr.c      | 19 ++++++++++++++-----
src/test/regress/expected/domain.out | 24 ++++++++++++++++++++++++
src/test/regress/sql/domain.sql      | 17 +++++++++++++++++
3 files changed, 55 insertions(+), 5 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Remove bogus assertion in transformExpressionList().
Следующее
От: Daniel Gustafsson
Дата:
Сообщение: pgsql: Refactor the sslfiles Makefile target for ease of use