Re: Parethesis don't work correctly in where clause
От | Casey Allen Shobe |
---|---|
Тема | Re: Parethesis don't work correctly in where clause |
Дата | |
Msg-id | 1720D5C9CF7AD411B30700010226ECC90832C3F9@atlexchange.internal.secureworks.net обсуждение исходный текст |
Ответ на | Parethesis don't work correctly in where clause (Casey Allen Shobe <cshobe@secureworks.com>) |
Список | pgsql-bugs |
Ahh, thank you. I completely missed that typo. I'm sorry for the bother with the false bug. I'm quite happy that there actually wasn't one :-). - Casey -----Original Message----- From: Oliver Elphick [mailto:olly@lfix.co.uk] Sent: 17. apr=EDl 2003 10:48 To: Casey Allen Shobe Cc: 'pgsql-bugs@postgresql.org' Subject: Re: [BUGS] Parethesis don't work correctly in where clause On Thu, 2003-04-17 at 09:23, Casey Allen Shobe wrote: > I have a query with: > where "n"."revision" =3D 2 ... > However, if I add: > and ( > "t"."name" =3D 'nibc' > and "n"."identifier" =3D 1274 > ) or ( > "t"."name" =3D 'client' > and "n"."identifier" =3D 383 > ) > PostgreSQL returns only the revision 2 tuple for nibc 1274, but also a > revision 1 tuple for client 383. ONLY things matching revision 2 should be > found, but for some reason the "n"."revision" =3D 2 isn't being applied > globally, but only to the first set of parenthesis. This is simply a matter of boolean logic and the precedence of the AND and OR operators. If you instead force the operator precedence and add=20 and (( "t"."name" =3D 'nibc' and "n"."identifier" =3D 1274 ) or ( "t"."name" =3D 'client' and "n"."identifier" =3D 383 )) it should work, no? --=20 Oliver Elphick Oliver.Elphick@lfix.co.uk Isle of Wight, UK http://www.lfix.co.uk/oliver GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D "But as many as received him, to them gave he power to=20 become the sons of God, even to them that believe on=20 his name." John 1:12=20
В списке pgsql-bugs по дате отправления: