File 0877-mnesia-Add-foldl-4-and-foldr-4-to-docs.patch of Package erlang
From 730f16e1aee8c51ff40da609b80f07ec1d3956f7 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Mon, 9 Oct 2023 15:42:03 +0200
Subject: [PATCH] mnesia: Add foldl/4 and foldr/4 to docs
They are referred to in the User's Guide so should also
be part of the public API.
---
lib/mnesia/doc/src/mnesia.xml | 2 ++
lib/mnesia/src/mnesia.erl | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/lib/mnesia/doc/src/mnesia.xml b/lib/mnesia/doc/src/mnesia.xml
index 8e285d78ce..99f3f88636 100644
--- a/lib/mnesia/doc/src/mnesia.xml
+++ b/lib/mnesia/doc/src/mnesia.xml
@@ -1341,6 +1341,7 @@ mnesia:create_table(person,
</func>
<func>
<name name="foldl" arity="3" since=""/>
+ <name name="foldl" arity="4" since=""/>
<fsummary>Calls <c>Function</c> for each record in <c>Table</c>.</fsummary>
<desc>
<marker id="foldl"></marker>
@@ -1354,6 +1355,7 @@ mnesia:create_table(person,
</func>
<func>
<name name="foldr" arity="3" since=""/>
+ <name name="foldr" arity="4" since=""/>
<fsummary>Calls <c>Function</c> for each record in <c>Table</c>.</fsummary>
<desc>
<marker id="foldr"></marker>
diff --git a/lib/mnesia/src/mnesia.erl b/lib/mnesia/src/mnesia.erl
index bb5858b3f8..00f696a1bc 100644
--- a/lib/mnesia/src/mnesia.erl
+++ b/lib/mnesia/src/mnesia.erl
@@ -1089,6 +1089,8 @@ ts_keys_1([], Acc) ->
foldl(Fun, Acc, Tab) ->
foldl(Fun, Acc, Tab, read).
+-spec foldl(Fun, Acc0, Tab::table(), LockKind :: lock_kind()) -> Acc when
+ Fun::fun((Record::tuple(), Acc0) -> Acc).
foldl(Fun, Acc, Tab, LockKind) when is_function(Fun) ->
case get(mnesia_activity_state) of
{?DEFAULT_ACCESS, Tid, Ts} ->
@@ -1130,6 +1132,8 @@ do_foldl(A, O, Tab, Key, Fun, Acc, Type, Stored) -> %% Type is set or bag
Fun::fun((Record::tuple(), Acc0) -> Acc).
foldr(Fun, Acc, Tab) ->
foldr(Fun, Acc, Tab, read).
+-spec foldr(Fun, Acc0, Tab::table(), LockKind::lock_kind()) -> Acc when
+ Fun::fun((Record::tuple(), Acc0) -> Acc).
foldr(Fun, Acc, Tab, LockKind) when is_function(Fun) ->
case get(mnesia_activity_state) of
{?DEFAULT_ACCESS, Tid, Ts} ->
--
2.35.3