Re: syntax
| От | Tom Lane |
|---|---|
| Тема | Re: syntax |
| Дата | |
| Msg-id | 11404.972765701@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: syntax ("Kevin O'Gorman" <kogorman@pacbell.net>) |
| Ответы |
Re: syntax
|
| Список | pgsql-hackers |
"Kevin O'Gorman" <kogorman@pacbell.net> writes:
>> Don't you get shift/reduce errors if you remove those precedence specs?
>> I'd expect the <select_clause> grammar to be ambiguous without operator
>> precedence specs ...
> Yah. I would have thought so too. However, when I comment out the
> two %left lines (being careful not to dusturb line numbers) I get the
> absolutely identical gram.c output. So at least for those two things
> the associativity does nothing at all. I'm inclined to leave them commented
> out, so they don't mislead.
Not to put too fine a point on it, but are you talking about the
original grammar or your modified one? Your modified one is erroneous
because it will always associate successive UNION/INTERSECT/EXCEPT
operators left-to-right; this does not meet the SQL spec which insists
that INTERSECT binds more tightly than the other two. Given that, I'm
not surprised that the precedences have no effect.
> I don't see precedence in SQL92; set operations
> seem to be left associative of equal priority.
Better take another look at the <query expression>, <query term>,
<query primary> hierarchy then...
regards, tom lane
В списке pgsql-hackers по дате отправления: