From 6a486ff2dfa285e913a1d0b013c2165c9a5a7b42 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Mon, 7 Mar 2011 16:25:31 +0100 Subject: Applied from mnesia_frag:first patch from Magnus Henoch "When I run mnesia:first on an empty fragmented table, it tries to access the fragment with the number one beyond the maximum. In the sample code below, I create a table with two fragments, 'foo' and 'foo_frag2', but mnesia tries to access 'foo_frag3':" --- lib/mnesia/src/mnesia_frag.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/mnesia') diff --git a/lib/mnesia/src/mnesia_frag.erl b/lib/mnesia/src/mnesia_frag.erl index 6cc16c80fd..9e77fe0b9f 100644 --- a/lib/mnesia/src/mnesia_frag.erl +++ b/lib/mnesia/src/mnesia_frag.erl @@ -209,7 +209,7 @@ first(ActivityId, Opaque, Tab) -> end end. -search_first(ActivityId, Opaque, Tab, N, FH) when N =< FH#frag_state.n_fragments -> +search_first(ActivityId, Opaque, Tab, N, FH) when N < FH#frag_state.n_fragments -> NextN = N + 1, NextFrag = n_to_frag_name(Tab, NextN), case mnesia:first(ActivityId, Opaque, NextFrag) of -- cgit v1.2.3