private static async Task <HashSet <Row> > CollectRowsAsync(KuduScanner scanner) { var rows = new HashSet <Row>(); await foreach (var resultSet in scanner) { foreach (var row in resultSet) { rows.Add(Row.FromResult(row)); } } return(rows); }
public static async ValueTask <List <T> > ScanToListAsync <T>( this KuduScanner scanner, CancellationToken cancellationToken = default) { var list = new List <T>(0); await foreach (var resultSet in scanner.WithCancellation(cancellationToken).ConfigureAwait(false)) { resultSet.MapTo(list); } return(list); }
public static async ValueTask <long> CountAsync( this KuduScanner scanner, CancellationToken cancellationToken = default) { long count = 0; await foreach (var resultSet in scanner.WithCancellation(cancellationToken).ConfigureAwait(false)) { count += resultSet.Count; } return(count); }
public static async Task WaitUntilRowCountAsync(KuduScanner scanner, int rowCount) { long readCount = 0; for (int i = 0; i < 10; i++) { readCount = await scanner.CountAsync(); if (readCount == rowCount) { return; } await Task.Delay(TimeSpan.FromSeconds(1)); } Assert.Equal(rowCount, readCount); }
private static async Task CheckDiffScanResultsAsync( KuduScanner scanner, int numExpectedMutations, int numExpectedDeletes) { int numMutations = 0; int numDeletes = 0; await foreach (var resultSet in scanner) { foreach (var rowResult in resultSet) { numMutations++; if (rowResult.IsDeleted) { numDeletes++; } } } Assert.Equal(numExpectedMutations, numMutations); Assert.Equal(numExpectedDeletes, numDeletes); }