Re: [PATCH] Docs: Make notes on sequences and rollback more obvious
Craig Ringer <ringerc@ringerc.id.au>
From: Craig Ringer <ringerc@ringerc.id.au>
To: Nicolas Barbier <nicolas.barbier@gmail.com>
Cc: Kevin Grittner <Kevin.Grittner@wicourts.gov>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2012-08-18T11:36:19Z
Lists: pgsql-hackers
On 08/18/2012 05:19 PM, Nicolas Barbier wrote: > 2012/8/7 Kevin Grittner <Kevin.Grittner@wicourts.gov>: > >> 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. > > It is possible to say that they *are* transactional when considering > the following definition: nextval() doesn’t always give you “the” next > value, but “some” next value that is higher than the one gotten by any > preceding transactions. > > I personally like it better to introduce this minor complexity in the > definition of sequences, rather than messing with the definition of > transactionality. I guess they're semi-transactional. You don't get dirty reads unless you actually `SELECT ... FROM some_transaction` which isn't really official API. OTOH, one transaction affects another, and they aren't subject to rollbacks. -- Craig Ringer