Re: Large Objects versus transactional behavior

From: yamt(at)mwd(dot)biglobe(dot)ne(dot)jp (YAMAMOTO Takashi)
To: robertmhaas(at)gmail(dot)com
Cc: Kevin(dot)Grittner(at)wicourts(dot)gov, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Large Objects versus transactional behavior
Date: 2011-05-13 00:48:29
Message-ID: 20110513004829.A12BB14A224@mail.netbsd.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

hi,

> On Sat, Apr 30, 2011 at 2:58 PM, Kevin Grittner
> <Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:
>> This is related to the "SIREAD lock versus ACCESS EXCLUSIVE lock"
>> thread, but seemed different enough to merit spinning off a new
>> thread.
>>
>> Our shop hasn't used large objects so far because of the lack of
>> security (until 9.1), so I never noticed the rather unusual
>> transactional semantics of large objects. From the devel
>> documentation:
>>
>> http://developer.postgresql.org/pgdocs/postgres/lo-interfaces.html#LO-OPEN
>>
>> | [...] with INV_READ you cannot write on the descriptor, and the
>> | data read from it will reflect the contents of the large object at
>> | the time of the transaction snapshot that was active when lo_open
>> | was executed, regardless of later writes by this or other
>> | transactions. Reading from a descriptor opened with INV_WRITE
>> | returns data that reflects all writes of other committed
>> | transactions as well as writes of the current transaction. This is
>> | similar to the behavior of REPEATABLE READ versus READ COMMITTED
>> | transaction modes for ordinary SQL SELECT commands.

as a novice user who has been annoyed by them, i'm curious about
the rationale of the unusual semantics.
is there any chance to "just" make large objects obey the normal semantics
in future?

YAMAMOTO Takashi

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2011-05-13 01:44:43 Re: Large Objects versus transactional behavior
Previous Message Josh Berkus 2011-05-13 00:11:57 Re: performance-test farm