From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: When a relation has been proven empty by constraint exclusion, |
Date: | 2008-03-24 21:53:12 |
Message-ID: | 20080324215312.669C17558DC@cvs.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
When a relation has been proven empty by constraint exclusion, propagate that
knowledge up through any joins it participates in. We were doing that already
in some special cases but not in the general case. Also, defend against zero
row estimates for the input relations in cost_mergejoin --- this fix may have
eliminated the only scenario in which that can happen, but be safe. Per
report from Alex Solovey.
Tags:
----
REL8_3_STABLE
Modified Files:
--------------
pgsql/src/backend/optimizer/path:
allpaths.c (r1.168 -> r1.168.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.168&r2=1.168.2.1)
costsize.c (r1.191 -> r1.191.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c?r1=1.191&r2=1.191.2.1)
joinpath.c (r1.115 -> r1.115.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinpath.c?r1=1.115&r2=1.115.2.1)
joinrels.c (r1.91 -> r1.91.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinrels.c?r1=1.91&r2=1.91.2.1)
pgsql/src/include/nodes:
relation.h (r1.154 -> r1.154.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h?r1=1.154&r2=1.154.2.1)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2008-03-24 23:46:21 | pgsql: Add to TODO: > > * Allow xml arrays to be cast to other data |
Previous Message | Tom Lane | 2008-03-24 21:53:04 | pgsql: When a relation has been proven empty by constraint exclusion, |