From: Tom Lane Date: Tue, 5 Aug 2008 21:29:01 +0000 (+0000) Subject: Do not allow Unique nodes to be scanned backwards. The code claimed that it X-Git-Tag: REL7_4_22~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45b8e6ed687c7a7c595d116ecb6fe898041fd7c5;p=postgresql 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 ca7797a37e..6de11be5b1 100644 --- a/src/backend/executor/execAmi.c +++ b/src/backend/executor/execAmi.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.75.4.2 2004/03/02 18:56:28 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.75.4.3 2008/08/05 21:29:01 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));