From 0880bed126902f24b3d5a37398a66974ba732e61 Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Tue, 26 Sep 2023 15:12:03 -0700 Subject: [PATCH] Apply the same fix as #54 to `query_all` Fixes #61. --- src/job.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/job.rs b/src/job.rs index c5b39ef..53fc446 100644 --- a/src/job.rs +++ b/src/job.rs @@ -101,15 +101,22 @@ impl JobApi { project_id, job_id, GetQueryResultsParameters { - page_token, + page_token: page_token.clone(), max_results: page_size, ..Default::default() }, ) .await?; + // Waiting for the job to be completed. + if !qr.job_complete.unwrap_or(false) { + tokio::time::sleep(tokio::time::Duration::from_millis(200)).await; + continue; + } + // Rows is present when the query finishes successfully. - yield Ok(qr.rows.expect("Rows are not present")); + // Rows is empty when query result is empty. + yield Ok(qr.rows.unwrap_or_default()); page_token = match qr.page_token { None => break,