pgsql: When a relation has been proven empty by constraint exclusion, - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: When a relation has been proven empty by constraint exclusion,
Date
Msg-id 20080324215312.669C17558DC@cvs.postgresql.org
Whole thread Raw
List 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)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: When a relation has been proven empty by constraint exclusion,
Next
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Add to TODO: > > * Allow xml arrays to be cast to other data