Thread: pgsql: Fix assignment to array of domain over composite.
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_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/ae7b1dd5900156c3d58d88bf47532adcb27cca26 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(-)