Thread: pgsql: Fix another semijoin-ordering bug.
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)