Skip to content

Commit

Permalink
PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
anderson-joyle committed Jan 9, 2025
1 parent 2461a45 commit 9f00032
Showing 1 changed file with 9 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ public override DValue<RecordValue> Last(bool mutationCopy = false)
public override async Task<DValue<BooleanValue>> RemoveAsync(IEnumerable<FormulaValue> recordsToRemove, bool all, CancellationToken cancellationToken)
{
var ret = false;
var markedToDeletion = new HashSet<T>();
var markedToDeletionIndexes = new HashSet<int>();
var errors = new List<ExpressionError>();

cancellationToken.ThrowIfCancellationRequested();
Expand All @@ -194,26 +194,29 @@ public override async Task<DValue<BooleanValue>> RemoveAsync(IEnumerable<Formula
return await base.RemoveAsync(recordsToRemove, all, cancellationToken).ConfigureAwait(false);
}

var rowsArray = _enumerator.ToArray();

foreach (RecordValue recordToRemove in recordsToRemove)
{
var found = false;

foreach (T item in _enumerator)
for (int i = 0; i < rowsArray.Length; i++)
{
cancellationToken.ThrowIfCancellationRequested();

var item = rowsArray[i];
DValue<RecordValue> dRecord = Marshal(item);

if (await MatchesAsync(dRecord.Value, recordToRemove, cancellationToken).ConfigureAwait(false))
{
if (markedToDeletion.Contains(item))
if (markedToDeletionIndexes.Contains(i))
{
continue;
}
else
{
found = true;
markedToDeletion.Add(item);
markedToDeletionIndexes.Add(i);
}

if (!all)
Expand All @@ -230,9 +233,9 @@ public override async Task<DValue<BooleanValue>> RemoveAsync(IEnumerable<Formula
}
}

foreach (var delete in markedToDeletion)
foreach (var index in markedToDeletionIndexes)
{
_sourceList.Remove(delete);
_sourceList.Remove(rowsArray[index]);
ret = true;
}

Expand Down

0 comments on commit 9f00032

Please sign in to comment.