From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix another semijoin-ordering bug. |
Date: | 2009-07-21 02:02:51 |
Message-ID: | 20090721020251.D5AF775331E@cvs.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Fix another semijoin-ordering bug. We already knew that we couldn't
reorder a semijoin into or out of the righthand side of another semijoin,
but actually it doesn't work to reorder it into or out of the righthand
side of a left or antijoin, either. Per bug #4906 from Mathieu Fenniak.
This was sloppy thinking on my part. This identity does work:
( A left join B on (Pab) ) semijoin C on (Pac)
==
( A semijoin C on (Pac) ) left join B on (Pab)
but I failed to see that that doesn't mean this does:
( A left join B on (Pab) ) semijoin C on (Pbc)
!=
A left join ( B semijoin C on (Pbc) ) on (Pab)
Tags:
----
REL8_4_STABLE
Modified Files:
--------------
pgsql/src/backend/optimizer:
README (r1.49 -> r1.49.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/README?r1=1.49&r2=1.49.2.1)
pgsql/src/backend/optimizer/plan:
initsplan.c (r1.154 -> r1.154.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/initsplan.c?r1=1.154&r2=1.154.2.1)
From | Date | Subject | |
---|---|---|---|
Next Message | User Bmomjian | 2009-07-21 17:36:23 | pg-migrator - pg_migrator: Restructure return value handling from |
Previous Message | Tom Lane | 2009-07-21 02:02:44 | pgsql: Fix another semijoin-ordering bug. |