diff options
| author | Dan Gudmundsson <dgud@erlang.org> | 2023-02-10 10:50:57 +0100 |
|---|---|---|
| committer | Dan Gudmundsson <dgud@erlang.org> | 2023-02-10 10:50:57 +0100 |
| commit | d227e6bbb43a56bf93f2998542bfda6229471650 (patch) | |
| tree | 13434824460853bc5a6c89ba53fadee2c05e65ba /lib/mnesia/doc | |
| parent | e10e3eb8bd503ad7c154adedd2bfbc73677b7647 (diff) | |
| parent | cad25ed4ca03d87713b865d9a50cef28e3460bbe (diff) | |
| download | erlang-d227e6bbb43a56bf93f2998542bfda6229471650.tar.gz | |
Merge branch 'dgud/mnesia/dirty-fixes/OTP-18412' into maint
* dgud/mnesia/dirty-fixes/OTP-18412:
Fix sticky sync locks
mnesia: Swap slave with peer
mnesia: Improve docs
mnesia: Improve dirty writes consistency
Diffstat (limited to 'lib/mnesia/doc')
| -rw-r--r-- | lib/mnesia/doc/src/mnesia.xml | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/mnesia/doc/src/mnesia.xml b/lib/mnesia/doc/src/mnesia.xml index 13d2688ad1..729f5ebc03 100644 --- a/lib/mnesia/doc/src/mnesia.xml +++ b/lib/mnesia/doc/src/mnesia.xml @@ -2609,6 +2609,7 @@ mnesia:create_table(employee, </list> </desc> </func> + <func> <name name="transaction" arity="1" since=""/> <name name="transaction" arity="2" clause_i="1" since=""/> @@ -2674,13 +2675,20 @@ raise(Name, Amount) -> several processes running on different nodes can concurrently execute the function <c>raise/2</c> without interfering with each other.</p> - <p>Since Mnesia detects deadlocks, a transaction can be - restarted any number of times. This function attempts a - restart as specified in <c>Retries</c>. <c>Retries</c> must - be an integer greater than 0 or the atom <c>infinity</c>. - Default is <c>infinity</c>.</p> + <p> + Since Mnesia detects deadlocks, a transaction can be + restarted any number of times and therefore the <c>Fun</c> shall not + have any side effects such as waiting for specific messages. + This function attempts a restart as many times as specified in <c>Retries</c>. + <c>Retries</c> must be an integer greater than 0 or the atom <c>infinity</c>, + default is <c>infinity</c>. + Mnesia uses <c>exit</c> exceptions to signal that a transaction needs to be + restarted, thus a <c>Fun</c> must not catch <c>exit</c> exceptions with reason + <c>{aborted, term()}</c>. + </p> </desc> </func> + <func> <name name="transform_table" arity="4" since=""/> <fsummary>Changes format on all records in table <c>Tab</c>.</fsummary> |
