Re: BUG #3308: Nested outer join gives wrong results

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "George Sakkis" <george(dot)sakkis(at)gmail(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3308: Nested outer join gives wrong results
Date: 2007-05-25 21:21:52
Message-ID: 22156.1180128112@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"George Sakkis" <george(dot)sakkis(at)gmail(dot)com> writes:
> SELECT *
> FROM (
> SELECT query.id as q_id
> FROM ranker, run, query
> WHERE ranker.id = 72 AND
> run.id = ranker.run_id AND
> query.set_id = run.set_id
> ) AS t1
> LEFT JOIN (
> SELECT serp_result.q_id
> FROM serp_result LEFT OUTER JOIN editor_rating using (q_id,norm_url)
> WHERE serp_result.ranker_id = 72 AND
> serp_result.rank <= 1
> AND editor_rating.grade is null
> ) AS t2 USING (q_id)

This query looks like it's probably affected by the same bug reported a
couple days ago:
http://archives.postgresql.org/pgsql-bugs/2007-05/msg00187.php
and patched here:
http://archives.postgresql.org/pgsql-committers/2007-05/msg00305.php

The "WHERE editor_rating.grade is null" bit prevents the two outer joins
from being re-ordered, but released 8.2.x versions fail to notice that.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Dmitry Dmitriev 2007-05-26 06:04:23 BUG #3309: The limitation for number of connection with ODBC driver
Previous Message George Sakkis 2007-05-25 20:24:40 BUG #3308: Nested outer join gives wrong results