Re: Regarding GIN Fast Update Technique

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Regarding GIN Fast Update Technique
Date: 2013-06-07 14:44:38
Message-ID: CA+HiwqGdo-=pCVHTHUL8KS4P_99renY_s-60v7-x7Fia0Tex9g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jun 7, 2013 at 11:36 PM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> On 2013-06-07 23:28:56 +0900, Amit Langote wrote:
>> On Fri, Jun 7, 2013 at 11:15 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> > On Wed, Jun 5, 2013 at 10:06 PM, Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
>> >> At what point do the entries in the pending list are moved to the main
>> >> GIN data structure?
>> >> From documentation, I read that overflowing work_mem and vacuum are
>> >> two such causes; what about when the concerned backend is to exit and
>> >> autovacuum has not yet kicked in?
>> >
>> > I don't think there's any special handling for that case, nor do I
>> > think any is needed.
>> >
>>
>> Okay, aside from that case, what else would move those to the main
>> structure? They (the entries in the unsorted pending list) are in the
>> local memory (work_mem?) of the backend, right?
>
> No, it's in the normal heap, pointed to by the metapage. Storing it in
> local memory would mean we would have to flush it out before commit.
>
> That part of gin is actually quite readable code, so I suggest looking
> there. Start with ginfast.c:ginHeapTupleFastInsert().
>

Thanks.

--
Amit Langote

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2013-06-07 14:49:47 Re: create a git symbolic-ref for REL9_3_STABLE
Previous Message Robert Haas 2013-06-07 14:44:24 Re: extensible external toast tuple support & snappy prototype