~ubuntu-branches/ubuntu/hardy/postgresql-8.4/hardy-backports

« back to all changes in this revision

Viewing changes to src/backend/optimizer/path/joinpath.c

  • Committer: Bazaar Package Importer
  • Author(s): Ubuntu Archive Backport
  • Date: 2009-11-09 13:46:16 UTC
  • mfrom: (5.2.2 sid)
  • Revision ID: james.westby@ubuntu.com-20091109134616-ae14l9tr3g7p2t9y
Tags: 8.4.1-1~hardy1
Automated backport upload; no source changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
 *
9
9
 *
10
10
 * IDENTIFICATION
11
 
 *        $PostgreSQL: pgsql/src/backend/optimizer/path/joinpath.c,v 1.121 2009/02/05 01:24:55 tgl Exp $
 
11
 *        $PostgreSQL: pgsql/src/backend/optimizer/path/joinpath.c,v 1.122 2009/06/11 14:48:59 momjian Exp $
12
12
 *
13
13
 *-------------------------------------------------------------------------
14
14
 */
1022
1022
                 * Note: it would be bad if this condition failed for an otherwise
1023
1023
                 * mergejoinable FULL JOIN clause, since that would result in
1024
1024
                 * undesirable planner failure.  I believe that is not possible
1025
 
                 * however; a variable involved in a full join could only appear
1026
 
                 * in below_outer_join eclasses, which aren't considered redundant.
 
1025
                 * however; a variable involved in a full join could only appear in
 
1026
                 * below_outer_join eclasses, which aren't considered redundant.
1027
1027
                 *
1028
 
                 * This case *can* happen for left/right join clauses: the
1029
 
                 * outer-side variable could be equated to a constant.  Because we
1030
 
                 * will propagate that constant across the join clause, the loss of
1031
 
                 * ability to do a mergejoin is not really all that big a deal, and
1032
 
                 * so it's not clear that improving this is important.
 
1028
                 * This case *can* happen for left/right join clauses: the outer-side
 
1029
                 * variable could be equated to a constant.  Because we will propagate
 
1030
                 * that constant across the join clause, the loss of ability to do a
 
1031
                 * mergejoin is not really all that big a deal, and so it's not clear
 
1032
                 * that improving this is important.
1033
1033
                 */
1034
1034
                cache_mergeclause_eclasses(root, restrictinfo);
1035
1035