OSDN Git Service

Reversed out Massimo patch.
authorBruce Momjian <bruce@momjian.us>
Sat, 12 Jun 1999 14:07:33 +0000 (14:07 +0000)
committerBruce Momjian <bruce@momjian.us>
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 9fa0097..626ffd1 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 <storage/bufpage.h>
 #include <utils/memutils.h>
 
-#ifdef FREE_TUPLE_MEMORY
-#include <utils/portal.h>
-#include <utils/trace.h>
-#endif
-
 #ifndef HAVE_MEMMOVE
 #include <regex/utils.h>
 #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 9d0f4ea..a47a9ad 100644 (file)
 #include "utils/syscache.h"
 #include "optimizer/clauses.h"
 
-#ifdef FREE_TUPLE_MEMORY
-#include <utils/portal.h>
-#include <utils/trace.h>
-#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 5a18a21..9676ca5 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 d5296ae..f02a092 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 390ee21..61e6976 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 1affd96..3174026 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:
  */