From: | Andres Freund <andres(at)2ndquadrant(dot)com> |
---|---|
To: | Amit Langote <amitlangote09(at)gmail(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:36:01 |
Message-ID: | 20130607143601.GK29964@alap2.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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().
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2013-06-07 14:37:39 | Re: system catalog pg_rewrite column ev_attr document description problem |
Previous Message | Andres Freund | 2013-06-07 14:30:53 | Re: extensible external toast tuple support & snappy prototype |