Bill Crawford wrote:
On 20 September 2010 10:43, Peter Rabbitson <[email protected]> wrote:

1) We use a transaction the way we do now - depending on the isolation
...
2) We issue the select with a read-lock. This however means that the
...
3) We try to create the row first, going in blind. This is a good idea
in theory, however it has a nasty side effect that it makes the current
transaction no-longer-commitable. So using transactions in a race-prone
environment is out as well (the user sees random transactions failing
for no apparent reason)

Or you could 4) check whether savepoints are supported, use one, try
the insert, and see what happens?

Savepoints do not help here. An error happening within a savepoint
invalidates *the entire transaction*. Test it on your RDBMS, but
I am pretty sure this is the case all-around.

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to