Ooops ... 6.5 coding wasn't quite right anymore. Should learn
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 30 Oct 1999 02:35:14 +0000 (02:35 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 30 Oct 1999 02:35:14 +0000 (02:35 +0000)
never to commit without running regress tests...

src/backend/executor/nodeAgg.c

index d2002d67d4986ad85c6b1d6310065cc0c2e0f613..0956af455f1347061cbf3faee2e5c92fe82bb501 100644 (file)
@@ -11,7 +11,7 @@
  *   SQL aggregates. (Do not expect POSTQUEL semantics.)    -- ay 2/95
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/executor/nodeAgg.c,v 1.58 1999/10/30 01:18:16 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/executor/nodeAgg.c,v 1.59 1999/10/30 02:35:14 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -434,11 +434,15 @@ ExecAgg(Agg *node)
 
                tupType = aggstate->csstate.css_ScanTupleSlot->ttc_tupleDescriptor;
                tupValue = projInfo->pi_tupValue;
-               null_array = (char *) palloc(sizeof(char) * tupType->natts);
-               for (attnum = 0; attnum < tupType->natts; attnum++)
-                   null_array[attnum] = 'n';
-               inputTuple = heap_formtuple(tupType, tupValue, null_array);
-               pfree(null_array);
+               /* watch out for null input tuples, though... */
+               if (tupType && tupValue)
+               {
+                   null_array = (char *) palloc(sizeof(char)*tupType->natts);
+                   for (attnum = 0; attnum < tupType->natts; attnum++)
+                       null_array[attnum] = 'n';
+                   inputTuple = heap_formtuple(tupType, tupValue, null_array);
+                   pfree(null_array);
+               }
            }
        }