Skip to content

Commit 7d829ba

Browse files
committed
Ensure total row count is integer or None for 'Query.fetch_data'.
1 parent aed487d commit 7d829ba

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

gcloud/bigquery/query.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,8 @@ def fetch_data(self, max_results=None, page_token=None, start_index=None,
343343
self._set_properties(response)
344344

345345
total_rows = response.get('totalRows')
346+
if total_rows is not None:
347+
total_rows = int(total_rows)
346348
page_token = response.get('pageToken')
347349
rows_data = _rows_from_json(response.get('rows', ()), self.schema)
348350

gcloud/bigquery/test_query.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def _makeResource(self, complete=False):
4747
}
4848

4949
if complete:
50-
resource['totalRows'] = 1000
50+
resource['totalRows'] = '1000'
5151
resource['rows'] = [
5252
{'f': [
5353
{'v': 'Phred Phlyntstone'},
@@ -240,6 +240,7 @@ def test_fetch_data_w_bound_client(self):
240240
PATH = 'projects/%s/queries/%s' % (self.PROJECT, self.JOB_NAME)
241241
BEFORE = self._makeResource(complete=False)
242242
AFTER = self._makeResource(complete=True)
243+
del AFTER['totalRows']
243244

244245
conn = _Connection(AFTER)
245246
client = _Client(project=self.PROJECT, connection=conn)
@@ -255,7 +256,7 @@ def test_fetch_data_w_bound_client(self):
255256
self.assertEqual(rows[1], ('Bharney Rhubble', 33))
256257
self.assertEqual(rows[2], ('Wylma Phlyntstone', 29))
257258
self.assertEqual(rows[3], ('Bhettye Rhubble', 27))
258-
self.assertEqual(total_rows, AFTER['totalRows'])
259+
self.assertEqual(total_rows, None)
259260
self.assertEqual(page_token, AFTER['pageToken'])
260261

261262
self.assertEqual(len(conn._requested), 1)
@@ -290,7 +291,7 @@ def test_fetch_data_w_alternate_client(self):
290291
self.assertEqual(rows[1], ('Bharney Rhubble', 33))
291292
self.assertEqual(rows[2], ('Wylma Phlyntstone', 29))
292293
self.assertEqual(rows[3], ('Bhettye Rhubble', 27))
293-
self.assertEqual(total_rows, AFTER['totalRows'])
294+
self.assertEqual(total_rows, int(AFTER['totalRows']))
294295
self.assertEqual(page_token, AFTER['pageToken'])
295296

296297
self.assertEqual(len(conn1._requested), 0)

0 commit comments

Comments
 (0)