From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Emmanuel Cecchet <manu(at)asterdata(dot)com> |
Cc: | Jan Urbański <wulczer(at)wulczer(dot)org>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Partitioning option for COPY |
Date: | 2009-11-17 15:03:39 |
Message-ID: | 28321.1258470219@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Emmanuel Cecchet <manu(at)asterdata(dot)com> writes:
> Tom Lane wrote:
>> This looks like the patch is trying to create a data structure in a
>> memory context that's not sufficiently long-lived for the use of the
>> structure. If you do this in a non-cassert build, it will seem to
>> work, some of the time, if the memory in question happens to not
>> get reallocated to something else.
>>
> I was using the CacheMemoryContext. Could someone tell me why this is
> wrong and what should have been the appropriate context to use?
Well, (a) I doubt you really were creating the list in
CacheMemoryContext, else it'd have not gotten clobbered; (b) creating
statement-local data structures in CacheMemoryContext is entirely
unacceptable anyway, because then they represent a permanent memory
leak.
The right context for statement-lifetime data structures is generally
the CurrentMemoryContext the statement code is called with.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2009-11-17 15:17:48 | Re: actualised funcs typmod patch |
Previous Message | Emmanuel Cecchet | 2009-11-17 14:59:58 | Re: Partitioning option for COPY |