Re: Re: bulk_multi_insert infinite loops with large rows and small fill factors - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Re: bulk_multi_insert infinite loops with large rows and small fill factors
Date
Msg-id 50C8784A.5080909@vmware.com
Whole thread Raw
In response to Re: Re: bulk_multi_insert infinite loops with large rows and small fill factors  (David Gould <daveg@sonic.net>)
List pgsql-hackers
On 12.12.2012 14:24, David Gould wrote:
> I don't know if this is the same thing. At least in the comments I was
> reading trying to figure this out there was some concern that someone
> else could change the space on the page. Does RelationGetBufferForTuple()
> guarantee against this too?

Yeah, RelationGetBufferForTuple grabs a lock on the page before 
returning it. For comparison, plain heap_insert does simply this:

>     buffer = RelationGetBufferForTuple(relation, heaptup->t_len,
>                                        InvalidBuffer, options, bistate,
>                                        &vmbuffer, NULL);
>
>     /* NO EREPORT(ERROR) from here till changes are logged */
>     START_CRIT_SECTION();
>
>     RelationPutHeapTuple(relation, buffer, heaptup);

- Heikki



pgsql-hackers by date:

Previous
From: David Gould
Date:
Subject: Re: Re: bulk_multi_insert infinite loops with large rows and small fill factors
Next
From: David Gould
Date:
Subject: Re: Re: bulk_multi_insert infinite loops with large rows and small fill factors