pgsql: Fix assignment to array of domain over composite, redux.

2023-04-15 Thread Tom Lane
Fix assignment to array of domain over composite, redux. Commit 3e310d837 taught isAssignmentIndirectionExpr() to look through CoerceToDomain nodes. That's not sufficient, because since commit 04fe805a1 it's been possible for the planner to simplify CoerceToDomain to RelabelType when the domain h

pgsql: Fix assignment to array of domain over composite, redux.

2023-04-15 Thread Tom Lane
Fix assignment to array of domain over composite, redux. Commit 3e310d837 taught isAssignmentIndirectionExpr() to look through CoerceToDomain nodes. That's not sufficient, because since commit 04fe805a1 it's been possible for the planner to simplify CoerceToDomain to RelabelType when the domain h

pgsql: Fix assignment to array of domain over composite, redux.

2023-04-15 Thread Tom Lane
Fix assignment to array of domain over composite, redux. Commit 3e310d837 taught isAssignmentIndirectionExpr() to look through CoerceToDomain nodes. That's not sufficient, because since commit 04fe805a1 it's been possible for the planner to simplify CoerceToDomain to RelabelType when the domain h

pgsql: Fix assignment to array of domain over composite, redux.

2023-04-15 Thread Tom Lane
Fix assignment to array of domain over composite, redux. Commit 3e310d837 taught isAssignmentIndirectionExpr() to look through CoerceToDomain nodes. That's not sufficient, because since commit 04fe805a1 it's been possible for the planner to simplify CoerceToDomain to RelabelType when the domain h

pgsql: Fix assignment to array of domain over composite, redux.

2023-04-15 Thread Tom Lane
Fix assignment to array of domain over composite, redux. Commit 3e310d837 taught isAssignmentIndirectionExpr() to look through CoerceToDomain nodes. That's not sufficient, because since commit 04fe805a1 it's been possible for the planner to simplify CoerceToDomain to RelabelType when the domain h

pgsql: Fix assignment to array of domain over composite.

2021-10-19 Thread Tom Lane
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 e

pgsql: Fix assignment to array of domain over composite.

2021-10-19 Thread Tom Lane
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 e

pgsql: Fix assignment to array of domain over composite.

2021-10-19 Thread Tom Lane
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 e

pgsql: Fix assignment to array of domain over composite.

2021-10-19 Thread Tom Lane
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 e

pgsql: Fix assignment to array of domain over composite.

2021-10-19 Thread Tom Lane
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 e