pgsql: Restore the former RestrictInfo field valid_everywhere (but

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Restore the former RestrictInfo field valid_everywhere (but
Date: 2005-11-14 23:54:38
Message-ID: 20051114235438.52105DB685@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Restore the former RestrictInfo field valid_everywhere (but invert the flag
sense and rename to "outerjoin_delayed" to more clearly reflect what it
means). I had decided that it was redundant in 8.1, but the folly of this
is exposed by a bug report from Sebastian Bck. The place where it's
needed is to prevent orindxpath.c from cherry-picking arms of an outer-join
OR clause to form a relation restriction that isn't actually legal to push
down to the relation scan level. There may be some legal cases that this
forbids optimizing, but we'd need much closer analysis to determine it.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
pgsql/src/backend/nodes:
copyfuncs.c (r1.316 -> r1.316.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.316&r2=1.316.2.1)
equalfuncs.c (r1.253 -> r1.253.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.253&r2=1.253.2.1)
outfuncs.c (r1.261 -> r1.261.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.261&r2=1.261.2.1)
pgsql/src/backend/optimizer/path:
indxpath.c (r1.191 -> r1.191.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.191&r2=1.191.2.1)
orindxpath.c (r1.75 -> r1.75.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/orindxpath.c.diff?r1=1.75&r2=1.75.2.1)
pgsql/src/backend/optimizer/plan:
initsplan.c (r1.110 -> r1.110.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/initsplan.c.diff?r1=1.110&r2=1.110.2.1)
pgsql/src/backend/optimizer/util:
restrictinfo.c (r1.41 -> r1.41.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.41&r2=1.41.2.1)
pgsql/src/include/nodes:
relation.h (r1.119 -> r1.119.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.119&r2=1.119.2.1)
pgsql/src/include/optimizer:
restrictinfo.h (r1.34 -> r1.34.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/restrictinfo.h.diff?r1=1.34&r2=1.34.2.1)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2005-11-15 00:43:01 pgsql: Fix recent problems with BSD indent, including indenting past 80
Previous Message Tom Lane 2005-11-14 23:54:23 pgsql: Restore the former RestrictInfo field valid_everywhere (but