public async Task <bool> MoveNext(CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); if (_underlyingIterator == null) { if (!_job.Completed) { _job = await _job.PollUntilCompletedAsync(_pollSettings, cancellationToken).ConfigureAwait(false); } _underlyingIterator = _job.ResponseRows.GetEnumerator(); } // Keep asking for rows until we've got one, or we've run out of pages. while (!_underlyingIterator.MoveNext()) { if (_options.PageToken == null) { return(false); } var nextResults = await _job._client.GetQueryResultsAsync(_job.JobReference, _options, cancellationToken).ConfigureAwait(false); _options.PageToken = nextResults._response.PageToken; _underlyingIterator = nextResults.ResponseRows.GetEnumerator(); } return(true); }
public AsyncRowEnumerator(BigQueryResults parent) { _parent = parent; _options = parent._options?.Clone() ?? new GetQueryResultsOptions(); _options.StartIndex = null; _options.PageToken = parent._response.PageToken; _underlyingEnumerator = parent.ResponseRows.GetEnumerator(); }
public AsyncRowEnumerator(BigQueryResults job, PollSettings pollSettings) { _job = job; _pollSettings = pollSettings; _options = _job._options?.Clone() ?? new GetQueryResultsOptions(); _options.StartIndex = null; _options.PageToken = _job._response.PageToken; }
public AsyncRowEnumerable(BigQueryResults parent) => _parent = parent;
public AsyncRowEnumerable(BigQueryResults job, PollSettings pollSettings) { _job = job; _pollSettings = pollSettings; }