pgsql: Fix ruleutils.c for domain-over-array cases, too.

Started by Tom Lanealmost 9 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

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(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers