OSDN Git Service

Change exec_eval_simple_expr's param list allocation call from
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 13 Jan 2005 23:07:34 +0000 (23:07 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 13 Jan 2005 23:07:34 +0000 (23:07 +0000)
MemoryContextAllocZero back to MemoryContextAlloc, same as it was in 7.4.
The zeroing is unnecessary since all the meaningful fields are filled in
just below.  I had made it do that out of neatnik-ism, but some testing
with an example provided by Pavel Stehule showed that the zeroing was
accounting for about 5% of the runtime in a compute-intensive plpgsql
function.  That seems a bit high of a price for neatnik-ism...

src/pl/plpgsql/src/pl_exec.c

index 90dfc3c..bd2c6a0 100644 (file)
@@ -3,7 +3,7 @@
  *                       procedural language
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.126 2004/12/21 18:33:35 tgl Exp $
+ *       $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.127 2005/01/13 23:07:34 tgl Exp $
  *
  *       This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -3606,7 +3606,7 @@ exec_eval_simple_expr(PLpgSQL_execstate *estate,
         * have more than one active param list.
         */
        paramLI = (ParamListInfo)
-               MemoryContextAllocZero(econtext->ecxt_per_tuple_memory,
+               MemoryContextAlloc(econtext->ecxt_per_tuple_memory,
                                                (expr->nparams + 1) * sizeof(ParamListInfoData));
 
        /*