tree e81df5c145f42280929db2785526c9979db7ab7a
parent 77c0c6da3e7053355ba697b6bdebd8559f91673a
author shollyman <shollyman@google.com> 1593549963 -0700
committer GitHub <noreply@github.com> 1593549963 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJe+6SLCRBK7hj4Ov3rIwAAdHIIAKjTsqAPJI0+ZS9lBUT4GAy0
 JAqcudsevV5IqZZYm3rtDkaoxjGT1hZpxYzD455gjtNvaiX1rytFsRAaURsF9vXU
 JfkDuWpvlqVXsMaJTpPlnK76eRcLJXniNph+lJ7R/cDnbHwaBx3UT6n82+sZSen1
 vItH7hKkka/m7FKT+v5QFyk82662eTNFZcAKs/NaMq053032dPZLtTHwIyixnrA8
 xZPjqsj5ZF8xOty967+0T3FXBrx1FQKK/ZLpMx9PYXRucDoD7B5j423Q6rxQQW56
 pXN2llXd/j8coA2s+j/MgTqD/iMG88J9gO0SyncN8ZhQOo4lLSR2YYHinojDDSg=
 =M65/
 -----END PGP SIGNATURE-----
 

bigquery: refactor RowIterator to support fast query path (#2484)

This CL significantly revamps the rowiterator.

Previously, row iteration necessitated a reference to a Table object.
For jobs, this meant we would consult job statistics to find the
reference to the destination table.

With this change, we switch to using the jobs.getQueryResults RPC to get
rows from a job, while still allowing table reads to use the existing
tabledata.list mechanism.

This change also includes support for a caching abstraction in the row
iterator, which is added but not yet leveraged.  This will be wired up
in subsequent PRs that change the query execution path.

Additionally, this PR address some other reported issues against the library as the use of jobs.getQueryResults allows the service to make decisions about the source of results (e.g. in cases where a scripting/multistatement query returns resultsets from a child job).

Fixes: #1960, #1974