]> granicus.if.org Git - postgresql/commit
Fix ruleutils.c for domain-over-array cases, too.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Jul 2017 22:00:04 +0000 (18:00 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Jul 2017 22:00:04 +0000 (18:00 -0400)
commitff2d5372235dae339cbfa04aa55a8458cd6bfab8
tree8a09b54e0198de5de18672a644b03fcafa1de29f
parentbbeec3c749bcbd9b75fc1f036979fed516f9a2c8
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.
src/backend/utils/adt/ruleutils.c
src/test/regress/expected/domain.out
src/test/regress/sql/domain.sql