maybe locks could work for your case also?<br><br><a href="https://github.com/uwiger/locks">https://github.com/uwiger/locks</a><br><br>- benoît<br><div class="gmail_quote">On Thu 18 Jun 2015 at 11:31 Daniil Churikov <<a href="mailto:ddosia@gmail.com">ddosia@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Robert. This possible that main-record deletion may be initiated in the same time from different processes,<br>but it is highly unlikely.<br>On a contrary,  dependent-records will be added/modified/deleted in highly concurrent fashion.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-06-17 22:26 GMT+01:00 Robert Virding <span dir="ltr"><<a href="mailto:rvirding@gmail.com" target="_blank">rvirding@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>How do you mean "All the operations may happen in different processes simultaneously."? Does it mean that many processes may initiate a record deletion in parallel or does it mean that there maybe be parallel accesses to the actual databases?<span><font color="#888888"><br><br></font></span></div><span><font color="#888888">Robert<br><br></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On 17 June 2015 at 15:53, Daniil Churikov <span dir="ltr"><<a href="mailto:ddosia@gmail.com" target="_blank">ddosia@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div>Hello dear list. I am looking for advice to, perhaps, very common problem.<br><br>I have database which does not support transactions, only CAS operations for single record.<br>I have one-to-many relationship between 2 tables, and I need to implement cascade deletion of dependent records from table_2 when main record from table_1 was deleted. All the operations may happen in different processes simultaneously.<br>So my intention is to do some kind of a mutex, which incorporate following properties:<br>* when main record is in deletion-state, every other action on main and/or dependent record should wait until it will be deleted;<br>* if main record is in normal-state, all dependencies may be modified without any strict order.<br><br>Is there any library in the wild which allow me to do this kind of mutex?<br>Maybe I have chosen wrong approach? Any suggestions?<br><br></div>Thanks!<br></div>
<br></div></div><span>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>