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
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 |