I think this is simply a case of optimistic locking - there is a general way and very often db specific ways
first you get the current active value ... (one row) currentValue from "select counterfield from tablename" then you update the table (single row) update tablename set counterfield = currentValue + 1 where counterfield = currentValue commit then you look how many rows have been changed (=1) and assume, that commit was successful and then you know if you were successful ... otherwise you must retry ... this is a simple, with worst performance but portale approach ... Marten Am 16.04.2014 21:52, schrieb Esteban A. Maringolo: > Hi, > > A few weeks ago Sven was asking for a lock-free in-image atomic counter. > > Today I'm in need of implementing a DB backed (PGSQL) counter for > business forms numbering, and maybe there are some toughts you're > willing to share :) > > I can't find any other way than a row lock for each counter, but maybe > there is something better (I avoid locks as much as possible). > > Any thoughts to share here? > > Regards! > -- Marten Feldtmann