Thread: pgsql: Fix a bug in the original implementation of redundant-join-clause

pgsql: Fix a bug in the original implementation of redundant-join-clause

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Fix a bug in the original implementation of redundant-join-clause removal:
clauses in which one side or the other references both sides of the join
cannot be removed as redundant, because that expression won't have been
constrained below the join.  Per report from Sergey Burladyan.

Tags:
----
REL8_0_STABLE

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        indxpath.c (r1.167.4.3 -> r1.167.4.4)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.167.4.3&r2=1.167.4.4)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.175 -> r1.175.4.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.175&r2=1.175.4.1)
    pgsql/src/backend/optimizer/util:
        relnode.c (r1.64 -> r1.64.4.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.64&r2=1.64.4.1)
        restrictinfo.c (r1.31 -> r1.31.4.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.31&r2=1.31.4.1)
    pgsql/src/include/optimizer:
        restrictinfo.h (r1.26 -> r1.26.4.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/restrictinfo.h.diff?r1=1.26&r2=1.26.4.1)
    pgsql/src/test/regress/expected:
        join.out (r1.22.4.2 -> r1.22.4.3)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/join.out.diff?r1=1.22.4.2&r2=1.22.4.3)
        join_1.out (r1.3.2.2 -> r1.3.2.3)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/join_1.out.diff?r1=1.3.2.2&r2=1.3.2.3)
    pgsql/src/test/regress/sql:
        join.sql (r1.15 -> r1.15.4.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/join.sql.diff?r1=1.15&r2=1.15.4.1)