Re: Bug #691: CREATE TABLE AS ignores explicit column names with UNION

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Bug #691: CREATE TABLE AS ignores explicit column names with UNION
Дата
Msg-id 15643.1023934286@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Bug #691: CREATE TABLE AS ignores explicit column names with UNION  (pgsql-bugs@postgresql.org)
Список pgsql-bugs
pgsql-bugs@postgresql.org writes:
> CREATE TABLE AS ignores explicitly specified column names when the query contains a UNION.  This is illustrated in
theexample below. 

Good catch!  If you need a fix immediately, I think the attached patch
will do the trick.  (Line numbers are for current sources, but it should
patch cleanly into 7.2.*)  I have not tested it extensively though, so
there might be side-effects...

            regards, tom lane

*** src/backend/parser/analyze.c.orig    Tue May 28 18:15:42 2002
--- src/backend/parser/analyze.c    Wed Jun 12 21:49:56 2002
***************
*** 2212,2219 ****
--- 2212,2227 ----
          qry->isBinary = FALSE;
      }

+     /*
+      * Any column names from CREATE TABLE AS need to be attached to both the
+      * top level and the leftmost subquery.  We do not do this earlier
+      * because we do *not* want the targetnames list to be affected.
+      */
      if (intoColNames)
+     {
          applyColumnNames(qry->targetList, intoColNames);
+         applyColumnNames(leftmostQuery->targetList, intoColNames);
+     }

      /*
       * As a first step towards supporting sort clauses that are

В списке pgsql-bugs по дате отправления:

Предыдущее
От: pgsql-bugs@postgresql.org
Дата:
Сообщение: Bug #691: CREATE TABLE AS ignores explicit column names with UNION
Следующее
От: lewwid
Дата:
Сообщение: to_date problem.