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;
 }