Operator Precedence problem? - Mailing list pgsql-sql

From Philip Warner
Subject Operator Precedence problem?
Date
Msg-id 3.0.5.32.20000812154918.01f4e1d0@mail.rhyme.com.au
Whole thread Raw
Responses Re: Operator Precedence problem?  (John McKown <jmckown@prodigy.net>)
Re: Operator Precedence problem?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Operator Precedence problem?  (Jesus Aneiros <aneiros@jagua.cfg.sld.cu>)
List pgsql-sql
I have a peculiar problem that I can't reproduce on a trivial database:

select product, priority, count(*) as completed from issue 
where   product = 'DIS'    and create_date < '1-Aug-2000' and finish_date >= '1-Aug-2000' or
finish_date is null
group by product, priority;

This produces a list of all products - not just 'DIS'. If I put the last
two clauses in parnthesis, then it works as expected:

select product, priority, count(*) as completed from issue 
where   product = 'DIS'    and create_date < '1-Aug-2000' and (finish_date >= '1-Aug-2000' or
finish_date is null)
group by product, priority;

Which makes me think that the precedence of 'or' is not what I expected. Is
this a feature? If so, the fact that I get precisely the opposite behaviour
in simple test databases must be a bug, I think.

Any help or explanation would be appreciated...



----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 0500 83 82 82         |                 ___________ |
Http://www.rhyme.com.au          |                /           \|                                |    --________--
PGP key available upon request,  |  /
and from pgp5.ai.mit.edu:11371   |/


pgsql-sql by date:

Previous
From: John McKown
Date:
Subject: Re: Week of the Year?
Next
From: John McKown
Date:
Subject: Re: Week of the Year?