From 20e11f29097603ae6156ba05477330de398eac80 Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Mon, 26 Jan 1998 00:21:02 +0000
Subject: [PATCH] From: Darren King <darrenk@insightdist.com>

I have always been under the impression that NULL is not equal to
NULL and that NULL is not equal to anything else either.  If this
is the case, then this patch is correct.

If NULL _is_ equal to NULL, then I think there are other problems
in the Group By logic.
---
 src/backend/executor/nodeGroup.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c
index 15ba3ed9417..196d347df43 100644
--- a/src/backend/executor/nodeGroup.c
+++ b/src/backend/executor/nodeGroup.c
@@ -13,7 +13,7 @@
  *	  columns. (ie. tuples from the same group are consecutive)
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.11 1997/10/27 12:00:43 vadim Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.12 1998/01/26 00:21:02 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -415,8 +415,11 @@ sameGroup(TupleTableSlot *oldslot,
 
 		if (isNull1 == isNull2)
 		{
-			if (isNull1)		/* both are null, they are equal */
-				continue;
+			/* both are null, they are _not_ equal since
+			 * NULL is not equal to NULL (or anything).
+			 *   --  25 Jan 1998  --  darrenk */
+			if (isNull1)
+				return FALSE;
 
 			val1 = fmgr(typoutput, attr1,
 						gettypelem(tupdesc->attrs[att - 1]->atttypid));
-- 
GitLab