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

Tom Lane <tgl@sss.pgh.pa.us>

Commit: bc2d716ad09fceeb391c755f78c256ddac9d3b9f
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2017-07-12T22:00:04Z
Releases: 10.0
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.

Files