• T
    Fix ruleutils to cope with conflicts from adding/dropping/renaming columns. · 2ffa740b
    Tom Lane 提交于
    In commit 11e13185, 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.)
    2ffa740b
ruleutils.c 240.3 KB