summaryrefslogtreecommitdiff
path: root/lib/mnesia/doc/src/mnesia.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mnesia/doc/src/mnesia.xml')
-rw-r--r--lib/mnesia/doc/src/mnesia.xml26
1 files changed, 17 insertions, 9 deletions
diff --git a/lib/mnesia/doc/src/mnesia.xml b/lib/mnesia/doc/src/mnesia.xml
index 9791a57610..8e285d78ce 100644
--- a/lib/mnesia/doc/src/mnesia.xml
+++ b/lib/mnesia/doc/src/mnesia.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1996</year><year>2021</year>
+ <year>1996</year><year>2023</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -772,7 +772,7 @@ mnesia:change_table_copy_type(person, node(), disc_copies)</code>
table is aborted, unless a majority of the table
replicas are available for the commit. When used on a
fragmented table, all fragments are given the same
- the same majority setting.</p>
+ majority setting.</p>
</item>
<item>
<p><c>{ram_copies, Nodelist}</c>, where
@@ -1153,7 +1153,7 @@ mnesia:create_table(person,
or negative number. However, counters can never become less
than zero. There are two significant differences between
this function and the action of first reading the record,
- performing the arithmetics, and then writing the record:</p>
+ performing the arithmetic, and then writing the record:</p>
<list type="bulleted">
<item>It is much more efficient.
</item>
@@ -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>
@@ -2955,7 +2963,7 @@ raise(Name, Amount) ->
<p><c>-mnesia dump_log_write_threshold Max</c>.
<c>Max</c> is an integer that specifies the maximum
number of writes allowed to the transaction log before
- a new dump of the log is performed. Default is <c>100</c>
+ a new dump of the log is performed. Default is <c>1000</c>
log writes.</p>
</item>
<item>