Fix ruleutils.c for domain-over-array cases, too.
Further investigation shows that ruleutils isn't quite up to speed either
for cases where we have a domain-over-array: it needs to be prepared to
look past a CoerceToDomain at the top level of field and element
assignments, else it decompiles them incorrectly. Potentially this would
result in failure to dump/reload a rule, if it looked like the one in the
new test case. (I also added a test for EXPLAIN; that output isn't broken,
but clearly we need more test coverage here.)
Like commit b1cb32fb6, this bug is reachable in cases we already support,
so back-patch all the way.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/bc2d716ad09fceeb391c755f78c256ddac9d3b9f
Modified Files
--------------
src/backend/utils/adt/ruleutils.c | 41 ++++++++++++++++++++++++++++++++----
src/test/regress/expected/domain.out | 41 ++++++++++++++++++++++++++++++------
src/test/regress/sql/domain.sql | 11 +++++++++-
3 files changed, 81 insertions(+), 12 deletions(-)