mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
> > Prevent sorting if result is already sorted
> > > > was implemented by Jan Wieck. > > His work is for ascending order cases. > > > > Here is a patch to prevent sorting also in descending > > order cases. > > Because I had already changed _bt_first() to position > > backward correctly before v6.5,this patch would work. > > Hiroshi Inoue Inoue@tpf.co.jp
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.89 1999/07/27 03:51:07 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.90 1999/08/09 06:20:23 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -238,6 +238,7 @@ _copyIndexScan(IndexScan *from)
|
||||
newnode->indxid = listCopy(from->indxid);
|
||||
Node_Copy(from, newnode, indxqual);
|
||||
Node_Copy(from, newnode, indxqualorig);
|
||||
newnode->indxorderdir = from->indxorderdir;
|
||||
|
||||
return newnode;
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.45 1999/07/29 02:45:36 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.46 1999/08/09 06:20:24 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -437,6 +437,9 @@ _equalIndexScan(IndexScan *a, IndexScan *b)
|
||||
if (a->scan.scanrelid != b->scan.scanrelid)
|
||||
return false;
|
||||
|
||||
if (a->indxorderdir != b->indxorderdir)
|
||||
return false;
|
||||
|
||||
if (!equali(a->indxid, b->indxid))
|
||||
return false;
|
||||
return true;
|
||||
|
@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: outfuncs.c,v 1.91 1999/07/24 23:21:07 tgl Exp $
|
||||
* $Id: outfuncs.c,v 1.92 1999/08/09 06:20:24 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Every (plan) node in POSTGRES has an associated "out" routine which
|
||||
@ -445,6 +445,7 @@ _outIndexScan(StringInfo str, IndexScan *node)
|
||||
appendStringInfo(str, " :indxqualorig ");
|
||||
_outNode(str, node->indxqualorig);
|
||||
|
||||
appendStringInfo(str, " :indxorderdir %d ", node->indxorderdir);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.70 1999/07/24 23:21:08 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.71 1999/08/09 06:20:24 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Most of the read functions for plan nodes are tested. (In fact, they
|
||||
@ -532,6 +532,11 @@ _readIndexScan()
|
||||
token = lsptok(NULL, &length); /* eat :indxqualorig */
|
||||
local_node->indxqualorig = nodeRead(true); /* now read it */
|
||||
|
||||
token = lsptok(NULL, &length); /* eat :indxorderdir */
|
||||
token = lsptok(NULL, &length); /* get indxorderdir */
|
||||
|
||||
local_node->indxorderdir = atoi(token);
|
||||
|
||||
return local_node;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user