From 6562fa851e56e0eba456a1b8dde567b3183cea23 Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Fri, 19 Jul 1996 06:27:59 +0000
Subject: [PATCH] Fixes:

'select distinct on' causes backend to crash

submitted by: Chris Dunlop    chris@onthe.net.au
---
 src/backend/executor/nodeUnique.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/backend/executor/nodeUnique.c b/src/backend/executor/nodeUnique.c
index 8be0bd8497c..8e81b95d8a8 100644
--- a/src/backend/executor/nodeUnique.c
+++ b/src/backend/executor/nodeUnique.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.1.1.1 1996/07/09 06:21:27 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.2 1996/07/19 06:27:59 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -124,7 +124,7 @@ ExecUnique(Unique *node)
 
     if (uniqueAttr) {
       tupDesc = ExecGetResultType(uniquestate);
-      typoutput = typtoout((Oid)tupDesc->attrs[uniqueAttrNum]->atttypid);
+      typoutput = typtoout((Oid)tupDesc->attrs[uniqueAttrNum-1]->atttypid);
     }
       
     /* ----------------
@@ -174,8 +174,8 @@ ExecUnique(Unique *node)
 	  if (isNull1 == isNull2) {
 	    if (isNull1) /* both are null, they are equal */
 	      continue;
-	    val1 = fmgr(typoutput, attr1, gettypelem(tupDesc->attrs[uniqueAttrNum]->atttypid));
-	    val2 = fmgr(typoutput, attr2, gettypelem(tupDesc->attrs[uniqueAttrNum]->atttypid));
+	    val1 = fmgr(typoutput, attr1, gettypelem(tupDesc->attrs[uniqueAttrNum-1]->atttypid));
+	    val2 = fmgr(typoutput, attr2, gettypelem(tupDesc->attrs[uniqueAttrNum-1]->atttypid));
 	    /* now, val1 and val2 are ascii representations so we can
 	       use strcmp for comparison */
 	    if (strcmp(val1,val2) == 0) /* they are equal */
-- 
GitLab