Re: [HACKERS] Misleading Error Message - Mailing list pgsql-hackers

From jwieck@debis.com (Jan Wieck)
Subject Re: [HACKERS] Misleading Error Message
Date
Msg-id m10jIkC-000EBPC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to Re: [HACKERS] Misleading Error Message  (Bruce Momjian <maillist@candle.pha.pa.us>)
Responses Re: [HACKERS] Misleading Error Message  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
>
> > Hi all.  Was working tonight and ran into the following error.  Doing a
> > union between two selects (to get around the lack of outer joins - hint
> > hint), I was getting the error:
> >
> >         ERROR: Each UNION clause must have the same number of columns
> >
> > Upon examining the SQL statement in question, I verified that it did,
> > indeed, have the same number of columns.  After some fiddling, I found the
> > actual problem was that I was doing an ORDER BY on a column which was not
> > being included in the two select statements.  Unfortunately, the error
> > message wasn't pointing at that.
> >
> > I'm not sure if this is just a simple change or implies other problems
> > with the parser but I thought I'd toss it out onto the pile.
>
> Tom Lane discovered it a few days ago in relation to INSERT INTO table
> SELECT * FROM TABLE ORDER BY col1, and col1 was not in the select target
> list.  It shows an error.  We are looking at solutions.

    This  might  also  interfere with latest changes I did in the
    rewrite system. Parser and rewriter now add  junk  attributes
    to  the  targetlist.   I  think the problem is that the union
    code (where the check is done)  doesn't  recognize  that  the
    unequal  length of the targetlists is due to junk attributes.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#======================================== jwieck@debis.com (Jan Wieck) #

pgsql-hackers by date:

Previous
From: jwieck@debis.com (Jan Wieck)
Date:
Subject: Re: [HACKERS] rules regression test
Next
From: jwieck@debis.com (Jan Wieck)
Date:
Subject: Re: [HACKERS] select + order by