diff --git a/lib/bigquery/index.js b/lib/bigquery/index.js index 24f308cad8e..f08e5f07eb2 100644 --- a/lib/bigquery/index.js +++ b/lib/bigquery/index.js @@ -391,28 +391,27 @@ BigQuery.prototype.query = function(options, callback) { return; } - var job = that.job(resp.jobReference.jobId); - var nextQuery = null; - var rows = Table.mergeSchemaWithRows_(resp.schema, resp.rows || []); - - if (resp.jobComplete === false) { - // Query is still running. - nextQuery = extend({ - job: job - }, options); - } else if (resp.pageToken) { - // More results exist. - nextQuery = extend({ - job: job - }, options, { - pageToken: resp.pageToken - }); - } - - onComplete(null, rows, nextQuery); + var nextQuery = null; + var rows = Table.mergeSchemaWithRows_(resp.schema, resp.rows || []); + + if (resp.jobComplete === false) { + // Query is still running. + nextQuery = extend({ + job: that.job(options.job.id) + }, options); + } else if (resp.pageToken) { + // More results exist. + nextQuery = extend({ + job: that.job(resp.jobReference.jobId) + }, options, { + pageToken: resp.pageToken + }); + } + + onComplete(null, rows, nextQuery, resp); } - function onComplete(err, rows, nextQuery) { + function onComplete(err, rows, nextQuery, resp) { if (err) { if (stream) { stream.emit('error', err); @@ -434,7 +433,7 @@ BigQuery.prototype.query = function(options, callback) { stream.end(); } } else { - callback(null, rows, nextQuery); + callback(null, rows, nextQuery, resp); } } }