]> 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)
commita2320b3374db8400123b01335fe691fa89d7ed7b
treebffe023c2ff7a846de908f886aa28292f6886195
parent852902822e04f842244aaf67f2e7fede23f5b6b0
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