From: Tom Lane Date: Tue, 5 Aug 2008 21:28:54 +0000 (+0000) Subject: Do not allow Unique nodes to be scanned backwards. The code claimed that it X-Git-Tag: REL8_0_18~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f75a64077c3974e79df6a35d965ab41186f9876;p=thirdparty%2Fpostgresql.git Do not allow Unique nodes to be scanned backwards. The code claimed that it would work, but in fact it didn't return the same rows when moving backwards as when moving forwards. This would have no visible effect in a DISTINCT query (at least assuming the column datatypes use a strong definition of equality), but it gave entirely wrong answers for DISTINCT ON queries. --- diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c index 008768c3942..6f8f216605a 100644 --- a/src/backend/executor/execAmi.c +++ b/src/backend/executor/execAmi.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/executor/execAmi.c,v 1.82 2004/12/31 21:59:45 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execAmi.c,v 1.82.4.1 2008/08/05 21:28:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -338,9 +338,6 @@ ExecSupportsBackwardScan(Plan *node) case T_Sort: return true; - case T_Unique: - return ExecSupportsBackwardScan(outerPlan(node)); - case T_Limit: return ExecSupportsBackwardScan(outerPlan(node));