diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-11-11 03:02:20 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-11-11 03:02:20 +0000 |
commit | 75fee4535d1a9741474b53bd46a3585ad3c66eb5 (patch) | |
tree | de4500a8b76fdb882f055ad7bd8889be9d51c790 /src/backend/executor/execMain.c | |
parent | 5d283d89cb6142d721c095c28be19056ad620616 (diff) | |
download | postgresql-75fee4535d1a9741474b53bd46a3585ad3c66eb5.tar.gz postgresql-75fee4535d1a9741474b53bd46a3585ad3c66eb5.zip |
Back out use of palloc0 in place if palloc/MemSet. Seems constant len
to MemSet is a performance boost.
Diffstat (limited to 'src/backend/executor/execMain.c')
-rw-r--r-- | src/backend/executor/execMain.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index f6edc3283a1..d85e59fb009 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -27,7 +27,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.182 2002/11/10 07:25:13 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.183 2002/11/11 03:02:18 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -106,8 +106,12 @@ ExecutorStart(QueryDesc *queryDesc, EState *estate) Assert(queryDesc != NULL); if (queryDesc->plantree->nParamExec > 0) + { estate->es_param_exec_vals = (ParamExecData *) - palloc0(queryDesc->plantree->nParamExec * sizeof(ParamExecData)); + palloc(queryDesc->plantree->nParamExec * sizeof(ParamExecData)); + MemSet(estate->es_param_exec_vals, 0, + queryDesc->plantree->nParamExec * sizeof(ParamExecData)); + } /* * Make our own private copy of the current query snapshot data. @@ -1788,12 +1792,17 @@ EvalPlanQual(EState *estate, Index rti, ItemPointer tid) */ epqstate->es_evTupleNull = (bool *) palloc(rtsize * sizeof(bool)); if (epq == NULL) + { /* first PQ stack entry */ epqstate->es_evTuple = (HeapTuple *) - palloc0(rtsize * sizeof(HeapTuple)); + palloc(rtsize * sizeof(HeapTuple)); + memset(epqstate->es_evTuple, 0, rtsize * sizeof(HeapTuple)); + } else + { /* later stack entries share the same storage */ epqstate->es_evTuple = epq->estate.es_evTuple; + } } else { |