pgsql: Repair bug #4926 "too few pathkeys for mergeclauses".

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Repair bug #4926 "too few pathkeys for mergeclauses".
Date: 2009-07-17 23:20:15
Message-ID: 20090717232015.A66A4753336@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Repair bug #4926 "too few pathkeys for mergeclauses". This example shows
that the sanity checking I added to create_mergejoin_plan() in 8.3 was a
few bricks shy of a load: the mergeclauses could reference pathkeys in a
noncanonical order such as x,y,x, not only cases like x,x,y which is all
that the code had allowed for. The odd cases only turn up when using
redundant clauses in an outer join condition, which is why no one had
noticed before.

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
pgsql/src/backend/optimizer/path:
pathkeys.c (r1.93 -> r1.93.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/pathkeys.c?r1=1.93&r2=1.93.2.1)
pgsql/src/backend/optimizer/plan:
createplan.c (r1.237.2.1 -> r1.237.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.237.2.1&r2=1.237.2.2)
pgsql/src/test/regress/expected:
join.out (r1.33.2.1 -> r1.33.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/join.out?r1=1.33.2.1&r2=1.33.2.2)
join_1.out (r1.15.2.1 -> r1.15.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/join_1.out?r1=1.15.2.1&r2=1.15.2.2)
pgsql/src/test/regress/sql:
join.sql (r1.24.2.1 -> r1.24.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/join.sql?r1=1.24.2.1&r2=1.24.2.2)

Browse pgsql-committers by date

  From Date Subject
Next Message User Bmomjian 2009-07-18 00:14:02 pg-migrator - pg_migrator: Stamp 8.4.1 alpha1, mention known bugs
Previous Message Tom Lane 2009-07-17 23:19:59 pgsql: Repair bug #4926 "too few pathkeys for mergeclauses".