Re: Memory leak in deferrable index constraints
| От | Tom Lane |
|---|---|
| Тема | Re: Memory leak in deferrable index constraints |
| Дата | |
| Msg-id | 13724.1264962367@sss.pgh.pa.us обсуждение |
| Ответ на | Re: Memory leak in deferrable index constraints (Dean Rasheed <dean.a.rasheed@googlemail.com>) |
| Список | pgsql-hackers |
Dean Rasheed <dean.a.rasheed@googlemail.com> writes:
> On 31 January 2010 16:03, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> It seems a bit unlikely that this would be the largest memory leak in
>> that area. �Can you show a test case that demonstrates this is worth
>> worrying about?
> create table foo(a int unique deferrable initially deferred);
> insert into foo (select * from generate_series(1, 10000000));
> begin;
> update foo set a=a+1;
> set constraints all immediate;
> commit;
Thanks. I had forgotten all the work we put into minimizing the size of
the deferred trigger queue. In this example it's only 16 bytes per
entry, whereas a 1-element List is going to involve 16 bytes for the
header, 8 bytes for the cell, plus two palloc item overheads --- and
double all that on a 64-bit machine. So yeah, this is a significant
leak. Patch applied.
regards, tom lane
В списке pgsql-hackers по дате отправления: