Reversed out Massimo patch.
authorBruce Momjian
Sat, 12 Jun 1999 14:07:33 +0000 (14:07 +0000)
committerBruce Momjian
Sat, 12 Jun 1999 14:07:33 +0000 (14:07 +0000)
src/backend/access/common/heaptuple.c
src/backend/executor/nodeAgg.c
src/backend/utils/misc/trace.c
src/backend/utils/mmgr/portalmem.c
src/include/utils/portal.h
src/include/utils/trace.h

index 9fa0097a936a8df076ceebf601893424ee48f641..626ffd14570302442054d5038a55b5e87e625606 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.52 1999/06/12 14:05:36 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.53 1999/06/12 14:07:20 momjian Exp $
  *
  * NOTES
  *   The old interface functions have been converted to macros
 #include 
 #include 
 
-#ifdef FREE_TUPLE_MEMORY
-#include 
-#include 
-#endif
-
 #ifndef HAVE_MEMMOVE
 #include 
 #else
@@ -98,9 +93,6 @@ DataFill(char *data,
    int         i;
    int         numberOfAttributes = tupleDesc->natts;
    Form_pg_attribute *att = tupleDesc->attrs;
-#ifdef FREE_TUPLE_MEMORY
-   bool        free_tuple_memory = pg_options[OPT_FREE_TUPLE_MEMORY];
-#endif
 
    if (bit != NULL)
    {
@@ -139,14 +131,6 @@ DataFill(char *data,
                *infomask |= HEAP_HASVARLENA;
                data_length = VARSIZE(DatumGetPointer(value[i]));
                memmove(data, DatumGetPointer(value[i]), data_length);
-#ifdef FREE_TUPLE_MEMORY
-               /* try to pfree value[i] - dz */
-               if (free_tuple_memory &&
-                   PortalHeapMemoryIsValid(CurrentMemoryContext,
-                                           (Pointer) value[i])) {
-                   pfree(value[i]);
-               }
-#endif
                break;
            case sizeof(char):
                *data = att[i]->attbyval ?
@@ -163,15 +147,8 @@ DataFill(char *data,
                                   *((int32 *) value[i]));
                break;
            default:
-               memmove(data, DatumGetPointer(value[i]), att[i]->attlen);
-#ifdef FREE_TUPLE_MEMORY
-               /* try to pfree value[i] - dz */
-               if (free_tuple_memory &&
-                   PortalHeapMemoryIsValid(CurrentMemoryContext,
-                                           (Pointer) value[i])) {
-                   pfree(value[i]);
-               }
-#endif
+               memmove(data, DatumGetPointer(value[i]),
+                       att[i]->attlen);
                break;
        }
        data = (char *) att_addlength((long) data, att[i]->attlen, value[i]);
index 9d0f4ea10363321bed09ac2f4a906bf166b91acd..a47a9ad5492dee479037a80c3b5254a21c2307c2 100644 (file)
 #include "utils/syscache.h"
 #include "optimizer/clauses.h"
 
-#ifdef FREE_TUPLE_MEMORY
-#include 
-#include 
-#endif
-
 /*
  * AggFuncInfo -
  *   keeps the transition functions information around
@@ -118,9 +113,7 @@ ExecAgg(Agg *node)
                isNull1 = FALSE,
                isNull2 = FALSE;
    bool        qual_result;
-#ifdef FREE_TUPLE_MEMORY
-   bool        free_tuple_memory = pg_options[OPT_FREE_TUPLE_MEMORY];
-#endif
+
 
    /* ---------------------
     *  get state info from node
@@ -248,10 +241,6 @@ ExecAgg(Agg *node)
        for (;;)
        {
            TupleTableSlot *outerslot;
-#ifdef FREE_TUPLE_MEMORY
-           Oid             valueType;
-           bool            isByValue = 0;
-#endif
 
            isNull = isNull1 = isNull2 = 0;
            outerslot = ExecProcNode(outerPlan, (Plan *) node);
@@ -304,31 +293,6 @@ ExecAgg(Agg *node)
                    newVal = ExecEvalExpr(aggref->target, econtext,
                                          &isNull, &isDone);
                }
-#ifdef FREE_TUPLE_MEMORY
-               if (free_tuple_memory) {
-                   switch (nodeTag(aggref->target)) {
-                   case T_Const:
-                       isByValue = ((Const*) (aggref->target))->constbyval;
-                       break;
-                   case T_Var:
-                       valueType = ((Var*) (aggref->target))->vartype;
-                       isByValue = typeByVal(typeidType(valueType));
-                       break;
-                   case T_Array:
-                       isByValue = ((Array*)(aggref->target))->arrayelembyval;
-                       break;
-                   case T_ArrayRef:
-                       isByValue =((ArrayRef*)(aggref->target))->refelembyval;
-                       break;
-                   case T_Expr:
-                       valueType = ((Expr*) (aggref->target))->typeOid;
-                       isByValue = typeByVal(typeidType(valueType));
-                       break;
-                   default:
-                       break;
-                   }
-               }
-#endif
 
                if (isNull && !aggref->usenulls)
                    continue;   /* ignore this tuple for this agg */
@@ -389,16 +353,6 @@ ExecAgg(Agg *node)
                                          (FmgrValues *) args, &isNull2);
                    Assert(!isNull2);
                }
