| From: | Greg Stark <gsstark(at)mit(dot)edu> |
|---|---|
| To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Tuplestore should remember the memory context it's created in |
| Date: | 2009-12-22 12:16:38 |
| Message-ID: | 407d949e0912220416q78857a17n6eb990b2f175e6c2@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Dec 22, 2009 at 11:45 AM, Heikki Linnakangas
<heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
...
> AFAICS it is always a bug to be in a different memory context
> in tuplestore_put* than in tuplestore_begin_heap(), so it would be more
> robust to not put the burden on the callers.
> ...
> Patch against CVS HEAD to do that and fix the reported bug attached. Now
> that the tuplestore_put* switches to the right memory context, we could
> remove that from all the callers, but this patch only does it for pl_exec.c.
>
> Thoughts?
I thought there were comments specifically explaining why it was done
that way but I don't recall what they said. Perhaps it was a
performance concern since it's going to happen for every tuple put in
the tuplestore and usually you'll just be in the same memory context
anyways. It would certainly be a lot less confusing the way you
describe though.
--
greg
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Greg Stark | 2009-12-22 12:20:46 | Re: Tuplestore should remember the memory context it's created in |
| Previous Message | Heikki Linnakangas | 2009-12-22 11:49:14 | Re: Streaming replication and non-blocking I/O |