Re: [HACKERS] INTERSECT in gram.y again

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: Michael(dot)Meskes(at)usa(dot)net (Michael Meskes)
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] INTERSECT in gram.y again
Date: 1999-01-22 19:34:52
Message-ID: 199901221934.OAA17586@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Thu, Jan 21, 1999 at 03:08:20PM -0500, Bruce Momjian wrote:
> > > I still wonder if the for-update-tests in SelectStmt: are okay. Shouldn't
> > > the test check for intersect_present=TRUE instead of intersectClause !=
> > > NULL?
> >
> > Looks like they are the same. Both are true or false.
>
> But I think intersectClause is set to op regardless if there is an intersect
> clause at all. Or did I miss something?

As far as I can tell, The 'else' part of the query only gets executed in
the case of UNION, EXCEPT, or INTERCEPT. Because FOR UPDATE is invalid
in all these cases, the intersectClause being non-NULL is an OK test,
though, as you point out, it is not accurate. I have modified gram.y to
check just for unionClause:

if (n->unionClause != NULL)
elog(ERROR, "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT claus$

and removed the intersectClause test. Thanks for pointing this out.

--
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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Meskes 1999-01-22 19:39:51 Re: [HACKERS] ecpg docs
Previous Message Jan Wieck 1999-01-22 19:03:16 Re: [HACKERS] about RULES