diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2014-05-01 20:22:37 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2014-05-01 20:22:37 -0400 |
commit | 91e16b980612d80de1017e97e9f206239afb9026 (patch) | |
tree | 8966bf3bf74707fbae03afd4c952dfcf8d61ffc4 /src/backend/access/gist/gistutil.c | |
parent | 4c8aa8b5aea1e032f569222d4b6c1019e84622dc (diff) | |
download | postgresql-91e16b980612d80de1017e97e9f206239afb9026.tar.gz postgresql-91e16b980612d80de1017e97e9f206239afb9026.zip |
Fix yet another corner case in dumping rules/views with USING clauses.
ruleutils.c tries to cope with additions/deletions/renamings of columns in
tables referenced by views, by means of adding machine-generated aliases to
the printed form of a view when needed to preserve the original semantics.
A recent blog post by Marko Tiikkaja pointed out a case I'd missed though:
if one input of a join with USING is itself a join, there is nothing to
stop the user from adding a column of the same name as the USING column to
whichever side of the sub-join didn't provide the USING column. And then
there'll be an error when the view is re-parsed, since now the sub-join
exposes two columns matching the USING specification. We were catching a
lot of related cases, but not this one, so add some logic to cope with it.
Back-patch to 9.3, which is the first release that makes any serious
attempt to cope with such cases (cf commit 2ffa740be and follow-ons).
Diffstat (limited to 'src/backend/access/gist/gistutil.c')
0 files changed, 0 insertions, 0 deletions