On Sat, Aug 18, 2012 at 1:34 AM, Craig Ringer <ringerc@ringerc.id.au> wrote:
> On 08/07/2012 09:45 PM, Kevin Grittner wrote:
>>
>> I also think it's a problem that one can get through the entire
>> "Concurrency Control" chapter (mvcc.sgml) without a clue that
>> sequences aren't transactional. I think maybe a mention in the
>> Introduction section of that chapter with a <ref> would be
>> appropriate.
>
>
> How about this? Is it accurate to suggest that sequences behave as if they
> were always in "dirty read" isolation?
I don't think so. I would think that a dirty read would allow
unresolved data to be visible, but upon rollback of the other
transaction would stop seeing the "dirty" data. That doesn't describe
sequences. A better explanation is that sequence advancement is
autonomously committed.
> Or would you instead say that
> "changes made to a sequence are immediately visible to all other
> transactions" ?
Yes, that sounds better.
Cheers,
Jeff