Обсуждение: BUG #7574: CASE in WHERE condition change result set
The following bug has been logged on the website:
Bug reference: 7574
Logged by: Andrei
Email address: urvancevav@gmail.com
PostgreSQL version: 9.2.1
Operating system: 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:16:45
Description: =
in query like this:
select
departure0_.departure_id as departure1_87_,
-- a lot of other fields
-- ...
case =
when departure0_1_.departure_id is not null then 1 =
when departure0_.departure_id is not null then 0 =
end as clazz_ =
from
departure departure0_ =
left outer join
local_inv_departure departure0_1_ =
on departure0_.departure_id=3Ddeparture0_1_.departure_id =
where
case =
when departure0_1_.departure_id is not null then 1 =
when departure0_.departure_id is not null then 0 =
end=3D0
CASE operator in the WHERE condition actually sets clazz_ to 0 instead of
filtering it.
Excerpts from urvancevav's message of vie sep 28 05:58:42 -0300 2012: > The following bug has been logged on the website: >=20 > Bug reference: 7574 > Logged by: Andrei > Email address: urvancevav@gmail.com > PostgreSQL version: 9.2.1 > Operating system: 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:16:45 > Description: =20 >=20 > in query like this: > [ snipped ] > CASE operator in the WHERE condition actually sets clazz_ to 0 instead = of > filtering it. Can you please provide a complete example? That would be something that someone else can load into an empty database and observe the failure. --=20 =C3=81lvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services