> On Behalf Of Zbigniew Lukasiak
>
> Hi,
>
> There will be race conditions - is that acceptable for you?  See following
scenario:
>
> Person A wants to save new record values
> Person B wants to save new record values
> A fetches the record to compute the hash
> B fetches the record to compute the hash
> The record has not been changed yet so both A and B are ready to save
their new values
> A saves her new values
> B saves her new values
>
> The result is that the values saved by A are overwritten by B without any
warning.
>
> It would be safe if we could do a
>
> UPDATE rec ... WHERE (id = our_id AND hash = the_old_hash_val)
>
> This would be a real optimistic locking using the database mechanisms to
eliminate the race conditions.
>
> --
> Zbyszek
>
Yes, I've been thinking about this in the meantime and have decided to add a
version column to each table and do something similar to what you suggested

UPDATE rec set col1 = <col1>, col2 = <col2> ... version = version + 1 ...
WHERE conditions and version = old_version_value

Dan



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

Reply via email to