From 280e9249935fecef186938a9900bb35eb7f20674 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 12 Jun 1999 14:07:33 +0000 Subject: [PATCH] Reversed out Massimo patch. --- src/backend/access/common/heaptuple.c | 27 ++------------- src/backend/executor/nodeAgg.c | 48 +-------------------------- src/backend/utils/misc/trace.c | 11 +++--- src/backend/utils/mmgr/portalmem.c | 18 ---------- src/include/utils/portal.h | 4 --- src/include/utils/trace.h | 11 +++--- 6 files changed, 11 insertions(+), 108 deletions(-) diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c index 1a27b8625e..b20ad6dc5c 100644 --- a/src/backend/access/common/heaptuple.c +++ b/src/backend/access/common/heaptuple.c @@ -27,11 +27,6 @@ #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]); diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c index 9d0f4ea103..a47a9ad549 100644 --- a/src/backend/executor/nodeAgg.c +++ b/src/backend/executor/nodeAgg.c @@ -31,11 +31,6 @@ #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 } /* diff --git a/src/backend/utils/misc/trace.c b/src/backend/utils/misc/trace.c index 5a18a21390..9676ca570a 100644 --- a/src/backend/utils/misc/trace.c +++ b/src/backend/utils/misc/trace.c @@ -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: */ diff --git a/src/backend/utils/mmgr/portalmem.c b/src/backend/utils/mmgr/portalmem.c index 90d2ff7685..86c4ff6a2a 100644 --- a/src/backend/utils/mmgr/portalmem.c +++ b/src/backend/utils/mmgr/portalmem.c @@ -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 * ---------------- diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index f5ada649de..b26ddf525d 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -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() */ diff --git a/src/include/utils/trace.h b/src/include/utils/trace.h index 1affd968b7..3174026ca5 100644 --- a/src/include/utils/trace.h +++ b/src/include/utils/trace.h @@ -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: */ -- 2.39.5