Re: [HACKERS] Misleading Error Message

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: Jan Wieck <jwieck(at)debis(dot)com>
Cc: kmunn(at)munn(dot)com, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Misleading Error Message
Date: 1999-05-17 18:22:27
Message-ID: 199905171822.OAA24442@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.

I have added code to the parser and rewrite checks to skip counting of
resjunk nodes in checking for UNION length equality. This should fix
the problem.

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-05-17 18:23:00 Re: [HACKERS] Misleading Error Message
Previous Message Bruce Momjian 1999-05-17 16:34:32 Re: [HACKERS] 6.5 cvs: problem with includes in src/interfaces/l