Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
    }
Esempio n. 5
0
    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);
    }