-
-#ifdef FREE_TUPLE_MEMORY
-               /* try to pfree newVal if not isByValue - dz */
-               if (free_tuple_memory && !isByValue && 
-                   PortalHeapMemoryIsValid(CurrentMemoryContext,
-                                           (Pointer) newVal))
-               {
-                   pfree(newVal);
-               }
-#endif
            }
 
            /*
index 5a18a21390061bf19d2c1074db203ee479380d30..9676ca570a0c13a77b27be7d0138ed8617fa58a7 100644 (file)
@@ -73,9 +73,6 @@ static char *opt_names[] = {
    "syslog",                   /* use syslog for error messages */
    "hostlookup",               /* enable hostname lookup in ps_status */
    "showportnumber",           /* show port number in ps_status */
-#ifdef FREE_TUPLE_MEMORY
-   "free_tuple_memory",        /* try to pfree memory for each tuple */
-#endif
 
    /* NUM_PG_OPTIONS */        /* must be the last item of enum */
 };
@@ -407,9 +404,9 @@ read_pg_options(SIGNAL_ARGS)
 }
 
 /*
- * Local Variables:
- *  tab-width: 4
- *  c-indent-level: 4
- *  c-basic-offset: 4
+ * Local variables:
+ * tab-width: 4
+ * c-indent-level: 4
+ * c-basic-offset: 4
  * End:
  */
index d5296ae0f609de86e64dfc2aaa66657b560b137a..f02a09232ff612fa652b43492fa45d6ddcb18beb 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v 1.20 1999/06/12 14:05:39 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v 1.21 1999/06/12 14:07:26 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -289,24 +289,6 @@ PortalHeapMemoryFree(PortalHeapMemory this,
    }
 }
 
-#ifdef FREE_TUPLE_MEMORY
-/*
- * PortalHeapMemoryIsValid --
- *
- * Check if a pointer is allocated in a memory context.
- *
- */
-bool
-PortalHeapMemoryIsValid(MemoryContext context, Pointer pointer)
-{
-   HeapMemoryBlock block = HEAPMEMBLOCK((PortalHeapMemory) context);
-
-   AssertState(PointerIsValid(block));
-
-   return (AllocSetContains(&block->setData, pointer));
-}
-#endif
-
 /* ----------------
  *     PortalHeapMemoryRealloc
  * ----------------
index 390ee2116d5cedd2ad3541113f09ff479359ccd6..61e6976766ec6437ca87eb2aec7169af859d3e5f 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: portal.h,v 1.14 1999/06/12 14:05:40 momjian Exp $
+ * $Id: portal.h,v 1.15 1999/06/12 14:07:32 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -80,10 +80,6 @@ extern void EndPortalAllocMode(void);
 extern PortalVariableMemory PortalGetVariableMemory(Portal portal);
 extern PortalHeapMemory PortalGetHeapMemory(Portal portal);
 
-#ifdef FREE_TUPLE_MEMORY
-bool   PortalHeapMemoryIsValid(MemoryContext context, Pointer pointer);
-#endif
-
 /* estimate of the maximum number of open portals a user would have,
  * used in initially sizing the PortalHashTable in EnablePortalManager()
  */
index 1affd968b7e381cc75c3ab3ff9c18ecbd73aafa9..3174026ca5cfe32ce8c6caed21b09c561c8cb088 100644 (file)
@@ -64,9 +64,6 @@ enum pg_option_enum {
    OPT_SYSLOG,                 /* use syslog for error messages */
    OPT_HOSTLOOKUP,             /* enable hostname lookup in ps_status */
    OPT_SHOWPORTNUMBER,         /* show port number in ps_status */
-#ifdef FREE_TUPLE_MEMORY
-   OPT_FREE_TUPLE_MEMORY,      /* try to pfree memory for each tuple */
-#endif
 
    NUM_PG_OPTIONS              /* must be the last item of enum */
 };
@@ -86,9 +83,9 @@ extern int    pg_options[NUM_PG_OPTIONS];
 #endif  /* TRACE_H */
 
 /*
- * Local Variables:
- *  tab-width: 4
- *  c-indent-level: 4
- *  c-basic-offset: 4
+ * Local variables:
+ * tab-width: 4
+ * c-indent-level: 4
+ * c-basic-offset: 4
  * End:
  */