diff --git a/src/adapter_test_helpers/sumo_basic_test_helper.erl b/src/adapter_test_helpers/sumo_basic_test_helper.erl index 885c957..5c7b922 100644 --- a/src/adapter_test_helpers/sumo_basic_test_helper.erl +++ b/src/adapter_test_helpers/sumo_basic_test_helper.erl @@ -108,6 +108,8 @@ find_by(Config) -> %% Check pagination Results1 = sumo:find_by(Name, [], 3, 1), [_, _, _] = Results1, + [_, _, _, _, _, _, _] = sumo:find_by(Name, [], 1000, 1), + [] = sumo:find_by(Name, [], 1, 1000), %% This test is #177 github issue related [_, _, _, _, _, _, _, _] = sumo:find_by(Name, []), diff --git a/src/adapters/sumo_store_mnesia.erl b/src/adapters/sumo_store_mnesia.erl index 47e759b..83906fc 100644 --- a/src/adapters/sumo_store_mnesia.erl +++ b/src/adapters/sumo_store_mnesia.erl @@ -188,8 +188,10 @@ find_by(DocName, Conditions, [], Limit, Offset, State) -> end, TransactionL = fun() -> case mnesia:select(DocName, MatchSpec, Offset + Limit, read) of - {ManyItems, _Cont} -> + {ManyItems, _Cont} when length(ManyItems) >= Offset -> lists:sublist(ManyItems, Offset + 1, Limit); + {_ManyItems, _Cont} -> + []; '$end_of_table' -> [] end