BUG #7574: CASE in WHERE condition change result set - Mailing list pgsql-bugs

From urvancevav@gmail.com
Subject BUG #7574: CASE in WHERE condition change result set
Date
Msg-id E1THWPC-0005CT-UG@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #7574: CASE in WHERE condition change result set  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-bugs
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.

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Corrupt view in PostgreSQL 9.0.9
Next
From: Mikael Kjellström
Date:
Subject: Re: Corrupt view in PostgreSQL 9.0.9