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


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to