postgresql/src/test
Tom Lane d9874fde89 Ensure that pg_get_ruledef()'s output matches pg_get_viewdef()'s.
Various cases involving renaming of view columns are handled by having
make_viewdef pass down the view's current relation tupledesc to
get_query_def, which then takes care to use the column names from the
tupledesc for the output column names of the SELECT.  For some reason
though, we'd missed teaching make_ruledef to do similarly when it is
printing an ON SELECT rule, even though this is exactly the same case.
The results from pg_get_ruledef would then be different and arguably wrong.
In particular, this breaks pre-v10 versions of pg_dump, which in some
situations would define views by means of emitting a CREATE RULE ... ON
SELECT command.  Third-party tools might not be happy either.

In passing, clean up some crufty code in make_viewdef; we'd apparently
modernized the equivalent code in make_ruledef somewhere along the way,
and missed this copy.

Per report from Gilles Darold.  Back-patch to all supported versions.

Discussion: https://postgr.es/m/ec05659a-40ff-4510-fc45-ca9d965d0838@dalibo.com
2017-07-24 15:16:31 -04:00
..
examples Include <sys/select.h> where needed 2016-09-27 01:05:21 -03:00
isolation Fix typos in comments. 2017-02-06 11:34:32 +02:00
locale Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:48 -04:00
mb Lots of doc corrections. 2012-04-23 22:43:09 -04:00
performance Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:48 -04:00
regress Ensure that pg_get_ruledef()'s output matches pg_get_viewdef()'s. 2017-07-24 15:16:31 -04:00
thread Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
Makefile Add isolation test to check-world and installcheck-world 2012-03-05 20:19:20 +02:00