git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 7eb559a) | patch
Fix ruleutils to cope with conflicts from adding/dropping/renaming columns.
2012年12月31日 20:13:26 +0000 (15:13 -0500)
2012年12月31日 20:13:26 +0000 (15:13 -0500)
commit 2ffa740be9d96a3743ecb7e42391c53d0760c65a
Fix ruleutils to cope with conflicts from adding/dropping/renaming columns.

In commit 11e131854f8231a21613f834c40fe9d046926387, we improved the
rule/view dumping code so that it would produce valid query representations
even if some of the tables involved in a query had been renamed since the
query was parsed. This patch extends that idea to fix problems that occur
when individual columns are renamed, or added or dropped. As before, the
core of the fix is to assign unique new aliases when a name conflict has
been created. This is complicated by the JOIN USING feature, which
requires the same column alias to be used in both input relations, but we
can handle that with a sufficiently complex approach to assigning aliases.

A fortiori, this patch takes care of situations where the query didn't have
unique column names to begin with, such as in a recent complaint from Bryan
Nuse. (Because of expansion of "SELECT *", re-parsing a dumped query can
require column name uniqueness even though the original text did not.)
src/backend/commands/explain.c diff | blob | blame | history
src/backend/commands/typecmds.c diff | blob | blame | history
src/backend/utils/adt/ruleutils.c diff | blob | blame | history
src/test/regress/expected/create_view.out diff | blob | blame | history
src/test/regress/sql/create_view.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /