Re: [PERFORM] "WHERE 1 = 2 OR ..." makes planner choose a very inefficient plan

2013-05-02 Thread Claudio Freire
On Thu, May 2, 2013 at 9:48 AM, Simon Riggs wrote: >>> SELECT count(k0.id) >>> FROM k0 >>> WHERE 1 = 2 >>> OR k0.id IN ( >>> SELECT k1.k0_id >>> FROM k1 >>> WHERE k1.k1k2_id IN ( >>> SELECT k2.k1k2_id >>> FROM k2 >>> WHERE

Re: [PERFORM] "WHERE 1 = 2 OR ..." makes planner choose a very inefficient plan

2013-05-02 Thread Simon Riggs
On 18 April 2013 15:46, Tom Lane wrote: > dmitry potapov writes: >> I recently stumbled upon on what could be a planner bug or a corner case. >> If " OR ..." is added to WHERE clause of SELECT query, >> then the planner chooses a very inefficient plan. Consider a query: > >> SELECT count(k0.id) >

Re: [PERFORM] "WHERE 1 = 2 OR ..." makes planner choose a very inefficient plan

2013-04-18 Thread Tom Lane
dmitry potapov writes: > I recently stumbled upon on what could be a planner bug or a corner case. > If " OR ..." is added to WHERE clause of SELECT query, > then the planner chooses a very inefficient plan. Consider a query: > SELECT count(k0.id) > FROM k0 > WHERE 1 = 2 > OR k0.id IN ( >

Re: [PERFORM] "WHERE 1 = 2 OR ..." makes planner choose a very inefficient plan

2013-04-18 Thread Richard Huxton
On 18/04/13 15:20, dmitry potapov wrote: Hello, I recently stumbled upon on what could be a planner bug or a corner case. If " OR ..." is added to WHERE clause of SELECT query, then the planner chooses a very inefficient plan. Consider a query: If I comment out "1=2 OR", then the plan changes

[PERFORM] "WHERE 1 = 2 OR ..." makes planner choose a very inefficient plan

2013-04-18 Thread dmitry potapov
Hello, I recently stumbled upon on what could be a planner bug or a corner case. If " OR ..." is added to WHERE clause of SELECT query, then the planner chooses a very inefficient plan. Consider a query: SELECT count(k0.id) FROM k0 WHERE 1 = 2 OR k0.id IN ( SELECT k1.k0_id FRO