On 24 September 2010 15:40, Peter Rabbitson <rabbit+dbic at rabbit.us> wrote: > attempt insert > if exception - attempt select > if nothing found attempt insert again so you propagate the correct > exception while (1) { try to create, return on success try to update, return on success }