postgresql/src/backend
Tom Lane 2ffa740be9 Fix ruleutils to cope with conflicts from adding/dropping/renaming columns.
In commit 11e131854f, 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.)
2012-12-31 15:13:26 -05:00
..
access Keep timeline history files restored from archive in pg_xlog. 2012-12-30 14:29:45 +02:00
bootstrap Add context info to OAT_POST_CREATE security hook 2012-10-23 18:24:24 -03:00
catalog Adjust many backend functions to return OID rather than void. 2012-12-23 18:37:58 -05:00
commands Fix ruleutils to cope with conflicts from adding/dropping/renaming columns. 2012-12-31 15:13:26 -05:00
executor Add defenses against integer overflow in dynahash numbuckets calculations. 2012-12-11 22:09:05 -05:00
foreign Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
lib Basic binary heap implementation. 2012-11-29 11:16:59 -05:00
libpq Attempt to un-break Windows builds with USE_LDAP. 2012-12-04 17:25:51 -05:00
main Unify calling conventions for postgres/postmaster sub-main functions 2012-06-25 21:30:12 +03:00
nodes Fix planning of non-strict equivalence clauses above outer joins. 2012-10-18 12:30:10 -04:00
optimizer Fix assorted bugs in CREATE/DROP INDEX CONCURRENTLY. 2012-11-28 21:26:01 -05:00
parser Prevent failure when RowExpr or XmlExpr is parse-analyzed twice. 2012-12-23 14:07:24 -05:00
po Translation updates 2011-08-17 14:07:46 +03:00
port Change test ExceptionalCondition to return void 2012-11-30 19:24:21 -03:00
postmaster Don't set ThisTimeLineID in checkpointer & bgwriter during recovery. 2012-12-20 14:39:04 +02:00
regex Prevent corner-case core dump in rfree(). 2012-07-15 13:27:54 -04:00
replication Remove obsolete XLogRecPtr macros 2012-12-28 13:06:15 -03:00
rewrite Adjust more backend functions to return OID rather than void. 2012-12-29 07:55:37 -05:00
snowball Remove configure flag --disable-shared, as it is no longer used by any 2012-08-30 16:26:53 -04:00
storage Fix performance problems with autovacuum truncation in busy workloads. 2012-12-11 14:33:08 -06:00
tcop Adjust more backend functions to return OID rather than void. 2012-12-29 07:55:37 -05:00
tsearch Fix logical errors in tsquery selectivity estimation for prefix queries. 2012-09-11 21:23:20 -04:00
utils Fix ruleutils to cope with conflicts from adding/dropping/renaming columns. 2012-12-31 15:13:26 -05:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
Makefile Fix PGXS support for building loadable modules on AIX. 2012-10-09 21:04:06 -04:00
nls.mk Sort file list when creating gettext-files 2011-12-27 20:20:56 +02:00