• Once again I have to opose to the

    IF not exists()

    Insert ...

    Technique. That statement does *not* guarranties that after two connections return from the "If" part with the same key, one of them is going to fail and if that is the case, what you really do is to perform an *atomic* transaction on the table, in other words combine the insert with the exists in a single query not in separated statements.

    Second the pessimistic locking strategy, which is what you are doing *does* *block* others so I am not so sure of how appropriate the title is.

    Other than that, I believe that your discussing of the theme is a very good introduction to something that most people never get to talk about and you did a very good job.

    Cheers,


    * Noel