summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ataxic.erl')
-rw-r--r--src/ataxic.erl12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ataxic.erl b/src/ataxic.erl
index 92c11b1..4a1bd8b 100644
--- a/src/ataxic.erl
+++ b/src/ataxic.erl
@@ -183,7 +183,15 @@ optimize_update_field_sequence (UnsortedOPs, CurrentResults) ->
{FieldUpdates, PotentiallyImportantOPs} =
lists:splitwith(fun (E) -> is_record(E, upfield) end, UnsortedOPs),
- SortedFieldUpdates = lists:sort(fun (E) -> E#upfield.ix end, FieldUpdates),
+ SortedFieldUpdates =
+ lists:sort
+ (
+ fun (A, B) ->
+ ((A#upfield.ix) =< (B#upfield.ix))
+ end,
+ FieldUpdates
+ ),
+
{LastIX, LastUpdateOPs, OtherMergedFieldUpdates} =
lists:foldl
(
@@ -247,7 +255,7 @@ optimize_update_field_sequence (UnsortedOPs, CurrentResults) ->
(CurrentResults ++ MergedFieldUpdates ++ ImportantOPs)
).
--spec flatten_sequence (list(basic())) -> basic().
+-spec flatten_sequence (list(basic())) -> list(basic()).
flatten_sequence (OPs) ->
lists:foldl
(