Re: BUG #13973: Constants resolved in then/else clauses - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #13973: Constants resolved in then/else clauses
Date
Msg-id 20160218165052.GA952091@alvherre.pgsql
Whole thread Raw
In response to BUG #13973: Constants resolved in then/else clauses  (harry.townsend@eflowglobal.com)
List pgsql-bugs
harry.townsend@eflowglobal.com wrote:
> The following bug has been logged on the website:
>
> Bug reference:      13973
> Logged by:          Harry Townsend
> Email address:      harry.townsend@eflowglobal.com
> PostgreSQL version: 9.1.20
> Operating system:   Windows Server 2008
> Description:
>
> I attempted to create a safety check in a query using a "case when"
> statement such that if the condition evaluated to false, it would return (1
> / 0) in order to nullify the entire transaction. With small conditions, this
> works fine. With larger ones, it seems that the constants in the "else"
> clause (didn't test for "then" clause) are evaluated before the condition,
> causing it to fail every time. If the "else" part requires a column value,
> it seems to force the condition to evaluate first though.

Can you show a complete example?

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgsql-bugs by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: BUG #13973: Constants resolved in then/else clauses
Next
From: "David G. Johnston"
Date:
Subject: Re: BUG #13972: jsonb_to_record cant map camelcase keys