pgsql: Fix a conceptual error in my patch of 2007-10-26 that avoided

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix a conceptual error in my patch of 2007-10-26 that avoided
Date: 2008-01-11 04:02:18
Message-ID: 20080111040218.8B44E754108@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix a conceptual error in my patch of 2007-10-26 that avoided considering
clauseless joins of relations that have unexploited join clauses. Rather
than looking at every other base relation in the query, the correct thing is
to examine the other relations in the "initial_rels" list of the current
make_rel_from_joinlist() invocation, because those are what we actually have
the ability to join against. This might be a subset of the whole query in
cases where join_collapse_limit or from_collapse_limit or full joins have
prevented merging the whole query into a single join problem. This is a bit
untidy because we have to pass those rels down through a new PlannerInfo
field, but it's necessary. Per bug #3865 from Oleg Kharin.

Modified Files:
--------------
pgsql/src/backend/optimizer/path:
allpaths.c (r1.167 -> r1.168)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.167&r2=1.168)
joinrels.c (r1.90 -> r1.91)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinrels.c?r1=1.90&r2=1.91)
pgsql/src/backend/optimizer/plan:
planmain.c (r1.105 -> r1.106)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planmain.c?r1=1.105&r2=1.106)
pgsql/src/include/nodes:
relation.h (r1.153 -> r1.154)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h?r1=1.153&r2=1.154)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-01-11 04:02:26 pgsql: Fix a conceptual error in my patch of 2007-10-26 that avoided
Previous Message Tom Lane 2008-01-11 00:54:09 pgsql: Restructure the shutdown procedure for the archiver process to