aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/cloud.google.com
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-06-24 14:30:25 +0200
committerTaras Madan <tarasmadan@google.com>2024-07-05 07:51:41 +0000
commit5145b76b8a41b71a7b3c06373959c12f3a22014b (patch)
treed87c1ca1d0979767cc07ace6c0a616ec311a8fc6 /vendor/cloud.google.com
parent7d7fe8807550c6e02def380d335ae0230f1e495c (diff)
vendor: add bigquery client library
Diffstat (limited to 'vendor/cloud.google.com')
-rw-r--r--vendor/cloud.google.com/go/bigquery/CHANGES.md891
-rw-r--r--vendor/cloud.google.com/go/bigquery/LICENSE202
-rw-r--r--vendor/cloud.google.com/go/bigquery/README.md47
-rw-r--r--vendor/cloud.google.com/go/bigquery/arrow.go286
-rw-r--r--vendor/cloud.google.com/go/bigquery/bigquery.go310
-rw-r--r--vendor/cloud.google.com/go/bigquery/bigquery.replay28376
-rw-r--r--vendor/cloud.google.com/go/bigquery/copy.go143
-rw-r--r--vendor/cloud.google.com/go/bigquery/dataset.go982
-rw-r--r--vendor/cloud.google.com/go/bigquery/doc.go321
-rw-r--r--vendor/cloud.google.com/go/bigquery/error.go106
-rw-r--r--vendor/cloud.google.com/go/bigquery/external.go576
-rw-r--r--vendor/cloud.google.com/go/bigquery/extract.go158
-rw-r--r--vendor/cloud.google.com/go/bigquery/file.go167
-rw-r--r--vendor/cloud.google.com/go/bigquery/gcs.go81
-rw-r--r--vendor/cloud.google.com/go/bigquery/iam.go142
-rw-r--r--vendor/cloud.google.com/go/bigquery/inserter.go249
-rw-r--r--vendor/cloud.google.com/go/bigquery/internal/query/order.go67
-rw-r--r--vendor/cloud.google.com/go/bigquery/internal/version.go19
-rw-r--r--vendor/cloud.google.com/go/bigquery/intervalvalue.go321
-rw-r--r--vendor/cloud.google.com/go/bigquery/iterator.go413
-rw-r--r--vendor/cloud.google.com/go/bigquery/job.go1160
-rw-r--r--vendor/cloud.google.com/go/bigquery/load.go240
-rw-r--r--vendor/cloud.google.com/go/bigquery/model.go304
-rw-r--r--vendor/cloud.google.com/go/bigquery/nulls.go410
-rw-r--r--vendor/cloud.google.com/go/bigquery/params.go683
-rw-r--r--vendor/cloud.google.com/go/bigquery/query.go526
-rw-r--r--vendor/cloud.google.com/go/bigquery/random.go56
-rw-r--r--vendor/cloud.google.com/go/bigquery/routine.go542
-rw-r--r--vendor/cloud.google.com/go/bigquery/schema.go704
-rw-r--r--vendor/cloud.google.com/go/bigquery/standardsql.go231
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/auxiliary.go17
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_read_client.go323
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_write_client.go458
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/doc.go121
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/info.go33
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/annotations.pb.go119
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/arrow.pb.go396
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/avro.pb.go332
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/protobuf.pb.go257
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/storage.pb.go3496
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/stream.pb.go1303
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/table.pb.go672
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage/apiv1/version.go23
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage_client.go174
-rw-r--r--vendor/cloud.google.com/go/bigquery/storage_iterator.go371
-rw-r--r--vendor/cloud.google.com/go/bigquery/table.go1262
-rw-r--r--vendor/cloud.google.com/go/bigquery/value.go993
-rw-r--r--vendor/cloud.google.com/go/internal/uid/uid.go149
48 files changed, 49212 insertions, 0 deletions
diff --git a/vendor/cloud.google.com/go/bigquery/CHANGES.md b/vendor/cloud.google.com/go/bigquery/CHANGES.md
new file mode 100644
index 000000000..bd19d2656
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/CHANGES.md
@@ -0,0 +1,891 @@
+# Changes
+
+
+
+
+## [1.60.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.59.1...bigquery/v1.60.0) (2024-03-27)
+
+
+### Features
+
+* **bigquery/analyticshub:** Support selective sharing on data clean room Listings ([a3bb7c0](https://github.com/googleapis/google-cloud-go/commit/a3bb7c07ba570f26c6eb073ab3275487784547d0))
+* **bigquery/datatransfer:** Add UnenrollDataSources API which gives users a programmatic way to unenroll data sources ([a86aa8e](https://github.com/googleapis/google-cloud-go/commit/a86aa8e962b77d152ee6cdd433ad94967150ef21))
+* **bigquery/storage:** Add the RANGE type to the google.cloud.bigquery.storage.v1.TableFieldSchema ([0195fe9](https://github.com/googleapis/google-cloud-go/commit/0195fe9292274ff9d86c71079a8e96ed2e5f9331))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Fix flowcontrol refund on error ([#9649](https://github.com/googleapis/google-cloud-go/issues/9649)) ([a07bf1d](https://github.com/googleapis/google-cloud-go/commit/a07bf1d463416d8a4bbfbbd7e720653962fb27d5))
+* **bigquery/storage/managedwriter:** Retry improvements ([#9642](https://github.com/googleapis/google-cloud-go/issues/9642)) ([48a9258](https://github.com/googleapis/google-cloud-go/commit/48a9258954b9be40d74656dc12fe46f2bbc19bda))
+* **bigquery:** Update protobuf dep to v1.33.0 ([30b038d](https://github.com/googleapis/google-cloud-go/commit/30b038d8cac0b8cd5dd4761c87f3f298760dd33a))
+
+
+### Documentation
+
+* **bigquery/datatransfer:** Update unenrollDataSources API documentation ([#9449](https://github.com/googleapis/google-cloud-go/issues/9449)) ([da644cc](https://github.com/googleapis/google-cloud-go/commit/da644ccc6f154d41b8bedf21f4c4cc8aa9ce41bf))
+* **bigquery/storage:** Mark BigQueryWrite v1beta2 as deprecated ([d130d86](https://github.com/googleapis/google-cloud-go/commit/d130d861f55d137a2803340c2e11da3589669cb8))
+
+## [1.59.1](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.59.0...bigquery/v1.59.1) (2024-02-12)
+
+
+### Bug Fixes
+
+* **bigquery:** Align return time.Time values to UTC ([#9411](https://github.com/googleapis/google-cloud-go/issues/9411)) ([4ac005d](https://github.com/googleapis/google-cloud-go/commit/4ac005d77f1e19981c7e1ab1cebec1302e0840ca))
+
+## [1.59.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.58.0...bigquery/v1.59.0) (2024-02-06)
+
+
+### Features
+
+* **bigquery:** Add ExportDataStatstics to QueryStatistics ([#9371](https://github.com/googleapis/google-cloud-go/issues/9371)) ([261c8d9](https://github.com/googleapis/google-cloud-go/commit/261c8d944b53ac8953ea7d771c4bb50e4078d508))
+* **bigquery:** Switch all timestamp representations to int64 usec ([#9368](https://github.com/googleapis/google-cloud-go/issues/9368)) ([8c1fb7d](https://github.com/googleapis/google-cloud-go/commit/8c1fb7d4728ebc3b21cb0d601952966dca9cd1e8))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Resolve data races ([#9360](https://github.com/googleapis/google-cloud-go/issues/9360)) ([fa31ec0](https://github.com/googleapis/google-cloud-go/commit/fa31ec0c0f04302a9713a9b1d3228bda2ba135c6))
+* **bigquery:** Enable universe domain resolution options ([fd1d569](https://github.com/googleapis/google-cloud-go/commit/fd1d56930fa8a747be35a224611f4797b8aeb698))
+* **bigquery:** Support more timestamp formats for query param ([#9236](https://github.com/googleapis/google-cloud-go/issues/9236)) ([cc98509](https://github.com/googleapis/google-cloud-go/commit/cc98509fc7961e3d3619b837d13e69f9621386e8)), refs [#9221](https://github.com/googleapis/google-cloud-go/issues/9221)
+
+## [1.58.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.57.1...bigquery/v1.58.0) (2024-01-18)
+
+
+### Features
+
+* **bigquery/storage/managedwriter:** Improve schema comparison stability ([#9241](https://github.com/googleapis/google-cloud-go/issues/9241)) ([faccb68](https://github.com/googleapis/google-cloud-go/commit/faccb68deeb18ad51875042242a1141285448bbb))
+* **bigquery/storage:** Add ability to request compressed ReadRowsResponse rows ([c3f1174](https://github.com/googleapis/google-cloud-go/commit/c3f1174dc29d1c00d514a69590bd83f9b08a60d1))
+* **bigquery:** Add DataGovernanceType to routines ([#8990](https://github.com/googleapis/google-cloud-go/issues/8990)) ([57491ae](https://github.com/googleapis/google-cloud-go/commit/57491ae3b7bbcee2abe1064dfb4f18cb3a511265))
+* **bigquery:** Add schema support for RANGE type ([#9050](https://github.com/googleapis/google-cloud-go/issues/9050)) ([477ccee](https://github.com/googleapis/google-cloud-go/commit/477ccee8eb210a0e0f9c71513318e0fbbd08928c))
+* **bigquery:** Add support for AllowNonIncrementalDefinition and Staleness on MaterializedView ([#8673](https://github.com/googleapis/google-cloud-go/issues/8673)) ([6ec2bb2](https://github.com/googleapis/google-cloud-go/commit/6ec2bb218335acf791af859852fc6c8e9bea7a08))
+* **bigquery:** Add table resource tags support ([#9084](https://github.com/googleapis/google-cloud-go/issues/9084)) ([3569cc2](https://github.com/googleapis/google-cloud-go/commit/3569cc27b3357c3f62ccfae1670a1bf6383dee9a))
+* **bigquery:** Expose query id on row iterator if available ([#9224](https://github.com/googleapis/google-cloud-go/issues/9224)) ([bbff8ac](https://github.com/googleapis/google-cloud-go/commit/bbff8ac817fb95af219c588bdadc0ca1784c5c0c))
+
+
+### Documentation
+
+* **bigquery/storage/managedwriter:** Add documentation for ingesting JSON to a ManagedStream ([#9137](https://github.com/googleapis/google-cloud-go/issues/9137)) ([cae54ed](https://github.com/googleapis/google-cloud-go/commit/cae54ed31548e6f17f3b6bc217bb117723f04e15))
+* **bigquery:** Update package docs to show query parameterization ([#8965](https://github.com/googleapis/google-cloud-go/issues/8965)) ([cc76ab3](https://github.com/googleapis/google-cloud-go/commit/cc76ab35c25a672ed3255c0b26a99bef2cb81868))
+
+## [1.57.1](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.57.0...bigquery/v1.57.1) (2023-11-01)
+
+
+### Bug Fixes
+
+* **bigquery:** Correct deps issue ([#8958](https://github.com/googleapis/google-cloud-go/issues/8958)) ([abd6ca7](https://github.com/googleapis/google-cloud-go/commit/abd6ca7e4d59595abe6ffb2abf738b445955d0ce))
+
+## [1.57.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.56.0...bigquery/v1.57.0) (2023-10-30)
+
+
+### Features
+
+* **bigquery/biglake:** Promote to GA ([e864fbc](https://github.com/googleapis/google-cloud-go/commit/e864fbcbc4f0a49dfdb04850b07451074c57edc8))
+* **bigquery/storage/managedwriter:** Support default value controls ([#8686](https://github.com/googleapis/google-cloud-go/issues/8686)) ([dfa8e22](https://github.com/googleapis/google-cloud-go/commit/dfa8e22edf560211ae2a2ebf1f9a23b86887c7be))
+* **bigquery:** Expose Apache Arrow data through ArrowIterator ([#8506](https://github.com/googleapis/google-cloud-go/issues/8506)) ([c8e7692](https://github.com/googleapis/google-cloud-go/commit/c8e76923621b379fb7deb6dfb944011af1d980bd)), refs [#8100](https://github.com/googleapis/google-cloud-go/issues/8100)
+* **bigquery:** Introduce query preview features ([#8653](https://github.com/googleapis/google-cloud-go/issues/8653)) ([f29683b](https://github.com/googleapis/google-cloud-go/commit/f29683bcd06567e4fc2d404f53bedbea5b5f0f90))
+
+
+### Bug Fixes
+
+* **bigquery:** Handle storage read api Recv call errors ([#8666](https://github.com/googleapis/google-cloud-go/issues/8666)) ([c73963f](https://github.com/googleapis/google-cloud-go/commit/c73963f64ef667daa8a33a5a4cc2156818fc6914))
+* **bigquery:** Update golang.org/x/net to v0.17.0 ([174da47](https://github.com/googleapis/google-cloud-go/commit/174da47254fefb12921bbfc65b7829a453af6f5d))
+* **bigquery:** Update grpc-go to v1.56.3 ([343cea8](https://github.com/googleapis/google-cloud-go/commit/343cea8c43b1e31ae21ad50ad31d3b0b60143f8c))
+* **bigquery:** Update grpc-go to v1.59.0 ([81a97b0](https://github.com/googleapis/google-cloud-go/commit/81a97b06cb28b25432e4ece595c55a9857e960b7))
+
+## [1.56.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.55.0...bigquery/v1.56.0) (2023-10-05)
+
+
+### Features
+
+* **bigquery/analyticshub:** Add Subscription resource and RPCs ([#8612](https://github.com/googleapis/google-cloud-go/issues/8612)) ([9992249](https://github.com/googleapis/google-cloud-go/commit/999224951d586513bd382483326b455c953a14f3))
+* **bigquery:** Add external dataset reference ([#8545](https://github.com/googleapis/google-cloud-go/issues/8545)) ([1001acf](https://github.com/googleapis/google-cloud-go/commit/1001acf6ac894a7d9945b7d204ad55aa7b162909))
+* **bigquery:** Add media options to LoadConfig ([#8640](https://github.com/googleapis/google-cloud-go/issues/8640)) ([62baf56](https://github.com/googleapis/google-cloud-go/commit/62baf569c052a8c565710533ba50a1f5df8176dd))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Automatic retry for multiplex test ([#8601](https://github.com/googleapis/google-cloud-go/issues/8601)) ([6ef1945](https://github.com/googleapis/google-cloud-go/commit/6ef1945a837430afcd195affd661768817cdc40b))
+* **bigquery:** Dependency detection on proto conversion ([#8566](https://github.com/googleapis/google-cloud-go/issues/8566)) ([763ab5d](https://github.com/googleapis/google-cloud-go/commit/763ab5dbd466fd0450dcd46e38c75e87cbf6c49c))
+
+
+### Documentation
+
+* **bigquery/datatransfer:** Update transferConfig.name description to indicate that it supports both formats ([0449518](https://github.com/googleapis/google-cloud-go/commit/0449518f8396cc0280c0f3303c103edcee34016b))
+
+## [1.55.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.54.0...bigquery/v1.55.0) (2023-09-11)
+
+
+### Features
+
+* **bigquery/datapolicies:** Support using custom UDF in the data policy ([20725c8](https://github.com/googleapis/google-cloud-go/commit/20725c86c970ad24efa18c056fc3aa71dc3a4f03))
+* **bigquery:** Set PreferredMinStreamCount when creating read session ([#8476](https://github.com/googleapis/google-cloud-go/issues/8476)) ([22e095a](https://github.com/googleapis/google-cloud-go/commit/22e095adea77a2bc3900f5d5c57715d4a9ed4fcb)), refs [#8432](https://github.com/googleapis/google-cloud-go/issues/8432)
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Address possible deadlocks ([#8507](https://github.com/googleapis/google-cloud-go/issues/8507)) ([48b08bf](https://github.com/googleapis/google-cloud-go/commit/48b08bf47494052a2652a3ab519de76fddc74c8a))
+* **bigquery:** Field descriptor proto name should not be lowercase ([#8495](https://github.com/googleapis/google-cloud-go/issues/8495)) ([4287e4b](https://github.com/googleapis/google-cloud-go/commit/4287e4bed40e69203ddb55bd754e3adbf269ba9e))
+* **bigquery:** Value for datasetID on foreign keys ([#8447](https://github.com/googleapis/google-cloud-go/issues/8447)) ([fa6e827](https://github.com/googleapis/google-cloud-go/commit/fa6e827a5997fb7abe97375ea6abb7d2fc71047d)), refs [#8442](https://github.com/googleapis/google-cloud-go/issues/8442)
+
+## [1.54.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.53.0...bigquery/v1.54.0) (2023-08-17)
+
+
+### Features
+
+* **bigquery/biglake:** Start generating apiv1 and apiv1alpha1 ([#8433](https://github.com/googleapis/google-cloud-go/issues/8433)) ([916f779](https://github.com/googleapis/google-cloud-go/commit/916f779a3513b2532d2e0fbd15bfd381ae3efeb5))
+* **bigquery/datatransfer:** Add EncryptionConfiguration to TransferConfig ([e3f8c89](https://github.com/googleapis/google-cloud-go/commit/e3f8c89429a207c05fee36d5d93efe76f9e29efe))
+* **bigquery/storage/managedwriter:** Refine connection metrics ([#8324](https://github.com/googleapis/google-cloud-go/issues/8324)) ([54fcf36](https://github.com/googleapis/google-cloud-go/commit/54fcf36fe7e26d6e3d11deec19f56e92ceb87d34))
+* **bigquery/storage:** Add beta2 deprecation message ([b3dbdde](https://github.com/googleapis/google-cloud-go/commit/b3dbdde48ddfa215c3c3bb110e0051fd8158f451))
+* **bigquery/storage:** Add default_missing_value_interpretation field; indicate KMS_SERVICE_ERROR is retryable ([b3dbdde](https://github.com/googleapis/google-cloud-go/commit/b3dbdde48ddfa215c3c3bb110e0051fd8158f451))
+* **bigquery:** Add ProjectID to JobIDConfig ([#8405](https://github.com/googleapis/google-cloud-go/issues/8405)) ([7fafd80](https://github.com/googleapis/google-cloud-go/commit/7fafd805327a0734e1602a597c2ded09a860f405))
+
+
+### Bug Fixes
+
+* **bigquery/datapolicies:** Sync the new PredefinedEpxression types to the client library ([fcb41cc](https://github.com/googleapis/google-cloud-go/commit/fcb41cc1d2435452ee78314c1b0362e3f21ae637))
+* **bigquery:** Use JobFromProject for storage iterator ([#8372](https://github.com/googleapis/google-cloud-go/issues/8372)) ([bfbf18c](https://github.com/googleapis/google-cloud-go/commit/bfbf18cb373cd6a88a22eec8db7033f6678df755))
+
+
+### Documentation
+
+* **bigquery/storage/managedwriter:** Augment context usage in package docs ([#8334](https://github.com/googleapis/google-cloud-go/issues/8334)) ([b30a7f4](https://github.com/googleapis/google-cloud-go/commit/b30a7f4a520c358eb71e1378b98e7413c2ea7f81))
+* **bigquery:** Improve RowIterator docs and out of process pagination with Storage API ([#8419](https://github.com/googleapis/google-cloud-go/issues/8419)) ([40f8f80](https://github.com/googleapis/google-cloud-go/commit/40f8f809d9ad1e6d2d0f6207cdf38428c306cb66))
+
+## [1.53.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.52.0...bigquery/v1.53.0) (2023-07-24)
+
+
+### Features
+
+* **bigquery/analyticshub:** Promote to GA ([130c571](https://github.com/googleapis/google-cloud-go/commit/130c5713dcbac7f670cb92ea113dd53d8029c960))
+* **bigquery/connection:** Add support for Salesforce connections, which are usable only by allowlisted partners ([bac978a](https://github.com/googleapis/google-cloud-go/commit/bac978ace43bb58db7c0b1475e41c8fdf8c49a29))
+* **bigquery/datapolicies:** Promote to GA ([130c571](https://github.com/googleapis/google-cloud-go/commit/130c5713dcbac7f670cb92ea113dd53d8029c960))
+* **bigquery/storage:** Add ResourceExhausted to retryable error for Write API unary calls ([#8214](https://github.com/googleapis/google-cloud-go/issues/8214)) ([8ff13bf](https://github.com/googleapis/google-cloud-go/commit/8ff13bf87397ad524019268c1146e44f3c1cd0e6))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Context refactoring ([#8275](https://github.com/googleapis/google-cloud-go/issues/8275)) ([c4104ea](https://github.com/googleapis/google-cloud-go/commit/c4104eaab0d7291c15aba37b78e71ce3cbb9f77a))
+
+## [1.52.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.51.2...bigquery/v1.52.0) (2023-06-23)
+
+
+### Features
+
+* **bigquery/storage:** Add estimated physical file sizes to ReadAPI v1 ([94ea341](https://github.com/googleapis/google-cloud-go/commit/94ea3410e233db6040a7cb0a931948f1e3bb4c9a))
+* **bigquery/storage:** Add table sampling to ReadAPI v1 ([ca94e27](https://github.com/googleapis/google-cloud-go/commit/ca94e2724f9e2610b46aefd0a3b5ddc06102e91b))
+* **bigquery:** Support for tables primary and foreign keys ([#8055](https://github.com/googleapis/google-cloud-go/issues/8055)) ([93d6a1a](https://github.com/googleapis/google-cloud-go/commit/93d6a1a1a3bde8d3519acc2b7e77bf8b7ba1678a))
+* **bigquery:** Update all direct dependencies ([b340d03](https://github.com/googleapis/google-cloud-go/commit/b340d030f2b52a4ce48846ce63984b28583abde6))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Correct reconnection logic ([#8164](https://github.com/googleapis/google-cloud-go/issues/8164)) ([a67d53d](https://github.com/googleapis/google-cloud-go/commit/a67d53ddf13b7d382d4c7856cafb068919021912))
+* **bigquery:** REST query UpdateMask bug ([df52820](https://github.com/googleapis/google-cloud-go/commit/df52820b0e7721954809a8aa8700b93c5662dc9b))
+* **bigquery:** RowIterator.Schema not filled when using Storage Read API ([#7671](https://github.com/googleapis/google-cloud-go/issues/7671)) ([31040e8](https://github.com/googleapis/google-cloud-go/commit/31040e8a7989b143c0c3c3f3e31c4a9dfbba8094))
+
+## [1.51.2](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.51.1...bigquery/v1.51.2) (2023-05-08)
+
+
+### Bug Fixes
+
+* **bigquery:** Update grpc to v1.55.0 ([1147ce0](https://github.com/googleapis/google-cloud-go/commit/1147ce02a990276ca4f8ab7a1ab65c14da4450ef))
+
+## [1.51.1](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.51.0...bigquery/v1.51.1) (2023-05-04)
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Schema evolution improvements ([#7838](https://github.com/googleapis/google-cloud-go/issues/7838)) ([49a1621](https://github.com/googleapis/google-cloud-go/commit/49a1621254cc9cc16cbcc2ca779979edfd2565ab))
+* **bigquery:** Upgrade arrow to v12 to fix build error ([#7870](https://github.com/googleapis/google-cloud-go/issues/7870)) ([402e365](https://github.com/googleapis/google-cloud-go/commit/402e3651c18b9e5b73529e9a8f9bdeac71323875))
+
+
+### Documentation
+
+* **bigquery/storage/managedwriter:** Improve tuning guidance ([#7848](https://github.com/googleapis/google-cloud-go/issues/7848)) ([ca2184c](https://github.com/googleapis/google-cloud-go/commit/ca2184c8e7094294479665ca02ae9b29c21b09aa))
+
+## [1.51.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.50.0...bigquery/v1.51.0) (2023-04-17)
+
+
+### Features
+
+* **bigquery/storage/managedwriter:** Expose connection multiplexing as experimental ([#7673](https://github.com/googleapis/google-cloud-go/issues/7673)) ([3b8bfb4](https://github.com/googleapis/google-cloud-go/commit/3b8bfb44a237fc0696e77a47c5a8305caa5ec64b))
+* **bigquery:** Add Iceberg as DataFormat option. ([#7155](https://github.com/googleapis/google-cloud-go/issues/7155)) ([7a9e211](https://github.com/googleapis/google-cloud-go/commit/7a9e21121ca8debffe11fe16d1b96b0d969e11ac))
+* **bigquery:** Expose dataset MaxTimeTravelHours ([#7706](https://github.com/googleapis/google-cloud-go/issues/7706)) ([22a666c](https://github.com/googleapis/google-cloud-go/commit/22a666c766fa4565ee120574709b345e7fc37c5f))
+
+
+### Bug Fixes
+
+* **bigquery:** Respect context during query execution ([#7693](https://github.com/googleapis/google-cloud-go/issues/7693)) ([56772f5](https://github.com/googleapis/google-cloud-go/commit/56772f50217574e6776efeefef767c16e374e593))
+
+## [1.50.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.49.0...bigquery/v1.50.0) (2023-04-03)
+
+
+### Features
+
+* **bigquery/connection:** Add spark connection properties type ([#7570](https://github.com/googleapis/google-cloud-go/issues/7570)) ([499b489](https://github.com/googleapis/google-cloud-go/commit/499b489d8d6bc8db203c864db97f1462bbeff3d2))
+* **bigquery/migration:** Add request_source field and update formatting ([#7586](https://github.com/googleapis/google-cloud-go/issues/7586)) ([c967961](https://github.com/googleapis/google-cloud-go/commit/c967961ed95750e173af0193ec8d0974471f43ff))
+* **bigquery/reservation:** Add edition/autoscale related fields ([#7608](https://github.com/googleapis/google-cloud-go/issues/7608)) ([2b7bb66](https://github.com/googleapis/google-cloud-go/commit/2b7bb662eb00671b8ee933766f4254f897131a7c))
+* **bigquery/storage/managedwriter:** Decouple connections and writers ([#7314](https://github.com/googleapis/google-cloud-go/issues/7314)) ([7d085b4](https://github.com/googleapis/google-cloud-go/commit/7d085b4b25a29ff1a81164409fc68b8bcb5eacc4))
+* **bigquery/storage/managedwriter:** Introduce location routing header ([#7663](https://github.com/googleapis/google-cloud-go/issues/7663)) ([cf06802](https://github.com/googleapis/google-cloud-go/commit/cf068024f1066ee391191066039d7ba2668dd3f4))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Fix option propagation ([#7669](https://github.com/googleapis/google-cloud-go/issues/7669)) ([f684e16](https://github.com/googleapis/google-cloud-go/commit/f684e1610c51311c597763b5d1447c178173940a))
+
+
+### Documentation
+
+* **bigquery/reservation:** Mention that some fields are deprecated ([597ea0f](https://github.com/googleapis/google-cloud-go/commit/597ea0fe09bcea04e884dffe78add850edb2120d))
+
+## [1.49.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.48.0...bigquery/v1.49.0) (2023-03-16)
+
+
+### Features
+
+* **bigquery:** Add support for storage billing model ([#7510](https://github.com/googleapis/google-cloud-go/issues/7510)) ([0132ca9](https://github.com/googleapis/google-cloud-go/commit/0132ca9e43f979d0e164b31a1fde203694311b43)), refs [#6978](https://github.com/googleapis/google-cloud-go/issues/6978)
+* **bigquery:** Update iam and longrunning deps ([91a1f78](https://github.com/googleapis/google-cloud-go/commit/91a1f784a109da70f63b96414bba8a9b4254cddd))
+
+## [1.48.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.47.0...bigquery/v1.48.0) (2023-03-01)
+
+
+### Features
+
+* **bigquery/connection:** Add cloud spanner connection properties - serverless analytics ([#7487](https://github.com/googleapis/google-cloud-go/issues/7487)) ([14771b1](https://github.com/googleapis/google-cloud-go/commit/14771b146b7add234183d0884ac822b2f05af0e5))
+* **bigquery/storage/managedwriter:** Mark managedwriter as GA ([#6804](https://github.com/googleapis/google-cloud-go/issues/6804)) ([3d3eeda](https://github.com/googleapis/google-cloud-go/commit/3d3eedacbaa209ac63f9ada17074620585d03726))
+
+## [1.47.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.46.0...bigquery/v1.47.0) (2023-02-22)
+
+
+### Features
+
+* **bigquery/storage:** Add default_value_expression to TableFieldSchema ([#7400](https://github.com/googleapis/google-cloud-go/issues/7400)) ([1244b3f](https://github.com/googleapis/google-cloud-go/commit/1244b3f63338ffe7af9051fd368b6b81ca63ff37))
+* **bigquery:** Add support for session in load jobs ([#7418](https://github.com/googleapis/google-cloud-go/issues/7418)) ([f9ff2ca](https://github.com/googleapis/google-cloud-go/commit/f9ff2ca3a01736b049873ff43005626e8c06e6b2))
+
+
+### Bug Fixes
+
+* **bigquery:** Avoid double-channel-close during context cancellation ([#7467](https://github.com/googleapis/google-cloud-go/issues/7467)) ([ca4b2ef](https://github.com/googleapis/google-cloud-go/commit/ca4b2efbda670566f2cfed4eacd559f31cf460ff))
+
+## [1.46.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.45.0...bigquery/v1.46.0) (2023-02-06)
+
+
+### Features
+
+* **bigquery:** Add dataset/table collation ([#7235](https://github.com/googleapis/google-cloud-go/issues/7235)) ([9f7bbeb](https://github.com/googleapis/google-cloud-go/commit/9f7bbeb466bd7572544c4178a33370a25b5f1496))
+* **bigquery:** Use storage api for query jobs ([#6822](https://github.com/googleapis/google-cloud-go/issues/6822)) ([26c04f4](https://github.com/googleapis/google-cloud-go/commit/26c04f4cd5083b4aa3c219500572d3af2f291645))
+
+
+### Bug Fixes
+
+* **bigquery:** Create/update an isolated dataset for collation feature ([#7256](https://github.com/googleapis/google-cloud-go/issues/7256)) ([b371558](https://github.com/googleapis/google-cloud-go/commit/b3715585aa6892fc41a29027694c72f31390441a))
+* **bigquery:** Fetch dst table for jobs when readings with Storage API ([#7325](https://github.com/googleapis/google-cloud-go/issues/7325)) ([0bf80d7](https://github.com/googleapis/google-cloud-go/commit/0bf80d72a893755adefdead900e8990ed53d9627)), refs [#7322](https://github.com/googleapis/google-cloud-go/issues/7322)
+
+## [1.45.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.44.0...bigquery/v1.45.0) (2023-01-05)
+
+
+### Features
+
+* **bigquery/datapolicies:** Start generating apiv1 ([#7204](https://github.com/googleapis/google-cloud-go/issues/7204)) ([fd71cba](https://github.com/googleapis/google-cloud-go/commit/fd71cba7b6d5a015dcdb24b9eacc7fae1aa54c89))
+* **bigquery/datatransfer:** Add location methods ([06a54a1](https://github.com/googleapis/google-cloud-go/commit/06a54a16a5866cce966547c51e203b9e09a25bc0))
+* **bigquery:** Add REST client ([06a54a1](https://github.com/googleapis/google-cloud-go/commit/06a54a16a5866cce966547c51e203b9e09a25bc0))
+* **bigquery:** Rewrite signatures and type in terms of new location ([620e6d8](https://github.com/googleapis/google-cloud-go/commit/620e6d828ad8641663ae351bfccfe46281e817ad))
+
+## [1.44.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.43.0...bigquery/v1.44.0) (2022-11-30)
+
+
+### Features
+
+* **bigquery/datatransfer:** added Location API methods docs: updated comments ([22ec3e3](https://github.com/googleapis/google-cloud-go/commit/22ec3e3e727f8c0232059a5d31bccd12b7b5034c))
+* **bigquery/storage:** add missing_value_interpretations to AppendRowsRequest ([2a0b1ae](https://github.com/googleapis/google-cloud-go/commit/2a0b1aeb1683222e6aa5c876cb945845c00cef79))
+* **bigquery:** Add default partition expiration to Dataset ([#7096](https://github.com/googleapis/google-cloud-go/issues/7096)) ([601c77a](https://github.com/googleapis/google-cloud-go/commit/601c77a69a27b5f13ebb4508f8222a98c8a904bc)), refs [#7021](https://github.com/googleapis/google-cloud-go/issues/7021)
+* **bigquery:** Remove code for reservation/apiv1beta1 ([#7010](https://github.com/googleapis/google-cloud-go/issues/7010)) ([451acc1](https://github.com/googleapis/google-cloud-go/commit/451acc1bfc04cc600ab3c1f50f5494e609e65ce2))
+* **bigquery:** Start generating proto stubs ([#7026](https://github.com/googleapis/google-cloud-go/issues/7026)) ([debc4c7](https://github.com/googleapis/google-cloud-go/commit/debc4c70786fece5d04d8cad9e9211c55a0a692f))
+* **bigquery:** Widen retry predicate ([#6976](https://github.com/googleapis/google-cloud-go/issues/6976)) ([753b751](https://github.com/googleapis/google-cloud-go/commit/753b75139f4b9e8593db5d45d8ab1e0cc8969350))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Remove old header routing ([#6960](https://github.com/googleapis/google-cloud-go/issues/6960)) ([434b407](https://github.com/googleapis/google-cloud-go/commit/434b407f4ba66247cb0a15288a2de8e76b691605))
+
+
+### Documentation
+
+* **bigquery/storage:** remove stale header guidance for AppendRows ([9c5d6c8](https://github.com/googleapis/google-cloud-go/commit/9c5d6c857b9deece4663d37fc6c834fd758b98ca))
+
+## [1.43.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.42.0...bigquery/v1.43.0) (2022-10-24)
+
+
+### Features
+
+* **bigquery/analyticshub:** rename nodejs analyticshub library package name ([52dddd1](https://github.com/googleapis/google-cloud-go/commit/52dddd1ed89fbe77e1859311c3b993a77a82bfc7))
+* **bigquery/storage/managedwriter:** Enable field name indirection ([#6247](https://github.com/googleapis/google-cloud-go/issues/6247)) ([1969273](https://github.com/googleapis/google-cloud-go/commit/19692735b0fbafa176d0315bda923528e1eedf6d))
+* **bigquery/storage/managedwriter:** Retry on FailedPrecondition ([#6761](https://github.com/googleapis/google-cloud-go/issues/6761)) ([d1a444d](https://github.com/googleapis/google-cloud-go/commit/d1a444d769c9578b586bef608d343b4b0abd3658))
+* **bigquery/storage/managedwriter:** Support append retries ([#6695](https://github.com/googleapis/google-cloud-go/issues/6695)) ([6ae9c67](https://github.com/googleapis/google-cloud-go/commit/6ae9c670a11d80b34872cb05fda933303b81851d))
+* **bigquery/storage/managedwriter:** Switch to opt-in retry ([#6765](https://github.com/googleapis/google-cloud-go/issues/6765)) ([a3e97a6](https://github.com/googleapis/google-cloud-go/commit/a3e97a6f15ad1989ef815b9bd5838192f9f226f1))
+* **bigquery:** Add remote function options to routine metadata ([#6702](https://github.com/googleapis/google-cloud-go/issues/6702)) ([d9a437d](https://github.com/googleapis/google-cloud-go/commit/d9a437de75a5f5151cd000d8f9a6b7fc567d8551))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Address possible resource leak ([#6775](https://github.com/googleapis/google-cloud-go/issues/6775)) ([979440b](https://github.com/googleapis/google-cloud-go/commit/979440b43573c1cfd744d3f63d0c633c7319ad46))
+* **bigquery:** Avoid stack overflow on query param with recursive types ([#6890](https://github.com/googleapis/google-cloud-go/issues/6890)) ([854ccfc](https://github.com/googleapis/google-cloud-go/commit/854ccfca259d747759d283fc0d0053893f3c8f8d)), refs [#6884](https://github.com/googleapis/google-cloud-go/issues/6884)
+* **bigquery:** Bq connection auth scopes ([#6752](https://github.com/googleapis/google-cloud-go/issues/6752)) ([8e09288](https://github.com/googleapis/google-cloud-go/commit/8e09288185f721d90288c3aa873980fc44b98613)), refs [#6744](https://github.com/googleapis/google-cloud-go/issues/6744)
+
+
+### Documentation
+
+* **bigquery/storage/managedwriter/adapt:** Typo in error string ([#6729](https://github.com/googleapis/google-cloud-go/issues/6729)) ([bb26153](https://github.com/googleapis/google-cloud-go/commit/bb26153d38475cd9784edbf241df84c368f5a166))
+* **bigquery/storage/managedwriter:** Add retry info to package docs ([#6803](https://github.com/googleapis/google-cloud-go/issues/6803)) ([81e52e5](https://github.com/googleapis/google-cloud-go/commit/81e52e59dcf3c4a44108e039fb0e3a0e2ce8284f))
+
+## [1.42.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.41.0...bigquery/v1.42.0) (2022-09-21)
+
+
+### Features
+
+* **bigquery/analyticshub:** Start generating apiv1 ([#6707](https://github.com/googleapis/google-cloud-go/issues/6707)) ([feb7d7d](https://github.com/googleapis/google-cloud-go/commit/feb7d7d4b85d51aef6798d87a6ba8e9c536d040c))
+* **bigquery/datapolicies:** Start generating apiv1beta1 ([#6697](https://github.com/googleapis/google-cloud-go/issues/6697)) ([f5443e8](https://github.com/googleapis/google-cloud-go/commit/f5443e81ae14e6aed2befe03c0df611bf5533b1f))
+* **bigquery/reservation/apiv1beta1:** add REST transport ([f7b0822](https://github.com/googleapis/google-cloud-go/commit/f7b082212b1e46ff2f4126b52d49618785c2e8ca))
+* **bigquery/storage/managedwriter:** Define append retry predicate ([#6650](https://github.com/googleapis/google-cloud-go/issues/6650)) ([478b8dd](https://github.com/googleapis/google-cloud-go/commit/478b8dd4e0d722cbf02fa2e216929eb561694fe0))
+* **bigquery/storage:** add proto annotation for non-ascii field mapping ([ec1a190](https://github.com/googleapis/google-cloud-go/commit/ec1a190abbc4436fcaeaa1421c7d9df624042752))
+* **bigquery:** Add reference file schema option for federated formats ([#6693](https://github.com/googleapis/google-cloud-go/issues/6693)) ([3d26091](https://github.com/googleapis/google-cloud-go/commit/3d26091bb8861ccfcc8d0a1727f8bbb9014ef866))
+* **bigquery:** Add support for explicit query parameter type ([#6596](https://github.com/googleapis/google-cloud-go/issues/6596)) ([d59b5b2](https://github.com/googleapis/google-cloud-go/commit/d59b5b2da7d1caa6622aec84b4004cf02fb4b066)), refs [#4704](https://github.com/googleapis/google-cloud-go/issues/4704)
+
+
+### Bug Fixes
+
+* **bigquery/connection:** integrate gapic-generator-python-1.4.1 and enable more py_test targets ([ec1a190](https://github.com/googleapis/google-cloud-go/commit/ec1a190abbc4436fcaeaa1421c7d9df624042752))
+
+## [1.41.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.40.0...bigquery/v1.41.0) (2022-09-14)
+
+
+### Features
+
+* **bigquery/storage:** add location to WriteStream and add WriteStreamView support ([6a0080a](https://github.com/googleapis/google-cloud-go/commit/6a0080ad69398c572d856886293e19c79cf0fc0e))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** Fix incorrect error retention ([#6659](https://github.com/googleapis/google-cloud-go/issues/6659)) ([dc02bca](https://github.com/googleapis/google-cloud-go/commit/dc02bca4ac14acb4f536f078a7d8f209626340bb))
+* **bigquery:** Parse timestamp query parameter with RFC3339 ([#6653](https://github.com/googleapis/google-cloud-go/issues/6653)) ([aabd2d6](https://github.com/googleapis/google-cloud-go/commit/aabd2d61c81ed598755656b4e7c3fd84dcd3b2d4))
+
+## [1.40.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.39.0...bigquery/v1.40.0) (2022-09-08)
+
+
+### ⚠ BREAKING CHANGES
+
+* **bigquery/dataexchange:** update BigQuery Analytics Hub API v1beta1 client BREAKING CHANGE: refresh current dataexchange/v1beta1/* directory to include recent change in protos. Removed common directory and use local enum Category fix!: refactor references to Category message docs: improve proto documentation.
+
+### Features
+
+* **bigquery/dataexchange:** update BigQuery Analytics Hub API v1beta1 client BREAKING CHANGE: refresh current dataexchange/v1beta1/* directory to include recent change in protos. Removed common directory and use local enum Category fix!: refactor references to Category message docs: improve proto documentation. ([e45ad9a](https://github.com/googleapis/google-cloud-go/commit/e45ad9af568c59151decc0dacedf137653b576dd))
+* **bigquery/storage/managedwriter:** Augment reconnection logic ([#6609](https://github.com/googleapis/google-cloud-go/issues/6609)) ([6b0ac0c](https://github.com/googleapis/google-cloud-go/commit/6b0ac0c400d2d5b26689176c71cc6db1db9b283f))
+* **bigquery:** Add trace instrumentation support for individual rpcs ([#6493](https://github.com/googleapis/google-cloud-go/issues/6493)) ([eedc632](https://github.com/googleapis/google-cloud-go/commit/eedc6327b845850d9d6109014a5d531dfbfa7d04))
+* **bigquery:** Improve error when reading null values ([#6566](https://github.com/googleapis/google-cloud-go/issues/6566)) ([e9a94c2](https://github.com/googleapis/google-cloud-go/commit/e9a94c2e52ca3d07bc15030cf411f7e1c5235d39)), refs [#2612](https://github.com/googleapis/google-cloud-go/issues/2612)
+
+
+### Documentation
+
+* **bigquery:** Add numeric and bignumeric to RowIterator docs ([#6560](https://github.com/googleapis/google-cloud-go/issues/6560)) ([bea4028](https://github.com/googleapis/google-cloud-go/commit/bea4028a5fde6e790f70b0a98c33b81b3ad4023e))
+
+
+### Miscellaneous Chores
+
+* **bigquery:** Release 1.40.0 ([#6635](https://github.com/googleapis/google-cloud-go/issues/6635)) ([628deae](https://github.com/googleapis/google-cloud-go/commit/628deae4e0e0f4f1ae7e99433eefdc8f7cc41b41))
+
+## [1.39.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.38.0...bigquery/v1.39.0) (2022-08-23)
+
+
+### Features
+
+* **bigquery/storage:** allow users to set Apache Avro output format options through avro_serialization_options param in TableReadOptions message Through AvroSerializationOptions, users can set enable_display_name_attribute, which populates displayName for every avro field with the original column name Improved documentation for selected_fields, added example for clarity. ([41ab4ec](https://github.com/googleapis/google-cloud-go/commit/41ab4ec00552931b12f61a9fcb27b36a7c0b5d77))
+* **bigquery:** add PreserveAsciiControlCharacters support for CSV ([#6448](https://github.com/googleapis/google-cloud-go/issues/6448)) ([b7bac2f](https://github.com/googleapis/google-cloud-go/commit/b7bac2fbf63c2a681da6fdbf5af217bf8de1455f))
+* **bigquery:** add preview support for default values ([#6464](https://github.com/googleapis/google-cloud-go/issues/6464)) ([edc3be5](https://github.com/googleapis/google-cloud-go/commit/edc3be586f9e8b65c34318773f5c55e1a4ccb07b))
+
+## [1.38.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.37.0...bigquery/v1.38.0) (2022-08-12)
+
+
+### Features
+
+* **bigquery/migration:** Add MySQL dialect to bigquerymigration v2 client library ([370e23e](https://github.com/googleapis/google-cloud-go/commit/370e23eaa342a7055a8d8b6f8fe9420f83afe43e))
+* **bigquery/storage/managedwriter:** improve error communication ([#6360](https://github.com/googleapis/google-cloud-go/issues/6360)) ([b30d89d](https://github.com/googleapis/google-cloud-go/commit/b30d89d5bd4a8ce553a328abb4b78f8fc51b43f0))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** propagate calloptions to append ([#6488](https://github.com/googleapis/google-cloud-go/issues/6488)) ([c65f9da](https://github.com/googleapis/google-cloud-go/commit/c65f9dab8118295e49a7b863f59cb64ace4c2d5b))
+
+## [1.37.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.36.0...bigquery/v1.37.0) (2022-08-04)
+
+
+### Features
+
+* **bigquery/connection:** Add service_account_id output field to CloudSQL properties ([1d6fbcc](https://github.com/googleapis/google-cloud-go/commit/1d6fbcc6406e2063201ef5a98de560bf32f7fb73))
+* **bigquery/storage/managedwriter:** refactor AppendResponse ([#6402](https://github.com/googleapis/google-cloud-go/issues/6402)) ([c07bca2](https://github.com/googleapis/google-cloud-go/commit/c07bca2d65ec9903ba0c592da11440cebe8b7d9e))
+* **bigquery:** support JSON as a data type ([#5986](https://github.com/googleapis/google-cloud-go/issues/5986)) ([835fe4f](https://github.com/googleapis/google-cloud-go/commit/835fe4fe59f4a3c64c5762a530228d5369618897))
+
+
+### Bug Fixes
+
+* **bigquery:** include user_email field when requesting job information ([#6256](https://github.com/googleapis/google-cloud-go/issues/6256)) ([da42b4e](https://github.com/googleapis/google-cloud-go/commit/da42b4e05faa067b5afa0a9a479d1db72296948e))
+
+
+### Documentation
+
+* **bigquery/storage:** clarify size limitations for AppendRowsRequest chore: add preferred_min_stream_count to CreateReadSessionRequest chore: add write_stream to AppendRowsResponse ([1d6fbcc](https://github.com/googleapis/google-cloud-go/commit/1d6fbcc6406e2063201ef5a98de560bf32f7fb73))
+
+## [1.36.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.35.0...bigquery/v1.36.0) (2022-07-18)
+
+
+### Features
+
+* **bigquery/migration:** Add Presto dialect to bigquerymigration v2 client library ([89a049a](https://github.com/googleapis/google-cloud-go/commit/89a049a98e1d18b922cc6ad08622161448544902))
+* **bigquery/storage/managedwriter/adapt:** support packed field option ([#6312](https://github.com/googleapis/google-cloud-go/issues/6312)) ([fc3417b](https://github.com/googleapis/google-cloud-go/commit/fc3417be70cd01a0044ec934c5c6426ea833d90c))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** improve network reconnection ([#6338](https://github.com/googleapis/google-cloud-go/issues/6338)) ([085a038](https://github.com/googleapis/google-cloud-go/commit/085a03865d20122c74e107ea43883ae33bdf25bc))
+
+## [1.35.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.34.1...bigquery/v1.35.0) (2022-07-07)
+
+
+### Features
+
+* **bigquery:** start generating REST client for beta clients ([25b7775](https://github.com/googleapis/google-cloud-go/commit/25b77757c1e6f372e03bf99ab7461264bba48d26))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedstorage:** improve internal locking ([#6304](https://github.com/googleapis/google-cloud-go/issues/6304)) ([a2925ce](https://github.com/googleapis/google-cloud-go/commit/a2925ce2f96c538d3994e2d0cef49fbcdd727217))
+* **bigquery/storage/managedwriter/adapt:** schema->protodescriptor ([#6267](https://github.com/googleapis/google-cloud-go/issues/6267)) ([a017230](https://github.com/googleapis/google-cloud-go/commit/a01723055cb7604047c4fddd7d00213d800e4122)), refs [#6258](https://github.com/googleapis/google-cloud-go/issues/6258)
+* **bigquery/storage:** Modify client lib retry policy for CreateWriteStream with longer backoff, more error code and longer overall time ([199b725](https://github.com/googleapis/google-cloud-go/commit/199b7250f474b1a6f53dcf0aac0c2966f4987b68))
+
+## [1.34.1](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.34.0...bigquery/v1.34.1) (2022-06-23)
+
+
+### Bug Fixes
+
+* **bigquery:** release 1.34.1 ([#6251](https://github.com/googleapis/google-cloud-go/issues/6251)) ([c742b0e](https://github.com/googleapis/google-cloud-go/commit/c742b0ee644246162acaa964fc2a65eef392846f))
+
+## [1.34.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.33.0...bigquery/v1.34.0) (2022-06-23)
+
+
+### Features
+
+* **bigquery/storage:** add fields to eventually contain row level errors ([5fe3b1d](https://github.com/googleapis/google-cloud-go/commit/5fe3b1d946db991aebdfd279f6f3b06b8baec205))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** address locking and schema updates ([#6243](https://github.com/googleapis/google-cloud-go/issues/6243)) ([fe264a5](https://github.com/googleapis/google-cloud-go/commit/fe264a5ccfe5b13f6b7215d66a04282f5e38457f))
+
+## [1.33.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.32.0...bigquery/v1.33.0) (2022-06-16)
+
+
+### Features
+
+* **bigquery/migration:** Add SQL Server dialect to bigquerymigration v2 client library ([90489b1](https://github.com/googleapis/google-cloud-go/commit/90489b10fd7da4cfafe326e00d1f4d81570147f7))
+* **bigquery/storage/managedwriter/adapt:** support proto3 presence ([#6021](https://github.com/googleapis/google-cloud-go/issues/6021)) ([2984600](https://github.com/googleapis/google-cloud-go/commit/29846003d4bebb1a07ac11cac462ae65cb0bc59c))
+* **bigquery/storage/managedwriter:** improve proto3 normalization ([#6082](https://github.com/googleapis/google-cloud-go/issues/6082)) ([6a742ff](https://github.com/googleapis/google-cloud-go/commit/6a742ffb16da991a0bf2df37218dc40af5ee0011))
+* **bigquery:** add support for dataset tags ([#6114](https://github.com/googleapis/google-cloud-go/issues/6114)) ([1f35044](https://github.com/googleapis/google-cloud-go/commit/1f35044894c7395326d7a5b787a2406d5cd92cb1))
+* **bigquery:** support partial projection of table metadata ([#6186](https://github.com/googleapis/google-cloud-go/issues/6186)) ([507a2be](https://github.com/googleapis/google-cloud-go/commit/507a2be8e4fda152d517dcb972be6353a6da2914))
+
+
+### Bug Fixes
+
+* **bigquery/dataexchange:** Include common protos in google-cloud-bigquery-data_exchange-v1beta1 ([6ef576e](https://github.com/googleapis/google-cloud-go/commit/6ef576e2d821d079e7b940cd5d49fe3ca64a7ba2))
+
+## [1.32.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.31.0...bigquery/v1.32.0) (2022-05-06)
+
+
+### Features
+
+* **bigquery:** add interval support ([#5907](https://github.com/googleapis/google-cloud-go/issues/5907)) ([9e979c9](https://github.com/googleapis/google-cloud-go/commit/9e979c9718df1de440d440e4c3e20bb3cb8c5aa1))
+* **bigquery:** expose connections and schema autodetect modifier ([#5739](https://github.com/googleapis/google-cloud-go/issues/5739)) ([c72e34f](https://github.com/googleapis/google-cloud-go/commit/c72e34fd79990eedaa56ed9e5121ab1a7fc4e2da))
+
+## [1.31.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.30.2...bigquery/v1.31.0) (2022-04-12)
+
+
+### Features
+
+* **bigquery/storage:** Deprecate format specific `row_count` field in Read API ([57896d1](https://github.com/googleapis/google-cloud-go/commit/57896d1491c04fa53d3f3e2344ef10c3d91c4b65))
+* **bigquery:** enhance SchemaFromJSON ([#5877](https://github.com/googleapis/google-cloud-go/issues/5877)) ([16289f0](https://github.com/googleapis/google-cloud-go/commit/16289f086ae15ea18c70d387b542796e099d4a09))
+* **bigquery:** support table cloning ([#5672](https://github.com/googleapis/google-cloud-go/issues/5672)) ([74c120a](https://github.com/googleapis/google-cloud-go/commit/74c120a81d2181d9809e5d3c0462bd859297d073))
+
+### [1.30.2](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.30.1...bigquery/v1.30.2) (2022-03-30)
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter/adapt:** fix enum append ([#5819](https://github.com/googleapis/google-cloud-go/issues/5819)) ([9eeaf0f](https://github.com/googleapis/google-cloud-go/commit/9eeaf0fe9de6e9583a6994e49f95ad524bc9e68e))
+
+### [1.30.1](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.30.0...bigquery/v1.30.1) (2022-03-30)
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** correct enum processing in NormalizeDescriptor ([#5811](https://github.com/googleapis/google-cloud-go/issues/5811)) ([52cf48e](https://github.com/googleapis/google-cloud-go/commit/52cf48edff487352c2755de86e2ea069b1b29617))
+* **bigquery:** improve retry for table create ([#5807](https://github.com/googleapis/google-cloud-go/issues/5807)) ([f27d1dc](https://github.com/googleapis/google-cloud-go/commit/f27d1dc43acbd437f517c05d65c992644f3f3111))
+
+## [1.30.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.29.0...bigquery/v1.30.0) (2022-03-16)
+
+
+### Features
+
+* **bigquery:** support authorized datasets ([#5666](https://github.com/googleapis/google-cloud-go/issues/5666)) ([859048e](https://github.com/googleapis/google-cloud-go/commit/859048e491dd840c9aea218fa670ed2fb46d78e2))
+
+
+### Bug Fixes
+
+* **bigquery:** Query.Read fails with dry-run queries ([#5753](https://github.com/googleapis/google-cloud-go/issues/5753)) ([e279584](https://github.com/googleapis/google-cloud-go/commit/e279584727e2a496b3d566ed6f6683715a594a6d))
+
+## [1.29.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.28.0...bigquery/v1.29.0) (2022-03-02)
+
+
+### Features
+
+* **bigquery/storage/managedwriter/adapt:** handle oneof normalization ([#5670](https://github.com/googleapis/google-cloud-go/issues/5670)) ([c7f54d8](https://github.com/googleapis/google-cloud-go/commit/c7f54d81baa34ce0f31bbe0af1cb03c2598e5e74))
+* **bigquery/storage/managedwriter:** minor ease-of-use improvements ([#5660](https://github.com/googleapis/google-cloud-go/issues/5660)) ([d253c24](https://github.com/googleapis/google-cloud-go/commit/d253c24fd61f181971056ba00749efd69b3ae691))
+* **bigquery/storage:** add trace_id for Read API ([080adb0](https://github.com/googleapis/google-cloud-go/commit/080adb0b855289ddbd86ac9e5e6eb236673f6884))
+* **bigquery:** add job timeout support ([#5707](https://github.com/googleapis/google-cloud-go/issues/5707)) ([868363c](https://github.com/googleapis/google-cloud-go/commit/868363cbc68c655d4c1f8959280cf1acba5073a7))
+* **bigquery:** set versionClient to module version ([55f0d92](https://github.com/googleapis/google-cloud-go/commit/55f0d92bf112f14b024b4ab0076c9875a17423c9))
+
+
+### Bug Fixes
+
+* **bigquery/storage:** remove bigquery.readonly auth scope ([5af548b](https://github.com/googleapis/google-cloud-go/commit/5af548bee4ffde279727b2e1ad9b072925106a74))
+
+## [1.28.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.27.0...bigquery/v1.28.0) (2022-02-14)
+
+
+### Features
+
+* **bigquery/datatransfer:** add owner email to TransferConfig message feat: allow customer to enroll a datasource programmatically docs: improvements to various message and field descriptions ([f560b1e](https://github.com/googleapis/google-cloud-go/commit/f560b1ed0263956ef84fbf2fbf34bdc66dbc0a88))
+* **bigquery:** add better version metadata to calls ([d1ad921](https://github.com/googleapis/google-cloud-go/commit/d1ad921d0322e7ce728ca9d255a3cf0437d26add))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** address possible panic due to flow ([#5436](https://github.com/googleapis/google-cloud-go/issues/5436)) ([50c6e38](https://github.com/googleapis/google-cloud-go/commit/50c6e38c2798b3d4f2a9560239753ecd04502273))
+* **bigquery/storage/managedwriter:** append improvements ([#5465](https://github.com/googleapis/google-cloud-go/issues/5465)) ([aa167bd](https://github.com/googleapis/google-cloud-go/commit/aa167bd5e57facb0f0d6834ab65805956e4ef08c))
+
+## [1.27.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.26.0...bigquery/v1.27.0) (2022-01-24)
+
+
+### Features
+
+* **bigquery:** augment retry predicate ([#5387](https://www.github.com/googleapis/google-cloud-go/issues/5387)) ([f9608d4](https://www.github.com/googleapis/google-cloud-go/commit/f9608d4622c56362b2ed0a5845b8fe27f81995aa))
+* **bigquery:** support null marker for csv in external data config ([#5287](https://www.github.com/googleapis/google-cloud-go/issues/5287)) ([132904a](https://www.github.com/googleapis/google-cloud-go/commit/132904a061809ba7117c51e8a8000f1adac34e48))
+
+## [1.26.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.25.0...bigquery/v1.26.0) (2022-01-04)
+
+
+### Features
+
+* **bigquery/reservation:** increase the logical timeout (retry deadline) to 5 minutes ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **bigquery/storage/managedwriter:** support schema change notification ([#5253](https://www.github.com/googleapis/google-cloud-go/issues/5253)) ([70e40db](https://www.github.com/googleapis/google-cloud-go/commit/70e40db88bc016f228a425da1e278fc76dbf2e36))
+* **bigquery/storage:** add write_mode support for BigQuery Storage Write API v1 ([615b42b](https://www.github.com/googleapis/google-cloud-go/commit/615b42bbb549b6fd3e8b1ba751bc109f79a5575b))
+
+## [1.25.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.24.0...bigquery/v1.25.0) (2021-12-02)
+
+
+### ⚠ BREAKING CHANGES
+
+* **bigquery/storage/managedwriter:** changes function signatures to add variadic call options
+
+### Features
+
+* **bigquery/storage/managedwriter:** extend managedstream to support call options ([#5078](https://www.github.com/googleapis/google-cloud-go/issues/5078)) ([fbc2717](https://www.github.com/googleapis/google-cloud-go/commit/fbc2717ec84b1c5557873efaa732c047da66c1e6))
+* **bigquery/storage/managedwriter:** improve method parity in managedwriter ([#5007](https://www.github.com/googleapis/google-cloud-go/issues/5007)) ([a2af4de](https://www.github.com/googleapis/google-cloud-go/commit/a2af4de215a42848368ec3081263d34782032caa))
+* **bigquery/storage/managedwriter:** support variadic appends ([#5102](https://www.github.com/googleapis/google-cloud-go/issues/5102)) ([014b314](https://www.github.com/googleapis/google-cloud-go/commit/014b314b2db70147a26120a1d54a6bc7142d5665))
+* **bigquery:** add BI Engine information to query statistics ([#5081](https://www.github.com/googleapis/google-cloud-go/issues/5081)) ([b78c89b](https://www.github.com/googleapis/google-cloud-go/commit/b78c89b18a81ce155441554cb5455600168eb8fd))
+* **bigquery:** add support for AvroOptions in external data config ([#4945](https://www.github.com/googleapis/google-cloud-go/issues/4945)) ([8844e40](https://www.github.com/googleapis/google-cloud-go/commit/8844e40b7c2a7347e174587ea2cf438a6da9e16f))
+* **bigquery:** allow construction of jobs from other projects ([#5048](https://www.github.com/googleapis/google-cloud-go/issues/5048)) ([6d07eca](https://www.github.com/googleapis/google-cloud-go/commit/6d07eca680362807f6dd870ba9df8c26256601ab))
+* **bigquery:** expose identifiers using a variety of formats ([#5017](https://www.github.com/googleapis/google-cloud-go/issues/5017)) ([c9cd984](https://www.github.com/googleapis/google-cloud-go/commit/c9cd9846b6707d236648d33d44434e64eced9cdd))
+
+
+### Bug Fixes
+
+* **bigquery/migration:** correct python namespace for migration API Committer: [@shollyman](https://www.github.com/shollyman) ([8c5c6cf](https://www.github.com/googleapis/google-cloud-go/commit/8c5c6cf9df046b67998a8608d05595bd9e34feb0))
+* **bigquery/storage/managedwriter:** correctly copy request ([#5122](https://www.github.com/googleapis/google-cloud-go/issues/5122)) ([cd43a5c](https://www.github.com/googleapis/google-cloud-go/commit/cd43a5cde5e4e388266f3773f206ead90d666261))
+* **bigquery:** address one other callsite for the job construction feature ([#5059](https://www.github.com/googleapis/google-cloud-go/issues/5059)) ([98779eb](https://www.github.com/googleapis/google-cloud-go/commit/98779eba0f1f95b195aa6194210208767c169f5e))
+
+
+### Miscellaneous Chores
+
+* **bigquery:** release 1.25.0 ([#5128](https://www.github.com/googleapis/google-cloud-go/issues/5128)) ([f58a9f7](https://www.github.com/googleapis/google-cloud-go/commit/f58a9f7b88e2ce6101cb4bd3c85c267a688a1a1d))
+* **bigquery:** release 1.25.0 ([#5177](https://www.github.com/googleapis/google-cloud-go/issues/5177)) ([359f5b1](https://www.github.com/googleapis/google-cloud-go/commit/359f5b1ca118ff6f92603da083eb943b672ed779))
+
+## [1.24.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.23.0...bigquery/v1.24.0) (2021-09-27)
+
+
+### Features
+
+* **bigquery/migration:** Add PAUSED state to Subtask and add task details protos ([bddab08](https://www.github.com/googleapis/google-cloud-go/commit/bddab08dfd0b9a0a79b113a46a0dd84dba1f3d3b))
+
+
+### Bug Fixes
+
+* **bigquery/storage:** add missing read api retry setting on SplitReadStream ([797a9bd](https://www.github.com/googleapis/google-cloud-go/commit/797a9bdcb68c0c3ff7eef04cd3a3a0747937975b))
+
+## [1.23.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.22.0...bigquery/v1.23.0) (2021-09-23)
+
+
+### Features
+
+* **bigquery/reservation:**
+ * Deprecated SearchAssignments in favor of SearchAllAssignments
+ * feat: Reservation objects now contain a creation time and an update time
+ * feat: Added commitment_start_time to capacity commitments
+ * feat: Force deleting capacity commitments is allowed while reservations with active assignments exist
+ * feat: ML_EXTERNAL job type is supported
+ * feat: Optional id can be passed into CreateCapacityCommitment and CreateAssignment
+ * docs: Clarified docs for None assignments
+ * fix!: Fixed pattern for BiReservation object BREAKING_CHANGE: Changed from `bireservation` to `biReservation`
+ * ([d9ce9d0](https://www.github.com/googleapis/google-cloud-go/commit/d9ce9d0ee64f59c4e07ce4752bfd721051a95ac7))
+* **bigquery/storage/managedwriter:** BREAKING CHANGE: changeAppendRows behavior ([#4729](https://github.com/googleapis/google-cloud-go/pull/4729))
+* **bigquery/storage:** add BigQuery Storage Write API v1 ([e52c204](https://www.github.com/googleapis/google-cloud-go/commit/e52c2042a2b7cdd7dd799a561421f32fecc5d1d2))
+* **bigquery/storage:** migrate managedwriter to v1 write from v1beta2 ([#4788](https://github.com/googleapis/google-cloud-go/pull/4788))
+* **bigquery:** add session and connection support ([#4754](https://www.github.com/googleapis/google-cloud-go/issues/4754)) ([e846dfd](https://www.github.com/googleapis/google-cloud-go/commit/e846dfdefbba88320088667525e5fdd966c80c4b))
+* **bigquery:** expose the query source of a rowiterator via SourceJob() ([#4748](https://github.com/googleapis/google-cloud-go/pull/4748))
+
+## [1.22.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.21.0...bigquery/v1.22.0) (2021-08-30)
+
+
+### Features
+
+* **bigquery/storage/managedwriter/adapt:** add NormalizeDescriptor ([#4681](https://www.github.com/googleapis/google-cloud-go/issues/4681)) ([c54aa74](https://www.github.com/googleapis/google-cloud-go/commit/c54aa74f7a0574cbbe3f65dc90b96cf5a0b1aa88))
+* **bigquery/storage/managedwriter:** more metrics instrumentation ([#4690](https://www.github.com/googleapis/google-cloud-go/issues/4690)) ([9505384](https://www.github.com/googleapis/google-cloud-go/commit/9505384b2c771d7d0c95f7786744bdf76174c706))
+
+## [1.21.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.20.1...bigquery/v1.21.0) (2021-08-16)
+
+
+### Features
+
+* **bigquery/storage/managedwriter:** add project autodetection ([#4605](https://www.github.com/googleapis/google-cloud-go/issues/4605)) ([d8cc9be](https://www.github.com/googleapis/google-cloud-go/commit/d8cc9be6f0314f585f708638834abfc209799724))
+* **bigquery/storage/managedwriter:** improve protobuf support ([#4589](https://www.github.com/googleapis/google-cloud-go/issues/4589)) ([a455082](https://www.github.com/googleapis/google-cloud-go/commit/a45508272a730e0ad81021695d2d8564e7c81631))
+* **bigquery/storage/managedwriter:** more instrumentation support ([#4601](https://www.github.com/googleapis/google-cloud-go/issues/4601)) ([ff488c8](https://www.github.com/googleapis/google-cloud-go/commit/ff488c86b9c1a1f02397bb579905fa049e59ac05))
+* **bigquery:** switch to centralized project autodetect logic ([#4625](https://www.github.com/googleapis/google-cloud-go/issues/4625)) ([18ff070](https://www.github.com/googleapis/google-cloud-go/commit/18ff070b8baa3ed7d324ca9ea00dcd66d7742340))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** support non-default regions ([#4566](https://www.github.com/googleapis/google-cloud-go/issues/4566)) ([68418f9](https://www.github.com/googleapis/google-cloud-go/commit/68418f9e340def179eb5556aea433c0d07000b79))
+
+### [1.20.1](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.20.0...bigquery/v1.20.1) (2021-08-06)
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** fix flowcontroller double-release ([#4555](https://www.github.com/googleapis/google-cloud-go/issues/4555)) ([67facd9](https://www.github.com/googleapis/google-cloud-go/commit/67facd9697e931e193f3cd8e188f1dd819ba31eb))
+
+## [1.20.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.19.0...bigquery/v1.20.0) (2021-07-30)
+
+
+### Features
+
+* **bigquery/connection:** add cloud spanner connection support ([458f15b](https://www.github.com/googleapis/google-cloud-go/commit/458f15bb6f1193ce83dbfc7a82c3f2a672f52c06))
+* **bigquery/storage/managedwriter/adapt:** add schema -> proto support ([#4375](https://www.github.com/googleapis/google-cloud-go/issues/4375)) ([4ff6243](https://www.github.com/googleapis/google-cloud-go/commit/4ff62433f58c1c92976a66e890b7d5394198f77b))
+* **bigquery/storage/managedwriter:** add append stream plumbing ([#4452](https://www.github.com/googleapis/google-cloud-go/issues/4452)) ([b085384](https://www.github.com/googleapis/google-cloud-go/commit/b0853846a34a32ca45deb92a3cc6ab843473acd8))
+* **bigquery/storage/managedwriter:** add base client ([#4422](https://www.github.com/googleapis/google-cloud-go/issues/4422)) ([4f7193b](https://www.github.com/googleapis/google-cloud-go/commit/4f7193b74f4b1954cf7b664d61b5cc9805337e84))
+* **bigquery/storage/managedwriter:** add flow controller ([#4404](https://www.github.com/googleapis/google-cloud-go/issues/4404)) ([9dc78e0](https://www.github.com/googleapis/google-cloud-go/commit/9dc78e073b5f69037c6328460554c4354fcee11f))
+* **bigquery/storage/managedwriter:** add opencensus instrumentation ([#4512](https://www.github.com/googleapis/google-cloud-go/issues/4512)) ([73b6f5e](https://www.github.com/googleapis/google-cloud-go/commit/73b6f5e012d0b89d36850cb986fd7e288bf1e3c5))
+* **bigquery/storage/managedwriter:** add state tracking ([#4407](https://www.github.com/googleapis/google-cloud-go/issues/4407)) ([4638e17](https://www.github.com/googleapis/google-cloud-go/commit/4638e17dacd1fa76f9976f44974c4037fe4358dc))
+* **bigquery/storage/managedwriter:** naming and doc improvements ([#4508](https://www.github.com/googleapis/google-cloud-go/issues/4508)) ([663c899](https://www.github.com/googleapis/google-cloud-go/commit/663c899c3b8aa751527d24f541d964f2ba91a233))
+* **bigquery/storage/managedwriter:** wire in flow controller ([#4501](https://www.github.com/googleapis/google-cloud-go/issues/4501)) ([40571fa](https://www.github.com/googleapis/google-cloud-go/commit/40571fa0e3b5ab326fd592a6907061c2304893aa))
+* **bigquery:** add more dml statistics to query statistics ([#4405](https://www.github.com/googleapis/google-cloud-go/issues/4405)) ([99d5728](https://www.github.com/googleapis/google-cloud-go/commit/99d57282f6668de91390ad29a888a89209689f39))
+* **bigquery:** support decimalTargetType prioritization ([#4343](https://www.github.com/googleapis/google-cloud-go/issues/4343)) ([95a27f7](https://www.github.com/googleapis/google-cloud-go/commit/95a27f711a1c7dfdaa16ae5d3c52644769b6fc39))
+* **bigquery:** support multistatement transaction statistics in jobs ([#4485](https://www.github.com/googleapis/google-cloud-go/issues/4485)) ([4565eb7](https://www.github.com/googleapis/google-cloud-go/commit/4565eb7fe730eade294fb3baa85bd255df008bfa))
+
+
+### Bug Fixes
+
+* **bigquery/storage/managedwriter:** fix double-close error, add tests ([#4502](https://www.github.com/googleapis/google-cloud-go/issues/4502)) ([c6cf659](https://www.github.com/googleapis/google-cloud-go/commit/c6cf6590a41368885b7399c993c47dc965862558))
+
+## [1.19.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.18.0...bigquery/v1.19.0) (2021-06-29)
+
+
+### Features
+
+* **bigquery/storage:** Add ZSTD compression as an option for Arrow. ([770db30](https://www.github.com/googleapis/google-cloud-go/commit/770db3083270d485d265362fe5a4b2a1b23619ff))
+* **bigquery/storage:** remove alpha client ([#4100](https://www.github.com/googleapis/google-cloud-go/issues/4100)) ([a2d137d](https://www.github.com/googleapis/google-cloud-go/commit/a2d137d233e7a401976fbe1fd8ff81145dda515d)), refs [#4098](https://www.github.com/googleapis/google-cloud-go/issues/4098)
+* **bigquery:** add support for parameterized types ([#4103](https://www.github.com/googleapis/google-cloud-go/issues/4103)) ([a2330e4](https://www.github.com/googleapis/google-cloud-go/commit/a2330e4d66c0a1832fb3b9e23a33c006c9345c28))
+* **bigquery:** add support for snapshot/restore ([#4112](https://www.github.com/googleapis/google-cloud-go/issues/4112)) ([4c12b42](https://www.github.com/googleapis/google-cloud-go/commit/4c12b424eec06c7d87244eaa922995bbe6e46e7e))
+* **bigquery:** add support for user defined TVF ([#4043](https://www.github.com/googleapis/google-cloud-go/issues/4043)) ([37607b4](https://www.github.com/googleapis/google-cloud-go/commit/37607b4afbc4c42baa4a931a9a86cddcc6d885ca))
+* **bigquery:** enable project autodetection, expose project ids further ([#4312](https://www.github.com/googleapis/google-cloud-go/issues/4312)) ([267787e](https://www.github.com/googleapis/google-cloud-go/commit/267787eb245d9307cf78304c1ce34bdfb2aaf5ab))
+* **bigquery:** support job deletion ([#3935](https://www.github.com/googleapis/google-cloud-go/issues/3935)) ([363ba03](https://www.github.com/googleapis/google-cloud-go/commit/363ba03e1c3c813749a65ff3c050877ce4f60016))
+* **bigquery:** support nullable params and geography params ([#4225](https://www.github.com/googleapis/google-cloud-go/issues/4225)) ([43755d3](https://www.github.com/googleapis/google-cloud-go/commit/43755d38b5d928222127cc6be26183d6bfbb1cb4))
+
+
+### Bug Fixes
+
+* **bigquery:** minor rename to feature that's not yet in a release ([#4320](https://www.github.com/googleapis/google-cloud-go/issues/4320)) ([ef8d138](https://www.github.com/googleapis/google-cloud-go/commit/ef8d1386149cff28ae6258ab167789bae6af6407))
+* **bigquery:** update streaming insert error test ([#4321](https://www.github.com/googleapis/google-cloud-go/issues/4321)) ([12f3042](https://www.github.com/googleapis/google-cloud-go/commit/12f3042716d51fb0d7a23071d00a20f9751bac91))
+
+## [1.18.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.17.0...bigquery/v1.18.0) (2021-05-06)
+
+
+### Features
+
+* **bigquery/storage:** new JSON type through BigQuery Write ([9029071](https://www.github.com/googleapis/google-cloud-go/commit/90290710158cf63de918c2d790df48f55a23adc5))
+* **bigquery:** augment retry predicate to support additional errors ([#4046](https://www.github.com/googleapis/google-cloud-go/issues/4046)) ([d4af6f7](https://www.github.com/googleapis/google-cloud-go/commit/d4af6f7707b3c5ee12cde53c7485a9b743034119))
+* **bigquery:** expose ParquetOptions for loads and external tables ([#4016](https://www.github.com/googleapis/google-cloud-go/issues/4016)) ([f9c4ccb](https://www.github.com/googleapis/google-cloud-go/commit/f9c4ccb6efb271c421edf3f67d5249b1cfb0ecb2))
+* **bigquery:** support mutable clustering configuration ([#3950](https://www.github.com/googleapis/google-cloud-go/issues/3950)) ([0ab30da](https://www.github.com/googleapis/google-cloud-go/commit/0ab30dadc43ae85354dc12a4130ecfcc56273882))
+
+## [1.17.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.15.0...bigquery/v1.17.0) (2021-04-08)
+
+
+### Features
+
+* **bigquery/storage:** add a Arrow compression options (Only LZ4 for now). feat: Return schema on first ReadRowsResponse. doc: clarify limit on filter string. ([2b02a03](https://www.github.com/googleapis/google-cloud-go/commit/2b02a03ff9f78884da5a8e7b64a336014c61bde7))
+* **bigquery/storage:** deprecate bigquery storage v1alpha2 API ([9cc6d2c](https://www.github.com/googleapis/google-cloud-go/commit/9cc6d2cce96235b0a144c1c6b48eff496f9e5fa7))
+* **bigquery/storage:** updates for v1beta2 storage API - Updated comments on BatchCommitWriteStreams - Added new support Bigquery types BIGNUMERIC and INTERVAL to TableSchema - Added read rows schema in ReadRowsResponse - Misc comment updates ([48b4e59](https://www.github.com/googleapis/google-cloud-go/commit/48b4e596206cef879194d2888186d603a6f51292))
+* **bigquery:** export HivePartitioningOptions in load job configurations ([#3877](https://www.github.com/googleapis/google-cloud-go/issues/3877)) ([7c759be](https://www.github.com/googleapis/google-cloud-go/commit/7c759be074ce1f6b8ccce88c86dbe49bd38fd6b5))
+* **bigquery:** support type alias names for numeric/bignumeric schemas. ([#3760](https://www.github.com/googleapis/google-cloud-go/issues/3760)) ([2ee6bf4](https://www.github.com/googleapis/google-cloud-go/commit/2ee6bf451524fc1f9735634320a55ca0b07d3d8b))
+
+## v1.16.0
+
+- Updates to various dependencies.
+
+## [1.15.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.14.0...v1.15.0) (2021-01-14)
+
+
+### Features
+
+* **bigquery:** add reservation usage stats to query statistics ([#3403](https://www.github.com/googleapis/google-cloud-go/issues/3403)) ([112bcde](https://www.github.com/googleapis/google-cloud-go/commit/112bcdeb7cee1b44f337d3e5398a0d0820e93162))
+* **bigquery:** add support for allowing Javascript UDFs to indicate determinism ([#3534](https://www.github.com/googleapis/google-cloud-go/issues/3534)) ([2f417a3](https://www.github.com/googleapis/google-cloud-go/commit/2f417a39d93402fbb1e5e3001645019782d7d656)), refs [#3533](https://www.github.com/googleapis/google-cloud-go/issues/3533)
+
+
+### Bug Fixes
+
+* **bigquery:** address possible panic due to offset checking in handleInsertErrors ([#3524](https://www.github.com/googleapis/google-cloud-go/issues/3524)) ([5288511](https://www.github.com/googleapis/google-cloud-go/commit/52885115af3e95cdfd1ec784837fb1df7fe01446)), refs [#3519](https://www.github.com/googleapis/google-cloud-go/issues/3519)
+
+## [1.14.0](https://www.github.com/googleapis/google-cloud-go/compare/bigquery/v1.13.0...v1.14.0) (2020-12-04)
+
+
+### Features
+
+* **bigquery:** add support for bignumeric ([#2779](https://www.github.com/googleapis/google-cloud-go/issues/2779)) ([ea3cde5](https://www.github.com/googleapis/google-cloud-go/commit/ea3cde55ad3d8d843bce8d023747cf69552850b5))
+* **bigquery:** expose hive partitioning options ([#3240](https://www.github.com/googleapis/google-cloud-go/issues/3240)) ([fa77efa](https://www.github.com/googleapis/google-cloud-go/commit/fa77efa1a1880ff89307d54cc7e9e8c09430e4e2))
+
+## v1.13.0
+
+* Support retries for specific http2 transport race.
+* Remove unused datasource client from bigquery/datatransfer.
+* Adds support for authorized User Defined Functions (UDFs).
+* Documentation improvements.
+* Various updates to autogenerated clients.
+
+
+## v1.12.0
+
+* Adds additional retry support for table deletion.
+* Various updates to autogenerated clients.
+
+## v1.11.2
+
+* Addresses issue with consuming query results using an iterator.Pager
+
+## v1.11.1
+
+* Addresses issue with optimized query path changes, released
+ in v1.11.0
+
+## v1.11.0
+
+* Add support for optimized query path.
+* Documentation improvements.
+* Fix issue related to the ReturnType of a bigquery Routine.
+* Various updates to autogenerated clients.
+
+## v1.10.0
+
+* Support for Infinity/-Infinity/NaN values in NullFloat64.
+* Updates to RowIterator to address issues related to retrieving query
+ results without explicit destination table references.
+* Various updates to autogenerated clients.
+
+## v1.9.0
+
+* SchemaFromJSON will now accept alias type names (e.g. INT64 vs INTEGER, STRUCT vs RECORD).
+* Support for IAM on table resources.
+* Various updates to autogenerated clients.
+
+## v1.8.0
+
+* Add support for hourly time partitioning.
+* Various updates to autogenerated clients.
+
+## v1.7.0
+
+* Add support for extracting BQML models to cloud storage.
+* Add support for specifying projected fields when ingesting
+ datastore backups.
+* Fix issue related to defining a range partitioning range
+ using default values.
+* Add bigquery/reservation/v1 API.
+* Various updates to autogenerated clients.
+
+## v1.6.0
+
+* Add support for materialized views.
+* Add support for policy tags (column ACLs).
+* Add bigquery/connection/v1beta1 API.
+* Documentation improvements.
+* Various updates to autogenerated clients.
+
+## v1.5.0
+
+* Add v1 endpoint for bigquerystorage API.
+* Improved error message in bigquery.PutMultiError.
+* Various updates to autogenerated clients.
+
+## v1.4.0
+
+* Add v1beta2, v1alpha2 endpoints for bigquerystorage API.
+
+* Location is now reported as part of TableMetadata.
+
+## v1.3.0
+
+* Add Description field for Routine entities.
+
+* Add support for iamMember entities on dataset ACLs.
+
+* Address issue when constructing a Pager from a RowIterator
+ that referenced a result with zero result rows.
+
+* Add support for integer range partitioning, which affects
+ table creation directly and via query/load jobs.
+
+* Add opt-out support for streaming inserts via experimental
+ `NoDedupeID` sentinel.
+
+## v1.2.0
+
+* Adds support for scripting feature, which includes script statistics
+ and the ability to list jobs run as part of a script query.
+
+* Updates default endpoint for BigQuery from www.googleapis.com
+ to bigquery.googleapis.com.
+
+## v1.1.0
+
+* Added support for specifying default `EncryptionConfig` settings on the
+ dataset.
+
+* Added support for `EncyptionConfig` as part of an ML model.
+
+* Added `Relax()` to make all fields within a `Schema` nullable.
+
+* Added a `UseAvroLogicalTypes` option when defining an avro extract job.
+
+## v1.0.1
+
+This patch release is a small fix to the go.mod to point to the post-carve out
+cloud.google.com/go.
+
+## v1.0.0
+
+This is the first tag to carve out bigquery as its own module. See:
+https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository.
diff --git a/vendor/cloud.google.com/go/bigquery/LICENSE b/vendor/cloud.google.com/go/bigquery/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/vendor/cloud.google.com/go/bigquery/README.md b/vendor/cloud.google.com/go/bigquery/README.md
new file mode 100644
index 000000000..94f5c6d30
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/README.md
@@ -0,0 +1,47 @@
+## BigQuery [![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/bigquery.svg)](https://pkg.go.dev/cloud.google.com/go/bigquery)
+
+- [About BigQuery](https://cloud.google.com/bigquery/)
+- [API documentation](https://cloud.google.com/bigquery/docs)
+- [Go client documentation](https://pkg.go.dev/cloud.google.com/go/bigquery)
+- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/main/bigquery)
+
+### Example Usage
+
+First create a `bigquery.Client` to use throughout your application:
+[snip]:# (bq-1)
+```go
+c, err := bigquery.NewClient(ctx, "my-project-ID")
+if err != nil {
+ // TODO: Handle error.
+}
+```
+
+Then use that client to interact with the API:
+[snip]:# (bq-2)
+```go
+// Construct a query.
+q := c.Query(`
+ SELECT year, SUM(number)
+ FROM [bigquery-public-data:usa_names.usa_1910_2013]
+ WHERE name = "William"
+ GROUP BY year
+ ORDER BY year
+`)
+// Execute the query.
+it, err := q.Read(ctx)
+if err != nil {
+ // TODO: Handle error.
+}
+// Iterate through the results.
+for {
+ var values []bigquery.Value
+ err := it.Next(&values)
+ if err == iterator.Done { // from "google.golang.org/api/iterator"
+ break
+ }
+ if err != nil {
+ // TODO: Handle error.
+ }
+ fmt.Println(values)
+}
+```
diff --git a/vendor/cloud.google.com/go/bigquery/arrow.go b/vendor/cloud.google.com/go/bigquery/arrow.go
new file mode 100644
index 000000000..1e8da9a41
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/arrow.go
@@ -0,0 +1,286 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "bytes"
+ "encoding/base64"
+ "errors"
+ "fmt"
+ "io"
+ "math/big"
+
+ "cloud.google.com/go/civil"
+ "github.com/apache/arrow/go/v14/arrow"
+ "github.com/apache/arrow/go/v14/arrow/array"
+ "github.com/apache/arrow/go/v14/arrow/ipc"
+ "github.com/apache/arrow/go/v14/arrow/memory"
+ "google.golang.org/api/iterator"
+)
+
+// ArrowRecordBatch represents an Arrow RecordBatch with the source PartitionID
+type ArrowRecordBatch struct {
+ reader io.Reader
+ // Serialized Arrow Record Batch.
+ Data []byte
+ // Serialized Arrow Schema.
+ Schema []byte
+ // Source partition ID. In the Storage API world, it represents the ReadStream.
+ PartitionID string
+}
+
+// Read makes ArrowRecordBatch implements io.Reader
+func (r *ArrowRecordBatch) Read(p []byte) (int, error) {
+ if r.reader == nil {
+ buf := bytes.NewBuffer(r.Schema)
+ buf.Write(r.Data)
+ r.reader = buf
+ }
+ return r.reader.Read(p)
+}
+
+// ArrowIterator represents a way to iterate through a stream of arrow records.
+// Experimental: this interface is experimental and may be modified or removed in future versions,
+// regardless of any other documented package stability guarantees.
+type ArrowIterator interface {
+ Next() (*ArrowRecordBatch, error)
+ Schema() Schema
+ SerializedArrowSchema() []byte
+}
+
+// NewArrowIteratorReader allows to consume an ArrowIterator as an io.Reader.
+// Experimental: this interface is experimental and may be modified or removed in future versions,
+// regardless of any other documented package stability guarantees.
+func NewArrowIteratorReader(it ArrowIterator) io.Reader {
+ return &arrowIteratorReader{
+ it: it,
+ }
+}
+
+type arrowIteratorReader struct {
+ buf *bytes.Buffer
+ it ArrowIterator
+}
+
+// Read makes ArrowIteratorReader implement io.Reader
+func (r *arrowIteratorReader) Read(p []byte) (int, error) {
+ if r.it == nil {
+ return -1, errors.New("bigquery: nil ArrowIterator")
+ }
+ if r.buf == nil { // init with schema
+ buf := bytes.NewBuffer(r.it.SerializedArrowSchema())
+ r.buf = buf
+ }
+ n, err := r.buf.Read(p)
+ if err == io.EOF {
+ batch, err := r.it.Next()
+ if err == iterator.Done {
+ return 0, io.EOF
+ }
+ r.buf.Write(batch.Data)
+ return r.Read(p)
+ }
+ return n, err
+}
+
+type arrowDecoder struct {
+ allocator memory.Allocator
+ tableSchema Schema
+ arrowSchema *arrow.Schema
+}
+
+func newArrowDecoder(arrowSerializedSchema []byte, schema Schema) (*arrowDecoder, error) {
+ buf := bytes.NewBuffer(arrowSerializedSchema)
+ r, err := ipc.NewReader(buf)
+ if err != nil {
+ return nil, err
+ }
+ defer r.Release()
+ p := &arrowDecoder{
+ tableSchema: schema,
+ arrowSchema: r.Schema(),
+ allocator: memory.DefaultAllocator,
+ }
+ return p, nil
+}
+
+func (ap *arrowDecoder) createIPCReaderForBatch(arrowRecordBatch *ArrowRecordBatch) (*ipc.Reader, error) {
+ return ipc.NewReader(
+ arrowRecordBatch,
+ ipc.WithSchema(ap.arrowSchema),
+ ipc.WithAllocator(ap.allocator),
+ )
+}
+
+// decodeArrowRecords decodes BQ ArrowRecordBatch into rows of []Value.
+func (ap *arrowDecoder) decodeArrowRecords(arrowRecordBatch *ArrowRecordBatch) ([][]Value, error) {
+ r, err := ap.createIPCReaderForBatch(arrowRecordBatch)
+ if err != nil {
+ return nil, err
+ }
+ defer r.Release()
+ rs := make([][]Value, 0)
+ for r.Next() {
+ rec := r.Record()
+ values, err := ap.convertArrowRecordValue(rec)
+ if err != nil {
+ return nil, err
+ }
+ rs = append(rs, values...)
+ }
+ return rs, nil
+}
+
+// decodeRetainedArrowRecords decodes BQ ArrowRecordBatch into a list of retained arrow.Record.
+func (ap *arrowDecoder) decodeRetainedArrowRecords(arrowRecordBatch *ArrowRecordBatch) ([]arrow.Record, error) {
+ r, err := ap.createIPCReaderForBatch(arrowRecordBatch)
+ if err != nil {
+ return nil, err
+ }
+ defer r.Release()
+ records := []arrow.Record{}
+ for r.Next() {
+ rec := r.Record()
+ rec.Retain()
+ records = append(records, rec)
+ }
+ return records, nil
+}
+
+// convertArrowRows converts an arrow.Record into a series of Value slices.
+func (ap *arrowDecoder) convertArrowRecordValue(record arrow.Record) ([][]Value, error) {
+ rs := make([][]Value, record.NumRows())
+ for i := range rs {
+ rs[i] = make([]Value, record.NumCols())
+ }
+ for j, col := range record.Columns() {
+ fs := ap.tableSchema[j]
+ ft := ap.arrowSchema.Field(j).Type
+ for i := 0; i < col.Len(); i++ {
+ v, err := convertArrowValue(col, i, ft, fs)
+ if err != nil {
+ return nil, fmt.Errorf("found arrow type %s, but could not convert value: %v", ap.arrowSchema.Field(j).Type, err)
+ }
+ rs[i][j] = v
+ }
+ }
+ return rs, nil
+}
+
+// convertArrow gets row value in the given column and converts to a Value.
+// Arrow is a colunar storage, so we navigate first by column and get the row value.
+// More details on conversions can be seen here: https://cloud.google.com/bigquery/docs/reference/storage#arrow_schema_details
+func convertArrowValue(col arrow.Array, i int, ft arrow.DataType, fs *FieldSchema) (Value, error) {
+ if !col.IsValid(i) {
+ return nil, nil
+ }
+ switch ft.(type) {
+ case *arrow.BooleanType:
+ v := col.(*array.Boolean).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.Int8Type:
+ v := col.(*array.Int8).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.Int16Type:
+ v := col.(*array.Int16).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.Int32Type:
+ v := col.(*array.Int32).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.Int64Type:
+ v := col.(*array.Int64).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.Float16Type:
+ v := col.(*array.Float16).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v.Float32()), fs.Type)
+ case *arrow.Float32Type:
+ v := col.(*array.Float32).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.Float64Type:
+ v := col.(*array.Float64).Value(i)
+ return convertBasicType(fmt.Sprintf("%v", v), fs.Type)
+ case *arrow.BinaryType:
+ v := col.(*array.Binary).Value(i)
+ encoded := base64.StdEncoding.EncodeToString(v)
+ return convertBasicType(encoded, fs.Type)
+ case *arrow.StringType:
+ v := col.(*array.String).Value(i)
+ return convertBasicType(v, fs.Type)
+ case *arrow.Date32Type:
+ v := col.(*array.Date32).Value(i)
+ return convertBasicType(v.FormattedString(), fs.Type)
+ case *arrow.Date64Type:
+ v := col.(*array.Date64).Value(i)
+ return convertBasicType(v.FormattedString(), fs.Type)
+ case *arrow.TimestampType:
+ v := col.(*array.Timestamp).Value(i)
+ dft := ft.(*arrow.TimestampType)
+ t := v.ToTime(dft.Unit)
+ if dft.TimeZone == "" { // Datetime
+ return Value(civil.DateTimeOf(t)), nil
+ }
+ return Value(t.UTC()), nil // Timestamp
+ case *arrow.Time32Type:
+ v := col.(*array.Time32).Value(i)
+ return convertBasicType(v.FormattedString(arrow.Microsecond), fs.Type)
+ case *arrow.Time64Type:
+ v := col.(*array.Time64).Value(i)
+ return convertBasicType(v.FormattedString(arrow.Microsecond), fs.Type)
+ case *arrow.Decimal128Type:
+ dft := ft.(*arrow.Decimal128Type)
+ v := col.(*array.Decimal128).Value(i)
+ rat := big.NewRat(1, 1)
+ rat.Num().SetBytes(v.BigInt().Bytes())
+ d := rat.Denom()
+ d.Exp(big.NewInt(10), big.NewInt(int64(dft.Scale)), nil)
+ return Value(rat), nil
+ case *arrow.Decimal256Type:
+ dft := ft.(*arrow.Decimal256Type)
+ v := col.(*array.Decimal256).Value(i)
+ rat := big.NewRat(1, 1)
+ rat.Num().SetBytes(v.BigInt().Bytes())
+ d := rat.Denom()
+ d.Exp(big.NewInt(10), big.NewInt(int64(dft.Scale)), nil)
+ return Value(rat), nil
+ case *arrow.ListType:
+ arr := col.(*array.List)
+ dft := ft.(*arrow.ListType)
+ values := []Value{}
+ start, end := arr.ValueOffsets(i)
+ slice := array.NewSlice(arr.ListValues(), start, end)
+ for j := 0; j < slice.Len(); j++ {
+ v, err := convertArrowValue(slice, j, dft.Elem(), fs)
+ if err != nil {
+ return nil, err
+ }
+ values = append(values, v)
+ }
+ return values, nil
+ case *arrow.StructType:
+ arr := col.(*array.Struct)
+ nestedValues := []Value{}
+ fields := ft.(*arrow.StructType).Fields()
+ for fIndex, f := range fields {
+ v, err := convertArrowValue(arr.Field(fIndex), i, f.Type, fs.Schema[fIndex])
+ if err != nil {
+ return nil, err
+ }
+ nestedValues = append(nestedValues, v)
+ }
+ return nestedValues, nil
+ default:
+ return nil, fmt.Errorf("unknown arrow type: %v", ft)
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/bigquery.go b/vendor/cloud.google.com/go/bigquery/bigquery.go
new file mode 100644
index 000000000..c597679bc
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/bigquery.go
@@ -0,0 +1,310 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "io"
+ "net/http"
+ "net/url"
+ "os"
+ "strings"
+ "time"
+
+ "cloud.google.com/go/bigquery/internal"
+ cloudinternal "cloud.google.com/go/internal"
+ "cloud.google.com/go/internal/detect"
+ "cloud.google.com/go/internal/trace"
+ "cloud.google.com/go/internal/version"
+ gax "github.com/googleapis/gax-go/v2"
+ bq "google.golang.org/api/bigquery/v2"
+ "google.golang.org/api/googleapi"
+ "google.golang.org/api/option"
+)
+
+const (
+ // Scope is the Oauth2 scope for the service.
+ // For relevant BigQuery scopes, see:
+ // https://developers.google.com/identity/protocols/googlescopes#bigqueryv2
+ Scope = "https://www.googleapis.com/auth/bigquery"
+ userAgentPrefix = "gcloud-golang-bigquery"
+)
+
+var xGoogHeader = fmt.Sprintf("gl-go/%s gccl/%s", version.Go(), internal.Version)
+
+func setClientHeader(headers http.Header) {
+ headers.Set("x-goog-api-client", xGoogHeader)
+}
+
+// Client may be used to perform BigQuery operations.
+type Client struct {
+ // Location, if set, will be used as the default location for all subsequent
+ // dataset creation and job operations. A location specified directly in one of
+ // those operations will override this value.
+ Location string
+
+ projectID string
+ bqs *bq.Service
+ rc *readClient
+
+ // governs use of preview query features.
+ enableQueryPreview bool
+}
+
+// DetectProjectID is a sentinel value that instructs NewClient to detect the
+// project ID. It is given in place of the projectID argument. NewClient will
+// use the project ID from the given credentials or the default credentials
+// (https://developers.google.com/accounts/docs/application-default-credentials)
+// if no credentials were provided. When providing credentials, not all
+// options will allow NewClient to extract the project ID. Specifically a JWT
+// does not have the project ID encoded.
+const DetectProjectID = "*detect-project-id*"
+
+// NewClient constructs a new Client which can perform BigQuery operations.
+// Operations performed via the client are billed to the specified GCP project.
+//
+// If the project ID is set to DetectProjectID, NewClient will attempt to detect
+// the project ID from credentials.
+//
+// This client supports enabling query-related preview features via environmental
+// variables. By setting the environment variable QUERY_PREVIEW_ENABLED to the string
+// "TRUE", the client will enable preview features, though behavior may still be
+// controlled via the bigquery service as well. Currently, the feature(s) in scope
+// include: stateless queries (query execution without corresponding job metadata).
+func NewClient(ctx context.Context, projectID string, opts ...option.ClientOption) (*Client, error) {
+ o := []option.ClientOption{
+ option.WithScopes(Scope),
+ option.WithUserAgent(fmt.Sprintf("%s/%s", userAgentPrefix, internal.Version)),
+ }
+ o = append(o, opts...)
+ bqs, err := bq.NewService(ctx, o...)
+ if err != nil {
+ return nil, fmt.Errorf("bigquery: constructing client: %w", err)
+ }
+
+ // Handle project autodetection.
+ projectID, err = detect.ProjectID(ctx, projectID, "", opts...)
+ if err != nil {
+ return nil, err
+ }
+
+ var preview bool
+ if v, ok := os.LookupEnv("QUERY_PREVIEW_ENABLED"); ok {
+ if strings.ToUpper(v) == "TRUE" {
+ preview = true
+ }
+ }
+
+ c := &Client{
+ projectID: projectID,
+ bqs: bqs,
+ enableQueryPreview: preview,
+ }
+ return c, nil
+}
+
+// EnableStorageReadClient sets up Storage API connection to be used when fetching
+// large datasets from tables, jobs or queries.
+// Currently out of pagination methods like PageInfo().Token and RowIterator.StartIndex
+// are not supported when the Storage API is enabled.
+// Calling this method twice will return an error.
+func (c *Client) EnableStorageReadClient(ctx context.Context, opts ...option.ClientOption) error {
+ if c.isStorageReadAvailable() {
+ return fmt.Errorf("failed: storage read client already set up")
+ }
+ rc, err := newReadClient(ctx, c.projectID, opts...)
+ if err != nil {
+ return err
+ }
+ c.rc = rc
+ return nil
+}
+
+func (c *Client) isStorageReadAvailable() bool {
+ return c.rc != nil
+}
+
+// Project returns the project ID or number for this instance of the client, which may have
+// either been explicitly specified or autodetected.
+func (c *Client) Project() string {
+ return c.projectID
+}
+
+// Close closes any resources held by the client.
+// Close should be called when the client is no longer needed.
+// It need not be called at program exit.
+func (c *Client) Close() error {
+ if c.isStorageReadAvailable() {
+ err := c.rc.close()
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// Calls the Jobs.Insert RPC and returns a Job.
+func (c *Client) insertJob(ctx context.Context, job *bq.Job, media io.Reader, mediaOpts ...googleapi.MediaOption) (*Job, error) {
+ call := c.bqs.Jobs.Insert(c.projectID, job).Context(ctx)
+ setClientHeader(call.Header())
+ if media != nil {
+ call.Media(media, mediaOpts...)
+ }
+ var res *bq.Job
+ var err error
+ invoke := func() error {
+ sCtx := trace.StartSpan(ctx, "bigquery.jobs.insert")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ }
+ // A job with a client-generated ID can be retried; the presence of the
+ // ID makes the insert operation idempotent.
+ // We don't retry if there is media, because it is an io.Reader. We'd
+ // have to read the contents and keep it in memory, and that could be expensive.
+ // TODO(jba): Look into retrying if media != nil.
+ if job.JobReference != nil && media == nil {
+ // We deviate from default retries due to BigQuery wanting to retry structured internal job errors.
+ err = runWithRetryExplicit(ctx, invoke, jobRetryReasons)
+ } else {
+ err = invoke()
+ }
+ if err != nil {
+ return nil, err
+ }
+ return bqToJob(res, c)
+}
+
+// runQuery invokes the optimized query path.
+// Due to differences in options it supports, it cannot be used for all existing
+// jobs.insert requests that are query jobs.
+func (c *Client) runQuery(ctx context.Context, queryRequest *bq.QueryRequest) (*bq.QueryResponse, error) {
+ call := c.bqs.Jobs.Query(c.projectID, queryRequest).Context(ctx)
+ setClientHeader(call.Header())
+
+ var res *bq.QueryResponse
+ var err error
+ invoke := func() error {
+ sCtx := trace.StartSpan(ctx, "bigquery.jobs.query")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ }
+
+ // We control request ID, so we can always runWithRetry.
+ err = runWithRetryExplicit(ctx, invoke, jobRetryReasons)
+ if err != nil {
+ return nil, err
+ }
+ return res, nil
+}
+
+// Convert a number of milliseconds since the Unix epoch to a time.Time.
+// Treat an input of zero specially: convert it to the zero time,
+// rather than the start of the epoch.
+func unixMillisToTime(m int64) time.Time {
+ if m == 0 {
+ return time.Time{}
+ }
+ return time.Unix(0, m*1e6)
+}
+
+// runWithRetry calls the function until it returns nil or a non-retryable error, or
+// the context is done.
+// See the similar function in ../storage/invoke.go. The main difference is the
+// reason for retrying.
+func runWithRetry(ctx context.Context, call func() error) error {
+ return runWithRetryExplicit(ctx, call, defaultRetryReasons)
+}
+
+func runWithRetryExplicit(ctx context.Context, call func() error, allowedReasons []string) error {
+ // These parameters match the suggestions in https://cloud.google.com/bigquery/sla.
+ backoff := gax.Backoff{
+ Initial: 1 * time.Second,
+ Max: 32 * time.Second,
+ Multiplier: 2,
+ }
+ return cloudinternal.Retry(ctx, backoff, func() (stop bool, err error) {
+ err = call()
+ if err == nil {
+ return true, nil
+ }
+ return !retryableError(err, allowedReasons), err
+ })
+}
+
+var (
+ defaultRetryReasons = []string{"backendError", "rateLimitExceeded"}
+ jobRetryReasons = []string{"backendError", "rateLimitExceeded", "internalError"}
+ retry5xxCodes = []int{
+ http.StatusInternalServerError,
+ http.StatusBadGateway,
+ http.StatusServiceUnavailable,
+ http.StatusGatewayTimeout,
+ }
+)
+
+// retryableError is the unary retry predicate for this library. In addition to structured error
+// reasons, it specifies some HTTP codes (500, 502, 503, 504) and network/transport reasons.
+func retryableError(err error, allowedReasons []string) bool {
+ if err == nil {
+ return false
+ }
+ if err == io.ErrUnexpectedEOF {
+ return true
+ }
+ // Special case due to http2: https://github.com/googleapis/google-cloud-go/issues/1793
+ // Due to Go's default being higher for streams-per-connection than is accepted by the
+ // BQ backend, it's possible to get streams refused immediately after a connection is
+ // started but before we receive SETTINGS frame from the backend. This generally only
+ // happens when we try to enqueue > 100 requests onto a newly initiated connection.
+ if err.Error() == "http2: stream closed" {
+ return true
+ }
+
+ switch e := err.(type) {
+ case *googleapi.Error:
+ // We received a structured error from backend.
+ var reason string
+ if len(e.Errors) > 0 {
+ reason = e.Errors[0].Reason
+ for _, r := range allowedReasons {
+ if reason == r {
+ return true
+ }
+ }
+ }
+ for _, code := range retry5xxCodes {
+ if e.Code == code {
+ return true
+ }
+ }
+ case *url.Error:
+ retryable := []string{"connection refused", "connection reset"}
+ for _, s := range retryable {
+ if strings.Contains(e.Error(), s) {
+ return true
+ }
+ }
+ case interface{ Temporary() bool }:
+ if e.Temporary() {
+ return true
+ }
+ }
+ // Check wrapped error.
+ return retryableError(errors.Unwrap(err), allowedReasons)
+}
diff --git a/vendor/cloud.google.com/go/bigquery/bigquery.replay b/vendor/cloud.google.com/go/bigquery/bigquery.replay
new file mode 100644
index 000000000..86bd3a3ea
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/bigquery.replay
@@ -0,0 +1,28376 @@
+{
+ "Initial": "IjIwMTktMTAtMjhUMTg6MzU6MDYuNTkwMDkzNjU5WiI=",
+ "Version": "0.2",
+ "Converter": {
+ "ClearHeaders": [
+ "^X-Goog-.*Encryption-Key$"
+ ],
+ "RemoveRequestHeaders": [
+ "^Authorization$",
+ "^Proxy-Authorization$",
+ "^Connection$",
+ "^Content-Type$",
+ "^Date$",
+ "^Host$",
+ "^Transfer-Encoding$",
+ "^Via$",
+ "^X-Forwarded-.*$",
+ "^X-Cloud-Trace-Context$",
+ "^X-Goog-Api-Client$",
+ "^X-Google-.*$",
+ "^X-Gfe-.*$"
+ ],
+ "RemoveResponseHeaders": [
+ "^X-Google-.*$",
+ "^X-Gfe-.*$"
+ ],
+ "ClearParams": null,
+ "RemoveParams": null
+ },
+ "Entries": [
+ {
+ "ID": "05a0f97b61e4f9bc",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "74"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkYXRhc2V0UmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:07 GMT"
+ ],
+ "Etag": [
+ "gs3AYtwXmh7aF/dUsSnjCA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RbWvCMBSF/0v2VZu0vtQWhLnNDWEvUBU3xpCYXmu0TbokVUT870ulyj6o+Clwcs65T252aMVFjEI048lvAWp7F1NDNRhUQ2BoYm8S3eh9mc1ntvDpM47HeiiWj71u1zp4mdQLmabbjIp6DJmsG9AmrEqmHnEDl3idabsdkHYrICRo2GNKCHFtXkM6f+ViZVsWxuQ6xPjI4SRSJinQnGuHyeyk47WHcyWXwIzGZ0bjarTGNzJUtgjmoEAwQOHuqA3K591YUzENLmwE7WuIMgZao/B7h5RM7SA0iQajflQuIgfGafqiZJFbvSqbKG5AaZs9JT4m71cCHxtxwV9oUA/bfkZ5atWSqK7kTJr7M6wOp5mT2MCaM7DQshCm/IP/vVG/93QFJAIaH0h+aogpoIZLMeJZmXRbvud1fJ/4zWbTFqRUmzcZ8zmH+JJFskODvRoP0f4PCVPOULQCAAA="
+ }
+ },
+ {
+ "ID": "f0be3768141a8a07",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "210"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODg2MDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoicmVjIiwidHlwZSI6IlJFQ09SRCJ9XX0sInRhYmxlUmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidF9iYWQifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:07 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6WOMQvCMBCF9/6KI7NDBye3YqsUtEJRFxFJm6MNpI3kUkFK/7tJzODudHz37r17cwLA0Bht2AZmBw5bLdDROk1X38WARLzzO7aTqAQYbEES2PcToS62pzqHZrLQc4JRA7U9DpxFcwgn570Fhvjl7+AQIPTA5ej9ndINV7+aQU46aHJ8cSUFi9oS5j32I8vt5PuxsrpmhzJ/ZPX+ciyqs79fkiX5AH4fDhokAQAA"
+ }
+ },
+ {
+ "ID": "007350d4f29cb23a",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:08 GMT"
+ ],
+ "Etag": [
+ "xGHJs5vCc0GIeyRFDLpKQA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Q3U7CQBCF32W9RXapgZYmXIBURCtoqVfGkKUdykrbrd1VaQjv7rSCNf6F7MVmzpwz82W2ZC3SkNhkIaLnF8iLE80XMZAGAc0j1DejyyvVfj0P2GgMhXcxdLPru36vhw5R5tRKxnGR8PQ0hESealDaDrnmCvTcYK1uixnWvNPpsk67y1j3DL85Y6zVrPb8a8EVCuKlK9I1LlppnSmb0gNoM5IyioFnQjUDmXzq9NWgWS6fINCK/kJH93SKHoNJK0xFj6KtTB4sIYc0AGJvyR5k/MelMLOHqBzHAB3WVIEjqHZ4xGAFCS9xlgLiUBH7YUtSniDhx4cji6ysZr43nowwU/dfElX3xxPfGTkeCokMS8Fzbp2+7wy/RnII6oTnnE+9IdY/Vy+kjGvjYDp1nf6E7B7xNcq9gwJPhB1GqtKVaeRD/l325NuhCnLgWsjUF9X8Vts0DMs0mWkZ5dlgk4n8p8E6YyZeCg0xV/pGhgJRw+8zLNYxali/P3CdMiGDaiBK9zOyewcC/my7TQMAAA=="
+ }
+ },
+ {
+ "ID": "f84d1553f81296b8",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "311"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld19zdGFuZGFyZHNxbCJ9LCJ2aWV3Ijp7InF1ZXJ5IjoiU0VMRUNUIEFQUFJPWF9DT1VOVF9ESVNUSU5DVChuYW1lKSBGUk9NIGBzaG9sbHltYW4tZGVtby10ZXN0LmRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS50YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxYCIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:08 GMT"
+ ],
+ "Etag": [
+ "1a06HZtgBjvaM+E52VYphA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXY+aQBSG/4qZ3rRpVwY2KpLshVrakqBuELdfadhZOODsDjMsM7ohxv/eA9E2aW3jFTnv+XrOO+zJE5cZ8cgDL563UDevDHsQQN4RMKxA3WZ0+OmbKaaPOzZ/6w+cu6/VZnJzgxW87dMbJURTMnmVQamuDGjjZcwwDSZxqD22qeMmw+GYDgdjSsfX+EkopXbfJDsOL4k2TGaszvSzwJEaRB5y+YSDN8ZU2rOsE1i/UKoQwCqu+6kqf+nWzrGqWj1CarR1hsY60mjrEiyrO19bZ+m6XAQ51CBTIN6eHBcH/3ACe45Lu4pLAE5ruoYzFAc0Kd1Aydr1OQeRaeJ93xPJSiQiOU3aCU3VBsEi9j/6EQqlylphsQ7DyTT0yeEHzpHbctogJiYo6cJQySKG+k85Ui+nKK2BGa5kzLt19mDkOO5oRF3bdTEtmDZzlXEEy/4qubYHv9nuAv8zRu197SXdU6K88kN/Fvcmt7fR8ksyW64XcfI+WMXBYha/bm980/sQLee9+zNu9y/771p3/1tyj1xbDSEULG1W6LmXM6EBHRMq7a5H0PWKHH4CKQGoMj0DAAA="
+ }
+ },
+ {
+ "ID": "73dcf15f72046f29",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_standardsql?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:08 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "8f7c14edaa1ce301",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:08 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "de3d3e08c604b81c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDIifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:08 GMT"
+ ],
+ "Etag": [
+ "Sqn5ZaQqM5uZ6kSzqV4eAw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42R3U7CQBCF32W9RXYpAm0TLkAbQ8KPttULjSFLO5SVtlu6i4qEd3dawRpRQ3qxmTPnzHyZbslSpCGxyUxEqzXkmzPNZzGQGgHNI9S9Vdp64LerUWv90F5676v7C+i9drvoEEVOLWQcbxKenoeQyHMNStsh11yBnhqsYTWYYU7bbYu1WxZjVhOfKWOsUS/3/GcxcIWCeD4U6RIXLbTOlE3pAbQeSRnFwDOh6oFMvnT6YtAsl88QaEV/oaN7OkVPwaQlpqIn0ZYmF+aQQxoAsbdkDzL441KY2UOUjlOADmvKwAlUOzxisICEFzhzAXGoiP24JSlPkPDzwZGbrKg83x2MrzFT9deJqvqDse9cOy4KiQwLwXVunJ7vXH2P5BBUCde5nLhXWB+vnkkZV8b+ZDJ0emOye8KvVuztb/BE2GGkLIcyjXzIf8qufD1UQQ5cC5n6opzfaHUMw+x0mGk2i78Db5nIjw1mk3XwUmiIudIjGQpEDY9mWAarYP1ef+gUCRmUA1G688juAygkJNdNAwAA"
+ }
+ },
+ {
+ "ID": "25e7e6880f82d40d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0002?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:09 GMT"
+ ],
+ "Etag": [
+ "Sqn5ZaQqM5uZ6kSzqV4eAw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42R3U7CQBCF32W9RXYpAm0TLkAbQ8KPttULjSFLO5SVtlu6i4qEd3dawRpRQ3qxmTPnzHyZbslSpCGxyUxEqzXkmzPNZzGQGgHNI9S9Vdp64LerUWv90F5676v7C+i9drvoEEVOLWQcbxKenoeQyHMNStsh11yBnhqsYTWYYU7bbYu1WxZjVhOfKWOsUS/3/GcxcIWCeD4U6RIXLbTOlE3pAbQeSRnFwDOh6oFMvnT6YtAsl88QaEV/oaN7OkVPwaQlpqIn0ZYmF+aQQxoAsbdkDzL441KY2UOUjlOADmvKwAlUOzxisICEFzhzAXGoiP24JSlPkPDzwZGbrKg83x2MrzFT9deJqvqDse9cOy4KiQwLwXVunJ7vXH2P5BBUCde5nLhXWB+vnkkZV8b+ZDJ0emOye8KvVuztb/BE2GGkLIcyjXzIf8qufD1UQQ5cC5n6opzfaHUMw+x0mGk2i78Db5nIjw1mk3XwUmiIudIjGQpEDY9mWAarYP1ef+gUCRmUA1G688juAygkJNdNAwAA"
+ }
+ },
+ {
+ "ID": "949d602f771a3353",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "302"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX25vY2x1c3Rlcl8wIn0sInRpbWVQYXJ0aXRpb25pbmciOnsidHlwZSI6IkRBWSJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:09 GMT"
+ ],
+ "Etag": [
+ "/9ZgIqtBre0gTvY495t1AA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sy07DMBBF/8VsoXZS+kgkFq1AqFJBqIRFQSgyyTQ1JHawp0BV9d8Zh7YgHqIra8Z37j0eecWelM5ZzB5U8bwAuzxA+VACO2SAsqA+j26L0TMOLYgieZkeRx0MBoOTE1IoP+fmpiyXldRHOVTmCMFhnEuUDjANRRAFIuyn3W4kup1IiKhNRyqECFqYVhThpWktLSpURqfaZOXCIdhUUICDcjZW+oli5oi1iznfYrYKY4oSZK1cKzPVrs9fQl5b8wgZOv4LG9+wOb4PJG+W4fgerI1yAjOwoDNg8YptMEZ/bIlmNgiNYh+cbUwz8C/TmhaYzaGSHmamoMwdi+9WTMuK+D4OMlzWvrpOJqPLc5rZ3ZPzl/vTQXLG1vfkiaqCq22g0oV334mmPlUvquGSnkgdvxkqx0YXCdjv7Yl53VaZBekNE9WEB51eGPZ7PRGF4th/xrda2Z+Cflv0aDEkKKXDC5Mremf+w6Mdis+XJIPh+MxPmKwxpNbNNVu/A063LnIJAwAA"
+ }
+ },
+ {
+ "ID": "56b227398f0c30ea",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_0?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:09 GMT"
+ ],
+ "Etag": [
+ "/9ZgIqtBre0gTvY495t1AA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sy07DMBBF/8VsoXZS+kgkFq1AqFJBqIRFQSgyyTQ1JHawp0BV9d8Zh7YgHqIra8Z37j0eecWelM5ZzB5U8bwAuzxA+VACO2SAsqA+j26L0TMOLYgieZkeRx0MBoOTE1IoP+fmpiyXldRHOVTmCMFhnEuUDjANRRAFIuyn3W4kup1IiKhNRyqECFqYVhThpWktLSpURqfaZOXCIdhUUICDcjZW+oli5oi1iznfYrYKY4oSZK1cKzPVrs9fQl5b8wgZOv4LG9+wOb4PJG+W4fgerI1yAjOwoDNg8YptMEZ/bIlmNgiNYh+cbUwz8C/TmhaYzaGSHmamoMwdi+9WTMuK+D4OMlzWvrpOJqPLc5rZ3ZPzl/vTQXLG1vfkiaqCq22g0oV334mmPlUvquGSnkgdvxkqx0YXCdjv7Yl53VaZBekNE9WEB51eGPZ7PRGF4th/xrda2Z+Cflv0aDEkKKXDC5Mremf+w6Mdis+XJIPh+MxPmKwxpNbNNVu/A063LnIJAwAA"
+ }
+ },
+ {
+ "ID": "4176229c3cdc06af",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "333"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjbHVzdGVyaW5nIjp7ImZpZWxkcyI6WyJuYW1lIl19LCJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX2NsdXN0ZXJfMCJ9LCJ0aW1lUGFydGl0aW9uaW5nIjp7InR5cGUiOiJEQVkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:09 GMT"
+ ],
+ "Etag": [
+ "yedqPy1Zkhz/hCIcO9Y15w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXU/CMBSG/0u9FdrNwNgSLlCJIcGP4LxAQ5a6HbbK1o61qJPw3z0dHxo/oldNT9/znue86ZoshExIQB5FulxBVR8Z/pgDOSZgeIr1GpLlTe3cL7I3mp2N4mt/6nRe+n1UCNunM5XndcFlK4FCtQxoEyTccA0mcpnjO8ztRd2uz7odnzH/BI+IMea0TVTgCCuNSl4ZYYSSUZyvtIEqYmivIZ+PhVzgkMyYUgeU7iHbqVJpDrwUuh2r4lCnzy4tK/UEsdH0BzK6I9P0P4i0iULTP0kb3QTmUIGMgQRrsoMY/ZIQ9uwAGsV/YPZjmoY/iDYYXpxBwS3KXECeaBI8rInkBdJtD7SrS3u7DSejqwvsObyj76f380E4JJsZehpRwM1+nJCpdT+IpnaqXBWnNS6IFZsLXsdKpiFUX8sT9bK/xRVwaxiKZrjT8Vy353nM77qu/Yavpai+C3onzMNYUJBzbS5VInDP5JuH5/Y+NgkHp+Oh7VBxY4ilu1tLsA1ut9Ehr20cs83mHReJFo8kAwAA"
+ }
+ },
+ {
+ "ID": "935482881ea36a18",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_cluster_0?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:09 GMT"
+ ],
+ "Etag": [
+ "yedqPy1Zkhz/hCIcO9Y15w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXU/CMBSG/0u9FdrNwNgSLlCJIcGP4LxAQ5a6HbbK1o61qJPw3z0dHxo/oldNT9/znue86ZoshExIQB5FulxBVR8Z/pgDOSZgeIr1GpLlTe3cL7I3mp2N4mt/6nRe+n1UCNunM5XndcFlK4FCtQxoEyTccA0mcpnjO8ztRd2uz7odnzH/BI+IMea0TVTgCCuNSl4ZYYSSUZyvtIEqYmivIZ+PhVzgkMyYUgeU7iHbqVJpDrwUuh2r4lCnzy4tK/UEsdH0BzK6I9P0P4i0iULTP0kb3QTmUIGMgQRrsoMY/ZIQ9uwAGsV/YPZjmoY/iDYYXpxBwS3KXECeaBI8rInkBdJtD7SrS3u7DSejqwvsObyj76f380E4JJsZehpRwM1+nJCpdT+IpnaqXBWnNS6IFZsLXsdKpiFUX8sT9bK/xRVwaxiKZrjT8Vy353nM77qu/Yavpai+C3onzMNYUJBzbS5VInDP5JuH5/Y+NgkHp+Oh7VBxY4ilu1tLsA1ut9Ehr20cs83mHReJFo8kAwAA"
+ }
+ },
+ {
+ "ID": "0afa71eb8a71812c",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_0?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "32"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjp0cnVlfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:10 GMT"
+ ],
+ "Etag": [
+ "hMOSCWlX5GKYUPYQ/XU40w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SX0/bMBTFv4t5XWsnpX8SiYcCpUIrG2tTjWpCkUluU4NjB9uBVRXffddZWyZgok+Rr8859+ejbMiDUDmJyZ0oHmsw6yPH7ySQLwQcL3C+uvo+O/spb7rjr4v59eIHvZkfs+eTE1QI77MrLeW65KqVQ6lbDqyLc+64BZeGLIgCFg7SXi9ivW7EWNTBT8oYC9ouLXGFl6YVN044oVWqdCZr68CkDBdYkMuJUA8ew7nKxpTuMNuF1oUEXgnbznS5n9OnkFZG30PmLP2AjW7ZLD0EkjZlWHoAa6OcwhIMqAxIvCFbjMv/tISeLUKjOARnt6YxfMr0ggVmKyi5h1kKkLkl8a8NUbxEvr8fDFxX/jRLppffxujZ32PyP/fnw2REXm4x04kSrncLhSp8+l60QIeBx1qYV82FkAhEYmdqQL+qy9M1FoB63xseJ1oVCZi346l+3p0yA9xHJaJBC7r9MBz0+ywK2bH/VX9XwrwXDDqsj7WhQHLrrnQusIX8TUbAOmH0+s5keDoZeYfOmkAczWefPeoPApFHpEUDAAA="
+ }
+ },
+ {
+ "ID": "a904db128d354ce7",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_0?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "32"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjp0cnVlfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:10 GMT"
+ ],
+ "Etag": [
+ "SZfujLFgKyd7haukqhQKlw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SQU/jMBCF/4u5Qu2kS9NE4gBaQIiCoA0HWK0ik0wTU8dObQeIKv4749CWFbsreoo8fu/N56esyEKogiTkUZTLFky35/ijBLJPwPES57OHefs0OSsvuyKqeLtYVreX8uXoCBXC+2ylpexqrg4KqPWBA+uSgjtuwWUhC+KAheNsNIrZ6DBmLB7iJ2OMBQOX1bjCS7OGGyec0CpTOpetdWAyhgssyPlEqAWuqZxrbELpBnNQal1K4I2wg1zX2zl9Dmlj9BPkztJ/sNE1m6W7QNK+DEt3YO2VU5iDAZUDSVZkjXHxn5bQs0boFbvgbNb0hm+Z3rDAvIKae5i5AFlYkvxaEcVr5Pv4YGDX+NMsnV5cn6Nne4/Jf9z/PE5PydtvzHSihpvNQqFKn74V3aPDwLIV5lNzJiQCkcSZFtCv2vqkwwJQ73vD40SrMgXzdTzVL5tTboD7qFT0aMFhFIbjKGJxyH74X/W1EeZvwXjIIqwNBZJbd6ULgS0UXzICFg2Hn+9Mj08mp96h8z4QR3ez7x71DqGtDHhFAwAA"
+ }
+ },
+ {
+ "ID": "dea634411117aae5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "324"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX25vY2x1c3Rlcl8xIn0sInRpbWVQYXJ0aXRpb25pbmciOnsiZXhwaXJhdGlvbk1zIjoiMTAwMCIsInR5cGUiOiJEQVkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:10 GMT"
+ ],
+ "Etag": [
+ "R5OBB6v5jqD4cvp5U45csA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXU/CMBSG/0u9VdpNxtgSLyASY4IfwXFhjFlqdxiFrZ1rQQnhv3s6Ab8jV835et/nnHRN5lJlJCZPMn9eQL06svypAHJMwPIc86Pgpt/vLIPZ83lbLKtg3A6E6Z2dYYd0c2aqi2JVcnWSQalPLBgbZ9xyAzb1mRd5zO+mnU7EOkHEWHSKT8oY81o2LdHCtaYVr620UqtUaVEsjIU69dDAQDEZSjVHm6m1lYkp3WG2cq3zAnglTUvocp+nS59WtZ6BsIb+wka3bIYeAkmbYxh6AGvTOYIJ1KAEkHhNthiXf1wJZ7YITcchODubZuBfpg0eUEyh5A5mIqHIDIkf1kTxEvneHxRcVS66S0aX1xc4s6+j8qf6eS8ZkM0jalpZwu3OUKrcqe+b7t3Hea1kzV31Cg2Jh+SORS3K/goXxxQjTTjUKk+g/p4e6ZddJGpohBLZIHlB6PvdMPRYNwi/OH1p6J6y0Jkek4Ibe6UzidtnPzQiP/zYL+n1hwM3oUUjiKnxHdm8AYs0pW0fAwAA"
+ }
+ },
+ {
+ "ID": "18a74cb64db8020c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_1?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:11 GMT"
+ ],
+ "Etag": [
+ "R5OBB6v5jqD4cvp5U45csA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXU/CMBSG/0u9VdpNxtgSLyASY4IfwXFhjFlqdxiFrZ1rQQnhv3s6Ab8jV835et/nnHRN5lJlJCZPMn9eQL06svypAHJMwPIc86Pgpt/vLIPZ83lbLKtg3A6E6Z2dYYd0c2aqi2JVcnWSQalPLBgbZ9xyAzb1mRd5zO+mnU7EOkHEWHSKT8oY81o2LdHCtaYVr620UqtUaVEsjIU69dDAQDEZSjVHm6m1lYkp3WG2cq3zAnglTUvocp+nS59WtZ6BsIb+wka3bIYeAkmbYxh6AGvTOYIJ1KAEkHhNthiXf1wJZ7YITcchODubZuBfpg0eUEyh5A5mIqHIDIkf1kTxEvneHxRcVS66S0aX1xc4s6+j8qf6eS8ZkM0jalpZwu3OUKrcqe+b7t3Hea1kzV31Cg2Jh+SORS3K/goXxxQjTTjUKk+g/p4e6ZddJGpohBLZIHlB6PvdMPRYNwi/OH1p6J6y0Jkek4Ibe6UzidtnPzQiP/zYL+n1hwM3oUUjiKnxHdm8AYs0pW0fAwAA"
+ }
+ },
+ {
+ "ID": "72c3f8f5da79ab24",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "355"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjbHVzdGVyaW5nIjp7ImZpZWxkcyI6WyJuYW1lIl19LCJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX2NsdXN0ZXJfMSJ9LCJ0aW1lUGFydGl0aW9uaW5nIjp7ImV4cGlyYXRpb25NcyI6IjEwMDAiLCJ0eXBlIjoiREFZIn19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:11 GMT"
+ ],
+ "Etag": [
+ "8m4hqWfphAvrKD22YeJv8A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa0/bMBSG/4v5CvUl0KaR+FAEQmxlmkqmCU0oMslpYojtYLvdqqr/fcfpZWMXwSfr3N73OUdek2dlKpKRR1W/LMCtjoJ8bIEcEwiyxnyqT5uXr/OumSzdx0sh7uHDMp2cn2OHinO+sW270tKcVKDtSQAfskoG6SEUgvExZyIthsMxG56NGRsn+BSMMT4IhUaL2Fp00gUVlDVF2S58AFdwlPfQzqfKPKNJE0LnM0r3kIPa2roF2Sk/KK0+5OlS0M7ZJyiDp/8gozsyT9+DSPtTePomad83gzk4MCWQbE12EDf/uRDO7AD6jvfA7G36gTeINni8sgEtI8pcQVt5kn1bEyM10m0flFt1MbrLZzefrnHmUEfd3+qXk/yKbB5QMygNn/d2ytRR/dB0H7/Mj045Gau3aEg4ckcWs9AXK1wbU4z04dSaOgf3Z3pmv++j0kEvlKseiZ+NhEhHI86FSF45vWpIEzaKpseklT7c2krh9tVfGknCf+2XTy6mV3HClr0gpr7cRYLtOXd7Hq64PdLDZvMTDj8byDoDAAA="
+ }
+ },
+ {
+ "ID": "636377dfb40ad235",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_cluster_1?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:11 GMT"
+ ],
+ "Etag": [
+ "8m4hqWfphAvrKD22YeJv8A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa0/bMBSG/4v5CvUl0KaR+FAEQmxlmkqmCU0oMslpYojtYLvdqqr/fcfpZWMXwSfr3N73OUdek2dlKpKRR1W/LMCtjoJ8bIEcEwiyxnyqT5uXr/OumSzdx0sh7uHDMp2cn2OHinO+sW270tKcVKDtSQAfskoG6SEUgvExZyIthsMxG56NGRsn+BSMMT4IhUaL2Fp00gUVlDVF2S58AFdwlPfQzqfKPKNJE0LnM0r3kIPa2roF2Sk/KK0+5OlS0M7ZJyiDp/8gozsyT9+DSPtTePomad83gzk4MCWQbE12EDf/uRDO7AD6jvfA7G36gTeINni8sgEtI8pcQVt5kn1bEyM10m0flFt1MbrLZzefrnHmUEfd3+qXk/yKbB5QMygNn/d2ytRR/dB0H7/Mj045Gau3aEg4ckcWs9AXK1wbU4z04dSaOgf3Z3pmv++j0kEvlKseiZ+NhEhHI86FSF45vWpIEzaKpseklT7c2krh9tVfGknCf+2XTy6mV3HClr0gpr7cRYLtOXd7Hq64PdLDZvMTDj8byDoDAAA="
+ }
+ },
+ {
+ "ID": "99b89f6b096e557d",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_1?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "32"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjp0cnVlfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:12 GMT"
+ ],
+ "Etag": [
+ "ors7Ie/+Jrme10hRIhQsSg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SW2/aMBTHv4v7uIKdIAhE6kOrXsREpw2yh2maIjc5JC6+pLazDaF+9x2H21q1Kk+Rj/+Xn4+yISuhS5KSB1E9tWDXZ54/SCDnBDyvcG6sS6ZAP322CiJWz6f1N7eoLi5QIYLP1UbKteK6V4IyPQ/OpyX33IHPYxZNIhaP89FowkbDCWOTAX5yxljU97nCiiDNG2698MLoXJtCts6DzSMscCCXM6FXWFN737iU0j1mvzKmksAb4fqFUYc5/R3TxppHKLyjb7DRHZujp0DSbhmOnsDaKeewBAu6AJJuyA5j+s6W0LND6BSn4OxrOsOHTM+4wKIGxQPMUoAsHUl/bojmCvm2HwxcN+G0yObTL3foOdxj8n/315fZDXn+hZleKPi6LxS6CukH0Y/w4/xthOXh9h4LSYTkOLXw1Ap7dN4KiZgk9bYFTNWtulrjWtAQ1HicGV1lYF+P5+bP/lRY6Goy0QFHwySOx0kSsfEwecHxQjAesGSLJLnz96YUuJvydUbMBvHx9dnl1ewmOEzRBeLo++KjR/0DU9+2oFsDAAA="
+ }
+ },
+ {
+ "ID": "162574a9830d41af",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_1?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "32"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjp0cnVlfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:12 GMT"
+ ],
+ "Etag": [
+ "X62OLE2TahFdIQbWC+Rx3A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S207jMBCG38VcArWT0qaNxEXZLahSOWwJghVaRW4yTQ2OHWwHWlW8+45DWxbEil5FHv+Hz6OsyKNQOYnJVBRPNZjlnuNTCeSAgOMFzu+64eV4GCZ8fpqPfk1vf+xPFu3B8TEqhPfZuZZyWXJ1mEOpDx1YF+fccQsuDVnQD1jYS7vdPut2+oz12/hJGWNBy6UlVnhpWnHjhBNapUpnsrYOTBpggQU5Gwv1iDVz5yobU7rBbBVaFxJ4JWwr0+V2Tp9DWhn9AJmz9As2umazdBdI2izD0h1YG+UEZmBAZUDiFVljjP6zJfSsERrFLjibmsbwLdMrLjCbQ8k9zEyAzC2J71dE8RL53j4YuKz86TqZjC7O0LO9x+R/7n8OkiF5/YOZTpRwtSkUqvDpW9Fv/+MsKmG4vz3HQhIgOU4NPNXCvDtPhURMEjtTA6aqujxZ4lrQ4NV4HGtVJGA+jyf6ZXPKDDQ1iWiAg04Uhr0oClivE33g+CDotVn0hiS5dec6F7ib/HNGeNQ+en99MjgZD71DZ00gjm6uv3vUX6/OeGpbAwAA"
+ }
+ },
+ {
+ "ID": "7dbfbda208b1c486",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "332"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX25vY2x1c3Rlcl8yIn0sInRpbWVQYXJ0aXRpb25pbmciOnsicmVxdWlyZVBhcnRpdGlvbkZpbHRlciI6dHJ1ZSwidHlwZSI6IkRBWSJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:12 GMT"
+ ],
+ "Etag": [
+ "zH3uptlELKNbbZuQe4DlHg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SUU/bMBSF/4v3OmonpU0TiQcQ3UAUtJXwANMUucltanDsYN/AStX/zk1oyzQ2rU+Wr88598tRVuxBmYIlbKbKxwbc8hPKmQb2mQHKkuYvZ/2mRj2eXFzNZnfNdzg81Wfl0REpVOvzC6v1spLmoIDKHiB4TAqJ0gNmoQjiQISjbDiMxXAQCxH36ciEEEEPs4pWtNKslg4VKmsyY3PdeASXhbTAg55PlHmgNQvE2iecbzF7pbWlBlkr38tttZvzp5DXzt5Djp7/hY1v2DzfB5J3ZXi+B2unnMIcHJgcWLJiG4zzf7REng1Cp9gHZ7umM/yXaU0F5guoZAszV6ALz5IfK2ZkRXxvBwUu6/Z2nU7Pr76SZ/dOyb+9nx6nY7b+SZmoKvi2XahM2abvRLfkcPDYKPeu+aI0AbEEXQPkN011sqQCSC9Yd51YU6bg/hxP7fP2ljuQbVSqOrRgEIXhKIqCcHAYtb/qr1q5j4JRX0RUGwm09HhpC0UtFB8yhkH8/p3p8clk3Dps3gXS6OaarV8BptmUvCcDAAA="
+ }
+ },
+ {
+ "ID": "d6b7e7a4d1020e41",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_2?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:12 GMT"
+ ],
+ "Etag": [
+ "zH3uptlELKNbbZuQe4DlHg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S0U/bMBDG/xfvFWonpU0TiQcQ3UAUBCV7GNMUuck1NTh2sC9Aqfjfd8nagsYm+mTd+fu++/nkFbtXpmAJm6nyoQG3/IJypoHtMUBZUv/ltN/UqMeT88vZ7La5hoMTfVoeHpJCtT6/sFovK2n2C6jsPoLHpJAoPWAWiiAORDjKhsNYDAexEHGfjkwIEfQwq2hEK81q6VChsiYzNteNR3BZSAM86PlEmXsas0CsfcL5BrNXWltqkLXyvdxW2z5/DHnt7B3k6Pk/2PiazfNdIHm3DM93YO2UU5iDA5MDS1ZsjXH2ny2RZ43QKXbB2YzpDJ8yvdIC8wVUsoWZK9CFZ8nPFTOyIr4/BwUu67a6Sadnl9/Is72n5Hf3J0fpmL3+okxUFVxtBipTtulb0Q9yOHholHvTfFWagFiCrgHym6Y6XtICSC9YV06sKVNwf7en9mlT5Q5kG5WqDi0YRGE4iqIgHBxE7Vd9rpX7KBj1RURrI4GWHi9soWgLxYeMYRC/vTM9Op6MW4fNu0Bqfb/57FG/AcvAUy5FAwAA"
+ }
+ },
+ {
+ "ID": "b7a1a05804c4db09",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "363"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjbHVzdGVyaW5nIjp7ImZpZWxkcyI6WyJuYW1lIl19LCJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX2NsdXN0ZXJfMiJ9LCJ0aW1lUGFydGl0aW9uaW5nIjp7InJlcXVpcmVQYXJ0aXRpb25GaWx0ZXIiOnRydWUsInR5cGUiOiJEQVkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:13 GMT"
+ ],
+ "Etag": [
+ "9HsBS6c1OUU7Wi7IObMI+w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S3U7jMBCF38VcstROKpomUi+oloVKZUFtqtUKochNpqnBsYPtLFRV351x+gNiQXAVeXzOmc9HWZMHoQqSkLkoHxswqyPH5xLIDwKOlziPL+1w2suD69ks+iOi0fX8anT8NBigQnifXWopVxVXJwVU+sSBdUnBHbfgspAFccDCftbrxax3GjMWd/GTMcaCjssqXOGlWc2NE05oleWysQ5MFmK8BbkYC/WAS5bO1TahdA/ZKbUuJfBa2E6uq8Oc/gtpbfQ95M7SD8jojszS7yDStgpLvyRtdRNYgAGVA0nWZAcx+qQh9OwAWsV3YPZrWsMXRBssL19CxT3KQoAsLElu10TxCum2H4xb1f40TSej3xfoOdxj7pv7n2fpOdncYaYTFdzs1wlV+vSD6C86DDw2wrxqfgmJQCRxpgH0q6YarvD5qGekPY61KlMw78cT/bQ/5Qa4j0pFixacRmHYj6IgjFnf/6TPtTD/C/pdFmFpKJDcuitdCGyheJ/Rxapf35meDcfn3qHzNhBHs6kn2Na6e++hzW1Zd5vNCx0B1uxCAwAA"
+ }
+ },
+ {
+ "ID": "d5bc9af784dd4fc8",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_cluster_2?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:13 GMT"
+ ],
+ "Etag": [
+ "9HsBS6c1OUU7Wi7IObMI+w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXW/aMBSG/4t32YGdoBISiYuisRWJrhUETdM0RSY5BLeOndrOWoT47z0OH53YR3tl+fg973nOK2/Jg1AFSchSlI8NmM0Hx5cSyEcCjpdYj6/taN7Pg9vFIvomosnt8mZy8TQcokL4PrvWUm4qrjoFVLrjwLqk4I5bcFnIgjhg4SDr92PWv4wZi3t4ZIyxoOuyCkd4aVZz44QTWmW5bKwDk4Vob0GupkI94JC1c7VNKD1CdkutSwm8Frab6+pUp79CWht9D7mz9C9k9EBm6XsQaRuFpW+StroZrMCAyoEkW3KAmPwjIew5ALSK98Acx7QNbxDtMLx8DRX3KCsBsrAk+bElildItz/QblP72zydTb5+wZ7TO/r+9v7pKh2T3U/0dKKCu+M4oUrvfhJ9xw4Dj40wr5rPQiIQSZxpAPtVU402uD7qGWmvU63KFMx5eaafjrfcAPdWqWjRgssoDAdRFIQxG/hP+lwL86dg0GMRhoYCya270YXAFIpzjx5G/bpnejWajn2HzltDLC3mnmAf62HfU5r7sHws/936BaLlN9NgAwAA"
+ }
+ },
+ {
+ "ID": "9affe0731b3a4f40",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_2?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "33"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjpmYWxzZX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:13 GMT"
+ ],
+ "Etag": [
+ "5sU7NtKUea+MywanKU3aAw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S3U7jMBCF38V7CdROummaSFwULawQBaE2vVghFJlkmhocO9judqOq78442xbEj+hVNOMz53wzypo8CVWSlDyI6nkJpv3h+IMEckzA8Qr7kZ3FN+5qBvzoul1xdTXr89Hq9BQVws/ZhZayrbk6KaHWJw6sS0vuuAWXhyxIAhYO88EgYYMoYSzp4ydnjAU9l9cY4aV5w40TTmiVK13IpXVg8hADLMj5WKgnjFk419iU0h1mr9K6ksAbYXuFrvd9+jekjdGPUDhLP2GjWzZLD4Gk3TEsPYC1U05gDgZUASRdky3G5RdXwpktQqc4BGcX0w18y7TBAxYLqLmHmQuQpSXp3ZooXiPf/w8ato2vptnk8uY3zuzf0fnN+69Rdk429+jpRA23u0ChKu++F/3xqWpZn7W4InYY6cqxVlUG5n17ole7qjDAvWEmuvAgisNwGMdBGP2M/c/4rxHmo2DYZzEeBgWSW3etS4F7lu89+lGYvG6Sjc7G535CF50htmZTrA08L4V5Xe1CSLwjSedcWti8ALU4j3EoAwAA"
+ }
+ },
+ {
+ "ID": "9ef1fdbea03d3c74",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_2?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "33"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjpmYWxzZX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:13 GMT"
+ ],
+ "Etag": [
+ "5sU7NtKUea+MywanKU3aAw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S3U7jMBCF38V7CdROummaSFwULawQBaE2vVghFJlkmhocO9judqOq78442xbEj+hVNOMz53wzypo8CVWSlDyI6nkJpv3h+IMEckzA8Qr7kZ3FN+5qBvzoul1xdTXr89Hq9BQVws/ZhZayrbk6KaHWJw6sS0vuuAWXhyxIAhYO88EgYYMoYSzp4ydnjAU9l9cY4aV5w40TTmiVK13IpXVg8hADLMj5WKgnjFk419iU0h1mr9K6ksAbYXuFrvd9+jekjdGPUDhLP2GjWzZLD4Gk3TEsPYC1U05gDgZUASRdky3G5RdXwpktQqc4BGcX0w18y7TBAxYLqLmHmQuQpSXp3ZooXiPf/w8ato2vptnk8uY3zuzf0fnN+69Rdk429+jpRA23u0ChKu++F/3xqWpZn7W4InYY6cqxVlUG5n17ole7qjDAvWEmuvAgisNwGMdBGP2M/c/4rxHmo2DYZzEeBgWSW3etS4F7lu89+lGYvG6Sjc7G535CF50htmZTrA08L4V5Xe1CSLwjSedcWti8ALU4j3EoAwAA"
+ }
+ },
+ {
+ "ID": "a0b285c02b2703d5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "369"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX25vY2x1c3Rlcl8zIn0sInRpbWVQYXJ0aXRpb25pbmciOnsiZXhwaXJhdGlvbk1zIjoiMTAwMCIsImZpZWxkIjoiZGF0ZSIsInJlcXVpcmVQYXJ0aXRpb25GaWx0ZXIiOnRydWUsInR5cGUiOiJEQVkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:14 GMT"
+ ],
+ "Etag": [
+ "jPXOPS5eOIfOz/1rTfnDYQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa2/TMBSG/4v5ymo7pZdE2odNG6hSR0sbpE0TirzkJPXm2JntAKXqf+c464VNIPrJOpf3fR8deUOepC5IQh5k9dyCXb/z4kEBeU/Aiwr7j/Pb2Xw5gNmknP2i3Kalvrr7cn6OGzLo3Moota6FPiugNmcenE8K4YUDn0WMx5xF42w4jNlwEDMW9/HJGGO857MaI8Jq1gjrpZdGZ9rkqnUebNbHAAeqnEr9hDEr7xuXULrH7FXGVApEI10vN/WhT79HtLHmEXLv6F/Y6I7N0VMgaXcMR09g7TYXUIIFnQNJNmSHMfnHlVCzQ+g2TsHZx3SC/zJt8YD5CmoRYEoJqnAkud8QLWrke3nQcN2EapkuJp8/oeYwR+c/5lcX6TXZfkNPL2uY7wOlroL7YekufJyfjbQiTG8wkHAkx24HcLS18NxKezT6KBVSk8TbFjBEt/XlGq+EgiDGcmp0lYJ9216YH/sqt9ClprLj54NRFI1HI96PB/wV1quFcZ+NXgiVcP7GFBJJi7ceH1jEj8dILy6n10Fh8s4QW1+XZPsbGqa4hkwDAAA="
+ }
+ },
+ {
+ "ID": "b0491c13f2cfcb3e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_3?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:14 GMT"
+ ],
+ "Etag": [
+ "jPXOPS5eOIfOz/1rTfnDYQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa0/bMBSG/4v3ddR2ul4SiQ8g2FSprF2bSUNoikxykhocO9jORlfx33ccegG0iX6yzuV93ydH2ZB7qQuSkFtZPbRg1x+8uFVAPhLwosL+3fzHbL4cwGxSzv5QbtNSX1x/Oz3FDRl0bmWUWtdCnxRQmxMPzieF8MKBzyLGY86icTYcxmw4iBmL+/hkjDHe81mNEWE1a4T10kujM21y1ToPNutjgANVTqW+x5iV941LKN1h9ipjKgWika6Xm3rfp78i2lhzB7l39B9sdMvm6DGQtDuGo0ewdpsLKMGCzoEkG7LFmPznSqjZInQbx+DsYjrBu0xPeMB8BbUIMKUEVTiS3GyIFjXyPT9ouG5CtUwXk69fULOfo/OL+cVZekmefqKnlzXMd4FSV8F9v3QdfpzHRloRplcYSDiSY7cDONhaeGilPRh9lgqpSeJtCxii2/p8jVdCQRBjOTW6SsG+bS/M712VW+hSU9nx88EoisajEe/HA/4K69XCuM9Gz4RKOH9lComkxVuPTyzih2OkZ+fTy6AweWeIre/L9z7qLzM78v1qAwAA"
+ }
+ },
+ {
+ "ID": "00a9957de4c2948b",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "400"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjbHVzdGVyaW5nIjp7ImZpZWxkcyI6WyJuYW1lIl19LCJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJkYXRlIiwidHlwZSI6IkRBVEUifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfbWV0YWRhdGFfcGFydGl0aW9uX2NsdXN0ZXJfMyJ9LCJ0aW1lUGFydGl0aW9uaW5nIjp7ImV4cGlyYXRpb25NcyI6IjEwMDAiLCJmaWVsZCI6ImRhdGUiLCJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjp0cnVlLCJ0eXBlIjoiREFZIn19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:14 GMT"
+ ],
+ "Etag": [
+ "0T5ZkW3wj1HKjwQqST7u3Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXW/TMBiF/4u5ZbWTrE0TaRebGDDRIdYGTQNNkZe8Td06cWo7lKrqf+e1+8X40HZlvV/nPDryhixEU5KUPIlq2YFev7H8SQJ5S8DyCvss639b3EerefDx03x1t5xkcRfdXVzghnB3ZqakXNe8OSuhVmcWjE1LbrkBm4csSAIWDvPBIGGDfsJYEuGTM8aCns1rtHCrecu1FVaoJi9kZyzoPEJ5A3I6Es0CTWbWtial9ADZq5SqJPBWmF6h6mOf/ghpq9UcCmvoP8jonszQ1yBSH4WhL5L6vTFMQUNTAEk3ZA9x85+E8GYP4DdeA3Ow8QcvEG0xvGIGNXcoUwGyNCT9viENr5Fu96DcunXVJBvffP6AN8c56v42f3eZXZPtI2paUcOXg51oKqd+XHpwX+ZnKzR301s0JAFyY9cDnGQ1LDuhT0LvhURqklrdAZo0XX21xozc1yO+HKmmykD/2R6r1aEqNHjXTHj+oB+H4TCOg/OIRc+wni0MIxbvCCU39laVAknLvzTOw+QURnZ5Nbp2F6rwgtj6OnEEu+z3oRwj3yX6uN3+AjVBonZnAwAA"
+ }
+ },
+ {
+ "ID": "a029148b82625564",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_cluster_3?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:14 GMT"
+ ],
+ "Etag": [
+ "0T5ZkW3wj1HKjwQqST7u3Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXU/bMBiF/4u5HbWT0KaJxAVosKGVabSZpjFNkUnepm4dO7WddVXFf9/r9Av2BVeW349zHh95QxZClSQlD6JatmDWJ44/SCBvCDheYZ1l/fvFl2g1D95/mK/ulpMsbqO783OcEH7PzrSU65qr0xJqferAurTkjltweciCJGDhMB8MEjboJ4wlER45YyzoubxGCz+aN9w44YRWeSFb68DkEcpbkNORUAs0mTnX2JTSPWSv0rqSwBthe4WuD3X6I6SN0XMonKV/IaM7Mktfg0i7KCx9kbSbG8MUDKgCSLohO4ibfySEOzuAbuI1MHubbuEFokcMr5hBzT3KVIAsLUm/bYjiNdJtD5RbN/42ycY3H9/hzqGPuk/6by+yK/L4HTWdqOHT3k6oyqsfhr76L/OzEYb77i0akgC5sdoBHGUNLFthjkLXQiI1SZ1pAU1UW1+uMSP/9Uh3HWlVZWB+L4/1an8rDHSumej4g34chsM4Ds4iFj3DejYwjFi8JZTcultdCiQt/9A4C5NjGNnF5ejKb+iiE8TS54kn2Ga/C+UQ+TZRn91/X/0LAme45YUDAAA="
+ }
+ },
+ {
+ "ID": "7ba557d43113b6f5",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_3?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "33"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjpmYWxzZX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:15 GMT"
+ ],
+ "Etag": [
+ "jXlEkPcyZpPt/vdyy8xxIw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SW0/jMBCF/4v3damdRL0kEg8gyqpSWVUlSAtoFZlkmpo6drBdaFT1v+84NOWiRfQpmpkz53weZUtWQhUkIQ+ifFqDaX44/iCB/CTgeIn9xz9yvJrlzV09c/S5aJrRZjN5OT1FhfB7dqmlbCquTgqo9IkD65KCO27BZSEL4oCFo2wwiNmgHzMWR/jJGGNBz2UVRnhpVnPjhBNaZUrncm0dmCzCAAtyMRVqhTFL52qbUNph9kqtSwm8FraX6+rQp88hrY1+hNxZ+h82umez9BhI2h7D0iNYW+UcFmBA5UCSLdljTL64Eu7sEVrFMThdTLvwLdMOD5gvoeIeZiFAFpYk91uieIV8rx80bGpfXafzye9fuHOYo/O7+cVZOia7v+jpRAWzLlCo0rsfRLf+x9nUwnA/vcJAEiA5dluAzhZt1Lo6b/AO2PJjLKdalSmYz+25fumq3EDrm4qWMOgPw3A0HAZR3A8+BH8QjCI2fGWQ3LorXQhkKT579FkUvT03PTufjv2GzltDbN1cY23gaS3M2/svhcRjk2TBpYXdP6DSilNNAwAA"
+ }
+ },
+ {
+ "ID": "0455d09eee791c07",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_3?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "33"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyZXF1aXJlUGFydGl0aW9uRmlsdGVyIjpmYWxzZX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:15 GMT"
+ ],
+ "Etag": [
+ "jXlEkPcyZpPt/vdyy8xxIw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SW0/jMBCF/4v3damdRL0kEg8gyqpSWVUlSAtoFZlkmpo6drBdaFT1v+84NOWiRfQpmpkz53weZUtWQhUkIQ+ifFqDaX44/iCB/CTgeIn9xz9yvJrlzV09c/S5aJrRZjN5OT1FhfB7dqmlbCquTgqo9IkD65KCO27BZSEL4oCFo2wwiNmgHzMWR/jJGGNBz2UVRnhpVnPjhBNaZUrncm0dmCzCAAtyMRVqhTFL52qbUNph9kqtSwm8FraX6+rQp88hrY1+hNxZ+h82umez9BhI2h7D0iNYW+UcFmBA5UCSLdljTL64Eu7sEVrFMThdTLvwLdMOD5gvoeIeZiFAFpYk91uieIV8rx80bGpfXafzye9fuHOYo/O7+cVZOia7v+jpRAWzLlCo0rsfRLf+x9nUwnA/vcJAEiA5dluAzhZt1Lo6b/AO2PJjLKdalSmYz+25fumq3EDrm4qWMOgPw3A0HAZR3A8+BH8QjCI2fGWQ3LorXQhkKT579FkUvT03PTufjv2GzltDbN1cY23gaS3M2/svhcRjk2TBpYXdP6DSilNNAwAA"
+ }
+ },
+ {
+ "ID": "16579c8f7469ad6f",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_3?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:15 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "7ea0df705f752418",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_2?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:15 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "f6fb6ad58a1f3be9",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_1?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:15 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "3305dfab8cd99722",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_metadata_partition_nocluster_0?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:16 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "946d03804e0c508e",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0002?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:16 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "f3548433f3d748dd",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "246"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDMifSwidGltZVBhcnRpdGlvbmluZyI6eyJleHBpcmF0aW9uTXMiOiI4NjQwMDAwMCIsInR5cGUiOiJEQVkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:16 GMT"
+ ],
+ "Etag": [
+ "aYCSY0ris6vF95xjwQk65A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Ry27CMBBF/8XdAnYSkpBIXUAfUiWQWqALVsgkQzAkcWqbR4T499pWqERfijf2XN+Ze2Sf0Y6VKYrRimUfexD1naKrHFAHgaKZ1uniYbYggsng8Bz5p+3xbRf4w/t77WCmT254ntcFLbspFLyrQKo4pYpKUEuXOJFD3MEyCCIS+BEhkae3JSHE6dmc/yyejpCQr8es3OmgjVKVjDG+gvYyzrMcaMVkL+HFl44PLq4E30KiJP6FDjd0ErfBxBZT4la01jSFNQgoE0DxGTUgL3+8lO5pIKyjDdA1xja0oLroR0w2UFCNo8+KFfBKhWKK8ZKVmYFUdaVh0eNwYb79VDFBze1EanEQ9IlZZk65L0a1xtYyQbYc8zKbg/guT/nxWiUC7LC5ztWS44euOwhDJ+i73k3ajWHgkdCEdlBOpZrwlK0ZpD9m+J6xNPjz4Wj8ZDp4Ygdq6X2GLp9VTpwQ4QIAAA=="
+ }
+ },
+ {
+ "ID": "d323529b2485cade",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:16 GMT"
+ ],
+ "Etag": [
+ "aYCSY0ris6vF95xjwQk65A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RXW+CMBiF/0t3q7aAgJDsQveRLNFkU3fhlanwilWgrK0fxPjf1za4xH2F3jQ9Pec9T9oz2rEyRTFasexjD6K+U3SVA+ogUDTTOl08zBZEMBkcniP/tD2+7QJ/eH+vHczk5IbneV3QsptCwbsKpIpTqqgEtXSJEznEHSyDICKBHxESeXpbEkKcnu35z+LpCgn5eszKnS7aKFXJGOMraC/jPMuBVkz2El586fjg4krwLSRK4l/ocEMncRtMbDElbkVrTVNYg4AyARSfUQPy8sdL6UwDYR1tgK41NtCC6qL9rIBXKhRTjJeszAyYqisNiB6HC/PVp4oJam4nUouDoE/MMtlyX4xqjaplguxxzMtsDuK7POXH6ykRYIfNda+WHD903UEYOkHf9W7abgwDj4SmtINyKtWEp2zNIP0xw/eMpcGfD0fjJ5PgiR2opfcZunwCsYG+D9UCAAA="
+ }
+ },
+ {
+ "ID": "8cac08485ab3feec",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "87"
+ ],
+ "If-Match": [
+ "aYCSY0ris6vF95xjwQk65A=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0aW1lUGFydGl0aW9uaW5nIjp7ImV4cGlyYXRpb25NcyI6bnVsbCwicmVxdWlyZVBhcnRpdGlvbkZpbHRlciI6ZmFsc2UsInR5cGUiOiJEQVkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:17 GMT"
+ ],
+ "Etag": [
+ "Q8hVT33taI/7sP2nLAhDAw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42QXW+CMBSG/0t3O22BCULihcYtMWGJc27JrkyFA3RCi22dM8b/vgPTLXEf8Yr0zfvxcPZkJWRKIrIU+XoDendl+bIEck3A8hz1h37xPPc8yyc0MFNXxsNiPNwOBugQTc4Uqix3FZedFCrVsWBslHLLDdiFy5zQYW5/4fsh83shY6GHnwVjzOm2O/9ZPJwwUGaxkCscKqytTUTpCbSbK5WXwGthuomqvnT65tJaq1dIrKG/0NEjnaGXYNIW09CLaFvTDDLQIBMg0Z4cQSZ/XAozR4jWcQnQaaYNXEB1QL+oYMq1FVYoKWTegNldjYBkPHzBQg3rjdDfnjtRWtAkynhpAAvkphrtkBcDjLTPWMl8Dvpcnqnt6ZVo4E3XHMdRcnqB6/aDwPFv3OZU8F4L/dPQ91iA2GgoubH3KhWZgPS8I3Bcv7nD5z/Mh6P4tkmopC1E6emRHD4AnT+vw9oCAAA="
+ }
+ },
+ {
+ "ID": "bfd4ce24c91cd4bf",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:17 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "1152dee9028a6971",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "112"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkYXRhc2V0UmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMiJ9LCJmcmllbmRseU5hbWUiOiJuYW1lIiwibG9jYXRpb24iOiJFVSJ9Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:18 GMT"
+ ],
+ "Etag": [
+ "em8j2Aev8yrSn6pl3yNEpA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RW2vCMBT+L9lr7U3sDYQ5VoawKXQbPowhMT2t0TTpktRRxP++VKrsQcWnwHe+2znZoy3lOUrQipY/Dcj2IccaK9DIQqBxaSZQRRt/Aruole88qNmwnaX1ZDw2DNop1Vow1laYD3KoxECD0klvsvRdL/ZcP1oGQewGo9h146F5lq7r+kavgBWvlG+Ny1rrWiWOc+phl0KUDHBNlU1Edcadne/UUmyAaOVciHb6aOXc2aGnZVCABE4AJfsTNu3Wu9Om7zS9chF0sFAhKfCctTNcmRTEu8dCmBBQCiVfeyQF6waLbPqRZt15aiAUsxcpmtrgfcRCUg1SGcezYr6Y3RDMf/kVfqNAPrVphSkzaNdzIMVK6McLG9gUV3ZpBDtKwJQWDdfdz/z3zdLJ840iGeD82OTbQkQC1lTwD3o8hjcKfT8KQy+MQs8YMKz0m8hpQSG/RhHk6GBG6Sc6/AEaYK+sygIAAA=="
+ }
+ },
+ {
+ "ID": "e454119731b44203",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0002?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:18 GMT"
+ ],
+ "Etag": [
+ "em8j2Aev8yrSn6pl3yNEpA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RW2vCMBT+L9lr7U3sDYQ5VoawKXQbPowhMT2t0TTpktRRxP++VKrsQcWnwHe+2znZoy3lOUrQipY/Dcj2IccaK9DIQqBxaSZQRRt/Aruole88qNmwnaX1ZDw2DNop1Vow1laYD3KoxECD0klvsvRdL/ZcP1oGQewGo9h146F5lq7r+kavgBWvlG+Ny1rrWiWOc+phl0KUDHBNlU1Edcadne/UUmyAaOVciHb6aOXc2aGnZVCABE4AJfsTNu3Wu9Om7zS9chF0sFAhKfCctTNcmRTEu8dCmBBQCiVfeyQF6waLbPqRZt15aiAUsxcpmtrgfcRCUg1SGcezYr6Y3RDMf/kVfqNAPrVphSkzaNdzIMVK6McLG9gUV3ZpBDtKwJQWDdfdz/z3zdLJ840iGeD82OTbQkQC1lTwD3o8hjcKfT8KQy+MQs8YMKz0m8hpQSG/RhHk6GBG6Sc6/AEaYK+sygIAAA=="
+ }
+ },
+ {
+ "ID": "8d3d9e6b3a3a89bb",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0002?alt=json\u0026deleteContents=false\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:19 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "71a529607d51c3ba",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:19 GMT"
+ ],
+ "Etag": [
+ "gs3AYtwXmh7aF/dUsSnjCA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RbWvCMBSF/0v2VZu0vtQWhLnNDWEvUBU3xpCYXmu0TbokVUT870ulyj6o+Clwcs65T252aMVFjEI048lvAWp7F1NDNRhUQ2BoYm8S3eh9mc1ntvDpM47HeiiWj71u1zp4mdQLmabbjIp6DJmsG9AmrEqmHnEDl3idabsdkHYrICRo2GNKCHFtXkM6f+ViZVsWxuQ6xPjI4SRSJinQnGuHyeyk47WHcyWXwIzGZ0bjarTGNzJUtgjmoEAwQOHuqA3K591YUzENLmwE7WuIMgZao/B7h5RM7SA0iQajflQuIgfGafqiZJFbvSqbKG5AaZs9JT4m71cCHxtxwV9oUA/bfkZ5atWSqK7kTJr7M6wOp5mT2MCaM7DQshCm/IP/vVG/93QFJAIaH0h+aogpoIZLMeJZmXRbvud1fJ/4zWbTFqRUmzcZ8zmH+JJFskODvRoP0f4PCVPOULQCAAA="
+ }
+ },
+ {
+ "ID": "dd0fee87e150af29",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/does_not_exist?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:19 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/62OsQ7CMAxE935FlJlKDJ06Vx3bBSaEKkNMqZTEUuxKoKr/ThIy8AFM1vnsd7dVSmkMgYJu1RZFlHcyGFVzbA7fhUNmmNNODyTqQas3repAgFEUP8natwNfG3RUC7K0hpAnTzLha2HRhZNzOGIuWasS+M+MzDLkYPEJNVu6gf31AgJT9uJrn1J0Mfc8r6UrC8jKuc54mvrxPHTpcK/26gOm62vXNAEAAA=="
+ }
+ },
+ {
+ "ID": "ad5a63405b6cae67",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "74"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkYXRhc2V0UmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMyJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:20 GMT"
+ ],
+ "Etag": [
+ "BsNiNGQ6iMsm3h86/XQ0Pw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RUWvCMBSF/0v2qm2ss2pB2GQiwtTZORyMITG91jvTpktSRcT/vlSq7EHFp8DJOed+udmTNaYRCcgC498c1O4hYoZpMKRCwLDY3nT1CEf9iY9DndRXLd/9nNC3badjHVgk9UoKsUtYWo0gkVUD2gRlydyjtXaNeq2577ep32hT2q7bY04prdu8BrF8xXRtW1bGZDpw3ROHE0sZC2AZaofL5Ky7G8/NlPwBbrR7YbRbjtbunQylLYQlKEg5kGB/0gbF8+6sKZkGVzZCDhXCOAetSfC1J0oKO4jMwsG0FxaLyIAjE30l88zqZdlMoQGlbfacGM9GNwLjbXrFn2tQ3V0vYSisWhBVlVxI83SB1UGWOLENbJCDhZZ5aoo/+N8b9p5fboCEwKIjyXeFcAXMoEynmBTJWqPpea1m06PeY7E4wbQZygiXCNE1i+THBnv18U4Of/r/Bp+0AgAA"
+ }
+ },
+ {
+ "ID": "ff9c4499e0d0f8f2",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0003?alt=json\u0026deleteContents=false\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:20 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "5216747da6c55790",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "74"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkYXRhc2V0UmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwNCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:21 GMT"
+ ],
+ "Etag": [
+ "xEvfhxdEvTOWvagy/brMPw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RXWvCMBiF/0t2q/3I/GpB2MbKEOYcnaMXY0hM39bMtOmStFrE/75UquxCxavAyTnnffJmh9Ysj5GPliz9LUHWdzHRRIFGHQSapOZmG1TJahsH1XwWVSSt7aWcvm/GY+NgTVKtBOd1RvJuDJnoalDab0sW2HE918GjxWDgOYO+5zjevTkWjuP0TF4BT15ZvjYtK60L5dv2kcNKhUg5kIIpi4rspNsVtgspfoBqZZ8ZbbejlX0jQ2sLIQEJOQXk747apHnejTUt0+TCRtC+gwiloBTyv3ZICm4GoSiczIOwWUQBlBH+IkVZGL0tiyTTIJXJnhKz6O1KYLbJL/hLBfKpDjLCuFEboq4US6EfzrBajGRWagIVo2CgRZnr5g/+94bB4/MVkBBIfCD57iAqgWgm8jnLmqTbH2I8Gg6xi3vYFHCi9FTELGEQX7IIemgwV58faP8HYF01VLQCAAA="
+ }
+ },
+ {
+ "ID": "c37fe938a3b20714",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0004/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "153"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDQiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDQifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:21 GMT"
+ ],
+ "Etag": [
+ "+5BPv6XuuESE0Eks2iCBbA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42QX2+CMBTFv0v3uGlLJygkPsjCwxKXLOqSvZkKV+yEltHiQozffZdG9rB/4ant6Tk9v94zOUqVkYjsZP7eQN3eWLErgNwRsCJH/daPn0/Ba9Mk64QlR8PlQ7xbzOfokF3OHHRRtKVQowxKPbJgbJQJKwzYLWde6DE+2wZByAI/ZCy8x2XLGJuMXc+/FqwwUOyXUh2x6GBtZSJKe9BxrnVegKikGae6/NLpidOq1m+QWkN/oaNXOkOHYFKHaeggWmdawR5qUCmQ6EyuII9/TAozVwjnGALU17jAAKoLDjE9QCkQB/eqKeMWqzHMiDsutco3UH+XV/qjP6U1CCu12sgSP0U8f8r5bDrl3iSY4XUhjH3SmdxLyH5YAr+z2Lbq5M0iXiZdQqfuQZRe1uTyCfc+2hGEAgAA"
+ }
+ },
+ {
+ "ID": "0333c5be8413e358",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0004?alt=json\u0026deleteContents=false\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:21 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72PQQuCQBCF7/6KYc8JY5lkt6AIoTxEdYmQLQcTVhd21kOE/7119dAv6DS892b43nwCAEHGaCPW8HHCyacuyakYcTYaDTHLavDEVlrJZIFfWql3I9uwpEaHltiuyzEr5hilEc5XRZKkmCxTxHThRoGIMdQMbGuloG6hYxITwldgR7h5DVOXP+E9ptSNrNuBUin9kOo3MyRZ+8wQ6848KWsv7nza6P28T7+wlbYbfhFZft0csm2xOe0vx11+Hvb7oA++nXKyHnYBAAA="
+ }
+ },
+ {
+ "ID": "96d76e422e436cad",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0004?alt=json\u0026deleteContents=true\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:22 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "2436c3369263bad2",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:22 GMT"
+ ],
+ "Etag": [
+ "gs3AYtwXmh7aF/dUsSnjCA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RbWvCMBSF/0v2VZu0vtQWhLnNDWEvUBU3xpCYXmu0TbokVUT870ulyj6o+Clwcs65T252aMVFjEI048lvAWp7F1NDNRhUQ2BoYm8S3eh9mc1ntvDpM47HeiiWj71u1zp4mdQLmabbjIp6DJmsG9AmrEqmHnEDl3idabsdkHYrICRo2GNKCHFtXkM6f+ViZVsWxuQ6xPjI4SRSJinQnGuHyeyk47WHcyWXwIzGZ0bjarTGNzJUtgjmoEAwQOHuqA3K591YUzENLmwE7WuIMgZao/B7h5RM7SA0iQajflQuIgfGafqiZJFbvSqbKG5AaZs9JT4m71cCHxtxwV9oUA/bfkZ5atWSqK7kTJr7M6wOp5mT2MCaM7DQshCm/IP/vVG/93QFJAIaH0h+aogpoIZLMeJZmXRbvud1fJ/4zWbTFqRUmzcZ8zmH+JJFskODvRoP0f4PCVPOULQCAAA="
+ }
+ },
+ {
+ "ID": "a7e5815df464a0e7",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "41"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZXNjcmlwdGlvbiI6ImQyIiwiZnJpZW5kbHlOYW1lIjoibjIifQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:23 GMT"
+ ],
+ "Etag": [
+ "YzOg8uDabREdMsJ19QQPCA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RW2vCMBj9L9mr2rReWxjsogzH1Nk5ZIwhMf2smWnSJanDif99iXQyhhOfAifnlpMtWjGRoAjNWfpRgNpcJMQQDQZVEBiS2puXr1HaKbpkHveSgb73w/H48fb68tIymFPqpeR8kxFRTSCTVQPaRKXJLMB+6OOgM2u1QtxqhhiHdXvMMMa+1WvgiwcmVtZlaUyuI8/76VFLpUw5kJzpGpXZAffWgZcr+Q7UaO9ItFdGa+/MDiUthgUoEBRQtP3B+u55Z9qUnfr/LIJ2FbRQDETCN0OS2RQkApcOmiqWGyaFy3IQoRS0RtHrFinJHXMa9ye92O2VA2WE3ylZ5BYvM6eKGVDaRhwUo+nwhGD0Kf7hFxrUzaaXEcYt6opXlZxLc3XkSTVGslpqBWtGwZaWhTDuq377xr3r7okiMZBk3+StgqgC4maYsP06frMdBJ12G7cbjYY14ESbgUzYgkHyhxLUGx33BVxSUg75/IR2337Wlk/bAgAA"
+ }
+ },
+ {
+ "ID": "da31b5eda2068596",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "39"
+ ],
+ "If-Match": [
+ "gs3AYtwXmh7aF/dUsSnjCA=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZXNjcmlwdGlvbiI6ImQiLCJmcmllbmRseU5hbWUiOiJuIn0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 412,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:23 GMT"
+ ],
+ "Etag": [
+ "YzOg8uDabREdMsJ19QQPCA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6vmUlBQSi0qyi9SslKoBnKA3OT8lFQgz8TAQAcikJtaXJyYDhJTCihKTc7PS8ksyczPU0jOSE3OVkhLzMxJTdFTgioGG1YMVBsN5itATSXZILCGlPzcxMw8kPr0nPykxBxkuaLUxOJ8sBxEI7KJSlBltWA6Fuq04pLEklKQ05TcHD19XF3iA4Jcnf39XDxDPP39QFpquWq5AH1JwmMSAQAA"
+ }
+ },
+ {
+ "ID": "faea53f38565dc75",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "37"
+ ],
+ "If-Match": [
+ "YzOg8uDabREdMsJ19QQPCA=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZXNjcmlwdGlvbiI6IiIsImZyaWVuZGx5TmFtZSI6IiJ9Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:24 GMT"
+ ],
+ "Etag": [
+ "yNL/q8jRoElmNa7RVFBHzQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R3U7CMBh9l3oLrEzYYAmJElFJcMSJcmEMKd3HKHTraAtmEt7dFgcxBgxXTU7PX0+3aMmyGAVoypLVGmRxFRNNFGhUQaBJYm6KcOCsWotI9HgaEj96u+8+fj13OobBrFLNBedFSrJqDKmoalA6KE0mLq6369htTTyvjb1mG+P2tTkmGOO60SvgswHLlsZlrnWuAsc59KglQiQcSM5UjYr0iDsb18mlWADVyjkR7ZTRyrmwQ0mLYAYSMgoo2B6wvn3ehTZlp/6ZRdCugmaSQRbzIiSpSUE2GxSVLNdMZD8AoRSUQsH7FknBLWsc9Ue9yG6VA2WEP0ixzg1e5o0l0yCVsT8qhuPwH8HwMzvDXyuQ3aKXEsYNaktXpZgKfXPiOTVG0lpiBBtGwZQW60zbb/rtG/Vu7/4pEgGJ900+KohKIHaEEdsvU2/6rtvyfew3Gg1jwInSTyJmMwbxH4rb8PympQhKyhlfX9DuGxUevcnXAgAA"
+ }
+ },
+ {
+ "ID": "bdc51f83de22e1d1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:25 GMT"
+ ],
+ "Etag": [
+ "yNL/q8jRoElmNa7RVFBHzQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R3U7CMBh9l3oLrEzYYAmJElFJcMSJcmEMKd3HKHTraAtmEt7dFgcxBgxXTU7PX0+3aMmyGAVoypLVGmRxFRNNFGhUQaBJYm6KcOCsWotI9HgaEj96u+8+fj13OobBrFLNBedFSrJqDKmoalA6KE0mLq6369htTTyvjb1mG+P2tTkmGOO60SvgswHLlsZlrnWuAsc59KglQiQcSM5UjYr0iDsb18mlWADVyjkR7ZTRyrmwQ0mLYAYSMgoo2B6wvn3ehTZlp/6ZRdCugmaSQRbzIiSpSUE2GxSVLNdMZD8AoRSUQsH7FknBLWsc9Ue9yG6VA2WEP0ixzg1e5o0l0yCVsT8qhuPwH8HwMzvDXyuQ3aKXEsYNaktXpZgKfXPiOTVG0lpiBBtGwZQW60zbb/rtG/Vu7/4pEgGJ900+KohKIHaEEdsvU2/6rtvyfew3Gg1jwInSTyJmMwbxH4rb8PympQhKyhlfX9DuGxUevcnXAgAA"
+ }
+ },
+ {
+ "ID": "11b10e65685e63d0",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "39"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZWZhdWx0VGFibGVFeHBpcmF0aW9uTXMiOiIzNjAwMDAwIn0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:25 GMT"
+ ],
+ "Etag": [
+ "82fDkwNf6G0lWINzlSWb2A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RYWvCMBT8L9lXtbHTVoXBHJMhbArV0Q9jSExfuzfTpktSnRP/+xKpYwwn9kvh3t29e5cdWWGRkAFZYvZRgdpeJcwwDYY0CBiW2UnPT+9Xm0kaPFARjydfYhYv/eHNjWWgU+o3KcQ2Z0UzgVw2DWgzqE0WPm3329TvLYKgT4Nun9L+tf0tKKVtq9cg0kcsVtblzZhSDzzvmKOVSZkJYCXqFpf5D+6tfa9U8h240d6J1V69WnsXZqhpEaSgoOBABrsjNnbnXWhTZxr/0wjZN0iqEIpEbCcst1uI2w2aKywNyuIIpKwSZs6WAkafJSrmZk/aTq8D6j5LYpyDttDLjigpnFUcjeejyBVaAkcmHpSsSovXoWKFBpS2GX4U03hyRjDdFP/wKw3qbjvKGQqLusuaSi6luT1xcwtZ3sqsYI0cbGhZFca95W/faDS8PxMkApYckrw2CFdwaGOOh/ra3dD3e2FIw06nYw0E0+ZJJpgiJH8ofjfsuDcSkrO66+cZ2X8DHvNmK/wCAAA="
+ }
+ },
+ {
+ "ID": "04e2e7bc83a46cd3",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "23"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJmcmllbmRseU5hbWUiOiJ4eXoifQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:26 GMT"
+ ],
+ "Etag": [
+ "7RnTP/b60fUeA//pVhQgAg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R0W7iMBD8F/cVsAmQFKRKR1VUIV3buxTKw+mEjLMJezh2znZ6TRH/XhulVXWiVfNiaXZmdnayJztUGZmQDRZ/azDNWcYdt+BIh4DjhZ8kqVr8oJuY5UuYUlo9bH8W0+LiwjMwKO1WS9mUXHUzKHXXgXWT1mQdsf64z6LzdRyPWTwaMzYe+GfNGOt7vQWZf0e18y5b5yo7ofQ1R6/QupDAK7Q9ocs3nD5GtDL6Dwhn6YnVtF1t6RcztLQUcjCgBJDJ/hWbh/O+aNNmmn/QCDl0SG4QVCabW176LeSpeQ7rwQqDlUOtPHYEcl5Lt+AbCbOnCg0Psxvrp4OYhc+TuBBgPfRrT4yWwW2VzhezNHRagUAur42uK4+3uVYGHRjrY7wp7la3nwju/qkP+LUFc9nMSo7So+G4rtEb7b6dOLuHvOwVXvCIAnxoXSsXfud733Q2vfokSAo8Oyb53SHCwLGNBR4b7I+SKDpPEpYMh0NvILl1NzrDHCH7jxLFo+EgULTgbdfLe3J4AVHICbv/AgAA"
+ }
+ },
+ {
+ "ID": "666f6234d8f9226a",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "34"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZWZhdWx0VGFibGVFeHBpcmF0aW9uTXMiOm51bGx9Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:27 GMT"
+ ],
+ "Etag": [
+ "Ju4EHHqB6coSrRM7CG640A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R3U7CMBh9l3oLrMyxwRISQYlgBJOB4cIYUrqPUe3W0XboJL67LRnEGDBcNTk9fz3doXeWxShES5ZsCpDlVUw0UaBRDYEmibl5KLzBcLjp+1RMZTQObu99D/e6XcNgVqnWgvMyJVk9hlTUNSgdViYLFzc7Tey2F77fwX6rg3Hn2hwLjHHT6BXw1SPL3o3LWutchY5z6NFIhEg4kJypBhXpEXe2rpNL8QZUK+dEtFNFK+fCDhUtghVIyCigcHfARvZ5F9pUnUZnFkHfNbSSDLKYlxOSmhT0WX7ZeFBUslwzkRnMAIRSUAqFLzskBbfEeTSaDSI7Vw6UEX4vRZEbvIqcS6ZBKpNwVDzNJ/8Inj6yM/xCgeyXg5QwblDbuy7FUuibEy9qMJI2EiPYMgqmtCgybX/qt2806N39UyQCEu+bvNYQlUDsCDO2H6fZCly3HQQ48DzPGHCi9FjEbMUg/kNxAy8ILEVQUs34PEXfP5i88/LaAgAA"
+ }
+ },
+ {
+ "ID": "b135c79f00d9ca1a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:27 GMT"
+ ],
+ "Etag": [
+ "Ju4EHHqB6coSrRM7CG640A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R3U7CMBh9l3oLrMyxwRISQYlgBJOB4cIYUrqPUe3W0XboJL67LRnEGDBcNTk9fz3doXeWxShES5ZsCpDlVUw0UaBRDYEmibl5KLzBcLjp+1RMZTQObu99D/e6XcNgVqnWgvMyJVk9hlTUNSgdViYLFzc7Tey2F77fwX6rg3Hn2hwLjHHT6BXw1SPL3o3LWutchY5z6NFIhEg4kJypBhXpEXe2rpNL8QZUK+dEtFNFK+fCDhUtghVIyCigcHfARvZ5F9pUnUZnFkHfNbSSDLKYlxOSmhT0WX7ZeFBUslwzkRnMAIRSUAqFLzskBbfEeTSaDSI7Vw6UEX4vRZEbvIqcS6ZBKpNwVDzNJ/8Inj6yM/xCgeyXg5QwblDbuy7FUuibEy9qMJI2EiPYMgqmtCgybX/qt2806N39UyQCEu+bvNYQlUDsCDO2H6fZCly3HQQ48DzPGHCi9FjEbMUg/kNxAy8ILEVQUs34PEXfP5i88/LaAgAA"
+ }
+ },
+ {
+ "ID": "eb71c152631f03cd",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "299"
+ ],
+ "If-Match": [
+ "Ju4EHHqB6coSrRM7CG640A=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJhY2Nlc3MiOlt7InJvbGUiOiJXUklURVIiLCJzcGVjaWFsR3JvdXAiOiJwcm9qZWN0V3JpdGVycyJ9LHsicm9sZSI6Ik9XTkVSIiwic3BlY2lhbEdyb3VwIjoicHJvamVjdE93bmVycyJ9LHsicm9sZSI6Ik9XTkVSIiwidXNlckJ5RW1haWwiOiJ0ZXN0LXJvYm90QHNob2xseW1hbi1kZW1vLXRlc3QuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSx7InJvbGUiOiJSRUFERVIiLCJzcGVjaWFsR3JvdXAiOiJwcm9qZWN0UmVhZGVycyJ9LHsicm9sZSI6IlJFQURFUiIsInVzZXJCeUVtYWlsIjoiSm9lQGV4YW1wbGUuY29tIn1dfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:28 GMT"
+ ],
+ "Etag": [
+ "gssiuE7itlrIEvMCm3TuRA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RW0/CMBj9L/UVWDcugyUmoi4Go5JMDA/GkNp9zE+7dbYdMgn/3VYHUaPGpyan59bTDXnCIiURucfsuQJVH6TMMA2GtAgYltmbTGus4hCNUJN4dXmSd2dVMj48tAx0Sv0ghahzVrRTyGXbgDZRY7IIqD/yaTBcDAYjOuiPKB117bGglPpWr0EsL7B4si4PxpQ68rxdj04mZSaAlag7XOZ73FsFXqnkI3CjvR+ivSZae//s0NASWIKCggOJNjts4p73T5um0+SXRci2RZYKoUhFfcVym0LW9auLB80VlgZlYTELMM5BaxLdboiSwhHnyWQWJ26uEjgycaZkVVq8iZwrNKC0TdgrpvOrPwTTl+IXfqVBHddxzlBY1PVuK3kvzdEPL+ogyzuZFayQgy0tq8K4n/rsm8Tj0z+KJMDSb032iq9VziUcwZrlpYCPjLsW4QqYm22G73P6/TAIhmFIw16vZw0E0+ZSprhESL9RgmG/13cUyVkz/M012b4BMa3NQAwDAAA="
+ }
+ },
+ {
+ "ID": "802f8f50ceceb493",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "249"
+ ],
+ "If-Match": [
+ "gssiuE7itlrIEvMCm3TuRA=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJhY2Nlc3MiOlt7InJvbGUiOiJXUklURVIiLCJzcGVjaWFsR3JvdXAiOiJwcm9qZWN0V3JpdGVycyJ9LHsicm9sZSI6Ik9XTkVSIiwic3BlY2lhbEdyb3VwIjoicHJvamVjdE93bmVycyJ9LHsicm9sZSI6Ik9XTkVSIiwidXNlckJ5RW1haWwiOiJ0ZXN0LXJvYm90QHNob2xseW1hbi1kZW1vLXRlc3QuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSx7InJvbGUiOiJSRUFERVIiLCJzcGVjaWFsR3JvdXAiOiJwcm9qZWN0UmVhZGVycyJ9XX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:29 GMT"
+ ],
+ "Etag": [
+ "8RdOge1OhUaADc100cxRQA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R3WrCMBh9l+xWbVqrtQVhDmUIm7JO8WIMielnzUybLolunfjuS6TKGCpeBU7OX052aM3yBEVowdLPDcjyLiGaKNCohkCT1Nx04mScgjteTUmvT12M6Xf80ut2DYNZpVoJzsuM5PUEMlHXoHRUmcw97IYu9jrzdjvE7VaIcdg0xxxj7Bq9Ar58YvnauKy0LlTkOMcejVSIlAMpmGpQkZ1wZ+s5hRQfQLVyzkQ7VbRybuxQ0WJYgoScAop2R2xon3ejTdVpeGERtK+hpWSQJ7wckcykoO/yx8aDopIVmoncYAYglIJSKHrbISm4Jc7i4WQQ27kKoIzwRyk2hcGryJlkGqQyCSfFeDa6Ihh/5Rf4GwXyoRxkhHGD2t51KRZC3595UYORrJEawZZRMKXFJtf2p/76xoNe/0qRGEhyaPJeQ1QCsSNM2GEctxV4XicIcOD7vjHgROlnkbAlg+QfxQubPrYUQUk14/QV7X8BxPh5rNoCAAA="
+ }
+ },
+ {
+ "ID": "a50d859181ddb439",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:29 GMT"
+ ],
+ "Etag": [
+ "8RdOge1OhUaADc100cxRQA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R3WrCMBh9l+xWbVqrtQVhDmUIm7JO8WIMielnzUybLolunfjuS6TKGCpeBU7OX052aM3yBEVowdLPDcjyLiGaKNCohkCT1Nx04mScgjteTUmvT12M6Xf80ut2DYNZpVoJzsuM5PUEMlHXoHRUmcw97IYu9jrzdjvE7VaIcdg0xxxj7Bq9Ar58YvnauKy0LlTkOMcejVSIlAMpmGpQkZ1wZ+s5hRQfQLVyzkQ7VbRybuxQ0WJYgoScAop2R2xon3ejTdVpeGERtK+hpWSQJ7wckcykoO/yx8aDopIVmoncYAYglIJSKHrbISm4Jc7i4WQQ27kKoIzwRyk2hcGryJlkGqQyCSfFeDa6Ihh/5Rf4GwXyoRxkhHGD2t51KRZC3595UYORrJEawZZRMKXFJtf2p/76xoNe/0qRGEhyaPJeQ1QCsSNM2GEctxV4XicIcOD7vjHgROlnkbAlg+QfxQubPrYUQUk14/QV7X8BxPh5rNoCAAA="
+ }
+ },
+ {
+ "ID": "afa006c3d0ad4b33",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "29"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJsYWJlbHMiOnsibGFiZWwiOiJ2YWx1ZSJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:30 GMT"
+ ],
+ "Etag": [
+ "jJzAA3MMxMe9v3HYhRxLYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RbWvCMBj8L9lXtbF1agVhjsnm8AU6h8gYEtPHGpc2XZI6q/jfl0iVMVT8lHC5u+eeyw59sSRELTRn0XcGMr8LiSYKNCoh0CQyL6vXbafjDQabAfhr72W6DDb9adRuGwazSrUUnOcxScohxKKsQelWYTJzcdWvYrc5q9d9XL/3MfY9c8wwxlWjV8AXfZZ8GZel1qlqOc4xRyUSIuJAUqYqVMQn3Fm7TirFCqhWzpnRTjFaOTdmKGgBLEBCQgG1dkesZ9e70abI1LvQCNqX0EIySEKeD0lspqBNvrXjQVHJUs1EYjADcDIHrmyKw82Aa8IzsAaEUlDm6WOHpODWYxL0xt3ANpkCZYQ/S5GlBi/STCTTIJXRnhSjyfCKYPSTXOBnCuRj3o0Js5HsSmUp5kI/nFm2wkhciYxgzSiY0CJLtP3Ev75Bt/N0JUgAJDwk+SwhKoHYfsbs0Fv1vuG6zUYDN2q12qEwpQciZAsG4T+Kh70athRBSdHw+xva/wJAjzHT9QIAAA=="
+ }
+ },
+ {
+ "ID": "48e0ff121d859e9f",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "26"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJsYWJlbHMiOnsibGFiZWwiOm51bGx9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:31 GMT"
+ ],
+ "Etag": [
+ "vzd7TsU8YT5pVc4MbQo+LQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41RW0vDMBj9L/HRrU27bl0LgopDBruwOh0iMrL0WxeXNjVJp93YfzeRKiIqPgVOzi0nB7RlRYpitGLZcwWyPkmJJgo0aiHQJDM3u30aztVt/37eLe9oMF7NxOlodnZmGMwq1UZwXuekaKeQi7YGpePGZOljL/Kw31/2ehHudSOMo445lhhjz+gV8PWIFVvjstG6VLHrfvRwMiEyDqRkyqEi/8Tdne+WUjwB1cr9IdptopX7zw4NLYE1SCgooPjwgQ3t8/5p03Qa/rIIOrbQWjIoUl5PSG5S0Gu9t/GgqGSlZqIwmAEIpaAUih8OSApuiYtkOB8kdq4SKCP8WoqqNHgTuZBMg1Qm4VMxXUz+EExfil/4lQJ5WQ9ywrhBbe+2FCuhz394kcNI7mRGsGMUTGlRFdr+1FffZHBx9UeRBEj63uSxhagEYkeYs/dxvG7o+/0wxGEQBMaAE6XHImVrBuk3SsfzAvsDXFDSzHh7g45vr94gK9oCAAA="
+ }
+ },
+ {
+ "ID": "5ee1731832c8d12e",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDUifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:31 GMT"
+ ],
+ "Etag": [
+ "hUw6Vl9tApa5+6B9jBEojQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Q0W/aMBDG/xfvcS12EiWQSH0gq1UhMdjStC9ThUxyBFMnTmO3HUL8772k0Exlm5AfrPvu++5+uh15lFVOIrKUxdMzNNsvViwVkAsCVhSor+9eg3sV2nEt/K9BHG5irjc/r67QIducWWultqWoLnMo9aUFY6NcWGHALlzmhA5zR4sgCFngh4yFHn4Lxpgz6Pb8z+LjCgNqNZXVYwtibW0iSo+gg0LrQoGopRlkuvzQ6YtL60ZvILOG/oWOHugMPQeTdpiGnkXbmRJYQQNVBiTakQPI5B+XwswBonOcA3Rc0wXOoNrjEbM1lKLFWUlQuSHRrx2pRImE7x+O3NZtdZsmk9kNZvr+c2n6/mSW8hueoFDqvBUS/oOPU379Z6SBrE8k/Ns8ucb6dPVSa9Ub4/l8ysczsn/Ad9Hujbd4Iuww0pVTXRUpNJ/lRL8eq6wBYaWuUtnNd/yh646GQ8/xRu3Z4Hctm1PDyGNDvBQalDD2u84louYnM3zP62HTcTzlbUJn3UCU7m7J/g3mAd7CTQMAAA=="
+ }
+ },
+ {
+ "ID": "df4b4c7baf5fcf95",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0005?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "29"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJsYWJlbHMiOnsibGFiZWwiOiJ2YWx1ZSJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:32 GMT"
+ ],
+ "Etag": [
+ "7ASXQwdJXGCOW5NOB487Ew=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42QYY+aQBCG/8v2qycLHAIm90HviLGx0kOaXtI0ZoURt7ewlF3PM8b/frNUS1Pbi+HDMjPvO++TOZBnXuVkSFa8+LmFZv9Bs5UA0iOgWYF9f7R4etzlH58m9/FXbx6PbwM/2t3doYIbn9pIIfYlq25yKOWNBqWHOdNMgV461A5t6gTLwSCkAy+kNHTxWVJK7X6b857EwwgFYj3j1TMGbbSu1dCyzqD9QspCAKu56mey/N23XhyrbuQPyLSy/kFnneiUdQ2m1WIq6yraVpTAGhqoMiDDAzmBTP9zKfScIFrFNUDnmNZwBdWxRwRbgVAGp/1D3wsTWzAjlW2gZGa05iByFH07kIqVCP/rwbR9bapFmkznE/R0822puvl0nkaTKMFGKXPTSKLP0SiNHv60NJB1jiS6j5MHrC+jV1KKTjiO41k0mpPjd/x6Jne8x+vhhJK2nMmqSKH5u53I3bnKGmCayyrl7X7b8x0n8H3XdgNzUXiteXMpCFzq4xGJOaHSn2TOETW/2BG6XgebjsazyDhk1i7E1pcFOb4Bp//TKWgDAAA="
+ }
+ },
+ {
+ "ID": "1c4ebfa02243e306",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0005?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "26"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJsYWJlbHMiOnsibGFiZWwiOm51bGx9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:32 GMT"
+ ],
+ "Etag": [
+ "F6B0udglhnhjow75plio6Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Q0U/CMBDG/5f6KrQbssESH0CnIUHQMZ+MIWU7tmq3zrWohPC/e5vgjKghfWjuu++7++U25FnkMfHIQiQvKyjXJ4YvJJBTAoYnqF85Q7aKE5nm6ZN6c7uFFMq5Oz9Hh6hyOlVSrjOet2LIVMuANl7MDddg5jaz+haze3PH6TOn22es38Fvzhiz2vWe/yxdXKFBLscif8ZFqTGF9ijdg7YTpRIJvBC6HansS6evNi1K9QSR0fQXOrqj0/QYTFpjanoUbW0KYAkl5BEQb0N2IKM/LoWZHUTtOAZov6YOHEG1xSNGKWS8wlkKkLEm3sOG5DxDws8PR66LqpqFwWhyjZmmv8p00x9NQv/aD1DIVFwJgX/rD0L/8nukhKhJBP7FNLjE+nD1QinZGIfT6dgfTMj2Ed9ptXe4xhNhh5G6HKs8CaH8KQfqbV9FJXAjVB6Ker7VdW2757odq9OrzgbvhSgPDb0Oc/FSaJBcmxsVC0SNf86wz87cBjYcDMd+lVBRPRCl+xnZfgANtq4XTQMAAA=="
+ }
+ },
+ {
+ "ID": "995fbf2a7dda2f92",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0005?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:32 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "d7c755e681860cf4",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDYifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:32 GMT"
+ ],
+ "Etag": [
+ "sarVs1dSxhUPgWc9KMRosQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S3U7CQBCF32W9RXbbCqVNvABtDJEfLVUvjCFLO5SVtlu7i0oI7+60gjWihvRiM2fOmfky6YYsRRYRl8xE/LKCYn2i+SwB0iCgeYy64sW9MqLJ++LuJn4IneuhL9Xt+Tk6RJlTC5kk65RnpxGk8lSD0m7ENVegpyYzHIOZnWm77bB2y2HMsfCZMsaMZrXnP0sbVyhI5gORLXHRQutcuZTuQZuxlHECPBeqGcr0S6evJs0L+QyhVvQXOrqjU/QYTFphKnoUbWXyYQ4FZCEQd0N2IP0/LoWZHUTlOAZov6YKHEG1xSOGC0h5iTMXkESKuI8bkvEUCT8fHLnOy2oS+P3RFWbq/ipVdb8/Crwrz0chlVEp+N6N1w28y++RAsI64XsXY/8S68PVMymT2tgbjwded0S2T/g1yr29NZ4IO4xU5UBmcQDFT9mXb/sqLIBrIbNAVPONlm2aHdu2TLt1Vv7Q77koDg0di9l4KTQkXOmhjASiRgczOpZVwwbd3sArEzKsBqJ0NyHbD4oYlfdNAwAA"
+ }
+ },
+ {
+ "ID": "93775ac713a86d6a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026pageToken=\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:33 GMT"
+ ],
+ "Etag": [
+ "f+PJntftwjCWqzFVVi1pZQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WTa0sCQRSG/8v0MY2ZWd11F/xgF8EwqBCjQpZRjza2N2fPUib735vxQoGpJYH6aWDmOee8nIeZklcZ9YlHunI4zkBNTlB0A2jKFEmBAIqhfhuc3l5HOMC30cXD+KPebkuWPN1Vq5qY0Snxnqc/N9KINLfpSxwEk1BExT6EcREhRa8vUKSAPqfMZZRXfNt2qV12KXUtffiUUnaGfqhTGNRPhEKJMo78XpClCMqnywT3MAAFUQ+INyWJikfQw8aaubpmMXlG/CbFcsysYEuiXLOTRAchrdp588qUyhBul6SMhibjArmsPZqCngJhHlua1Les7HBecRzq2pwbDe+JVKtAxaKOTqeBxfRF74GEoG+ckEhovJPnhb3YYQdnh/3dzvft36Rm92bl650xxrl1vM74wTnjuzhTMM6k+mLqMtC9iIcqgw3uuEsrx+vOOjh31n/9t8J8yfOAsLvgkkUP/HOaLpsQey+St6daFb3GgcWdcmm7g7yjG8YoggZCqHdfzj8BzNfZuasIAAA="
+ }
+ },
+ {
+ "ID": "3ede34b17f792ec4",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0006?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:33 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "17ee9c9f9de84e79",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDcifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:33 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SQU/CQBCF/8t6VNltK5Q28QDSECIWLfVkDFnaoay23dpdVEL4704rWCNqSA+befPezJdJN+RZ5DFxyVwkLyso1yeaz1MgZwQ0T1CfBvHVYOVPjNICv1ec2nJ4ffd2eYkOUeXUUqbpOuP5eQyZPNegtBtzzRXomckMx2Bmd9bpOKzTdhhzLHxmjDGjVe/5z2LjCgXpYizyZ1y01LpQLqV70FYiZZICL4RqRTL70umrSYtSPkGkFf2Fju7oFD0Gk9aYih5FW5sCWEAJeQTE3ZAdyOiPS2FmB1E7jgHar6kDR1Bt8YjREjJe4SwEpLEi7sOG5DxDws8HR66LqpqGwcgfYqbprzLV9Ed+6A29AIVMxpUQeLdeL/QG3yMlRE0i8K4mwQDrw9VzKdPG2J9Mxl7PJ9tH/M6qvf01ngg7jNTlWOZJCOVPOZBv+yoqgWsh81DU8422bZpd27Ys68Kpfuj3QpSHhq7FbLwUGlKu9I2MBaLGBzMurHYDG/b6Y69KyKgeiNL9lGw/AIMyRUJNAwAA"
+ }
+ },
+ {
+ "ID": "ac124c9b205fb704",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "215"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6ImEiLCJqc29uIjp7Im5hbWUiOiJhIiwibnVtcyI6WzBdLCJyZWMiOnsiYm9vbCI6dHJ1ZX19fSx7Imluc2VydElkIjoiYiIsImpzb24iOnsibmFtZSI6ImIiLCJudW1zIjpbMV0sInJlYyI6eyJib29sIjp0cnVlfX19LHsiaW5zZXJ0SWQiOiJjIiwianNvbiI6eyJuYW1lIjoiYyIsIm51bXMiOlsyXSwicmVjIjp7ImJvb2wiOnRydWV9fX1dfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:33 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "8a3a3e932a264223",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:33 GMT"
+ ],
+ "Etag": [
+ "5qAbjVirb+RatOqJ1QsTEA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbFjomZYVlFiVpByWW+Bd6GQYWh7g62toCVZTklyTmBOWXFwOVGSjVAgARmFAuUwAAAA=="
+ }
+ },
+ {
+ "ID": "44ad7d83bc7ac128",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:33 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "d6e5c03edcae9556",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:35 GMT"
+ ],
+ "Etag": [
+ "JgR2QcJCb27Nx/hOahTsUw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7pQcZBSZ7OScZmftV6Gf4J2aEFIeW29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgDAGmPnGQEAAA=="
+ }
+ },
+ {
+ "ID": "10bdc9b0f4fd10a5",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:35 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "4539880260cb2197",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:35 GMT"
+ ],
+ "Etag": [
+ "JgR2QcJCb27Nx/hOahTsUw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7pQcZBSZ7OScZmftV6Gf4J2aEFIeW29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgDAGmPnGQEAAA=="
+ }
+ },
+ {
+ "ID": "f328ec00ac6bf196",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:35 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "61f45cfa5330d4a6",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "317"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7ImRlZmF1bHREYXRhc2V0Ijp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifSwicXVlcnkiOiJzZWxlY3QgbmFtZSwgbnVtcywgcmVjIGZyb20gdGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwNyIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoib3VRbm1MWlpRY1gwRkN4U0dqU3czUU9DTkR0IiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:35 GMT"
+ ],
+ "Etag": [
+ "HjFq6yhHO+fcTDSBWHm4Pg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TXU/bQBD8K5H7WIi/vyKhliYGIkWhiZ3S8mKdL2tzwb4LvjM0Qvz37jkBoZbSPtm+nZ2Z3Rs/GreMr42RUbDqroN292EjCuPIAEUqPL3YnN0Fu5uLy48lzSbpl6uLxvtanZwggukueSPqetcQfryGRhwrkGq0SoeiW/Bmdn29oN+ts/HP9HyTPriLy/F8orBTQl3OGL/F/hultnJkms/qw0qIqgayZXJIRfNybt475rYVG6BKmm+Imuhamu/IfqoFJYoJfrJK0UInoc2hIaxGE5rguBWFUJ/foB4y0gwrxN8zCoRS0XGlvSELFbxkVdf2xMbo0ei9vnrRo6LlAScNHA1418ijQQt0ULaiGShS1JA7lh3blhPlQRBbgR9bVuziI7csK0SJNTpgvBfINF6THxYx/csF6C6iiIQ9Ii8AnDAo1rFv255dBoHvR8QOvdiNabz2PYe64Fguwb7eUt9FuOBr24UojOLchzLIPa8McwIR5GEEHoRFWbhgGU+4hhaIggmTWyHZfhXGeJmcZkk+PcvnSTJJJkj+0LLfUVfLKYKy5Wo+RnQ/bkm6Wk32/vWwr0c5vL+3MxtJ/rWfJw1hAu3oK5rOs2R5Os6m35J9MGZQEbpL7zAaJaklIBzTle22uHxjsUqWP4z90RJKaIHT/7wU7Oir7/8czzlFICYVhaTCbwwBlVqm37UOA2u0HdsPHScKQ9cPPN/owa36oxb3a3kJp2aEBrg6zJQms2ScGU8HsU6+gLCIdzOfzs+x+gvv3ntPKwQAAA=="
+ }
+ },
+ {
+ "ID": "537f1bc2805777c2",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/ouQnmLZZQcX0FCxSGjSw3QOCNDt?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:36 GMT"
+ ],
+ "Etag": [
+ "4JaijwfgkwEW+eURZNb6FA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22RUW+CMBSF/8vd4zAxcdkDiQ+I1bkQkKLZ4rKHUi4ItpTREkeM/33FLWEPpg/tSc9377ntBU5lnYELaVl8ddj2DwWaeDhQ1J0w2m6NqjWCA2hYYZ1Pr6ysznlxOpO3R9zTQ5g+r7z53Do0P6Jk4F4gL1FkGtyPC9RMosVumwOmbwaV7OgmXFstVTbocB8E3iIgcHVGopN6JDbhjqwJHRFKtsTbkeV/pEU+EpT4EV3e6eHciZcqJUZ0EUUB8cJ7+T7tcqBSKcUcW6w5DvM2raqQm83wlPqohOglqycZSjUxqA3ciNut6uJaBodDzN+nK/87WVfJeRZHfrgcXEJxZkpVW+M+sZOBUYYJqs42LMzgTy96W3TbKo5a41B0+tvAV7IRaGwi03boAGf2Q15KA27OhMbrD53IeR7uAQAA"
+ }
+ },
+ {
+ "ID": "96816cb3efe657dd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anond13e8789_5ef6_44f7_ae8e_78e4e7bfb3e0/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:36 GMT"
+ ],
+ "Etag": [
+ "9xxCEEYwkv1ewcgeOLRqlg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pbVlQ4u7pGlmeXGaaWJ6en+vsEFeak29oCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgAnKK9AGQEAAA=="
+ }
+ },
+ {
+ "ID": "75d1f70d0cc24547",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "317"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7ImRlZmF1bHREYXRhc2V0Ijp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifSwicXVlcnkiOiJzZWxlY3QgbmFtZSwgbnVtcywgcmVjIGZyb20gdGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwNyIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiNHlUSUNXMUlpVjZsbFIzY3hsdkNYaXJYa2NHIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:37 GMT"
+ ],
+ "Etag": [
+ "U0IxqCCb5F6Vnn+txcTriw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41T207bQBD9lch9LMS32I4joRY5BllCkeo4QJ+s9XpsFuzdsLsGIsS/d9YJCLWU9sWXnTNzzsycfbbuGK+thVWx9n4AuftyKyrryAJNWjzdONnTfZJUwVl4yflX/UQLyR5PThDBTJa6EV236wk/rqEXxxqUXmzW09muyJIrN2OXYdflPn3qHpJrJq/v6DlmKuiaC8bvMP9G661a2PYr+7QVou2AbJmaUtG/ndsPnr2V4haoVvYHpDaqVvYntN86QYlmgp9s1ihhUCBL6AnrUIQpcCxFJfT3D0pPGemnLeIfGAVCqRi4NtqwChW8Ye0gx8LW4tkatb77MK2i5AknPRxN+NCro4kEOmmk6CeaVB2UnuPGruPNyzCMnTCIHSf28VU6jhMhRY0KGB8JCoM3xQ+DyP6yAJNFNFGwR5QVgBeFVR0HrjtzmzAMgjlxo1nsxzSug5lHffAcn2DeKGnMIlzwWVCTkLpQVhE+ZgHE5dx3vNJvKpd4NKqroLZecAwSiIYlU1uh2H4UVpKnp0VaZmflKk2X6RKLP0r2O+oqzxBU5JtVguix3YYMnV7u9Ztm37dy+P5sZi4W+dd8XgyECZRjVpStijQ/TYrsMt0b4wJaQnfre7RGQzoFCEd3FbstDt/6sUnzn9b+KIcGJHD6n0vBjDH6+eV49am5fGtDpDT+owmoMjTjrI0ZWG/kuEHkefMo8iPHNXZBsNR/xLxxLG/mNBWhB64PPa3TizQprJcD2aDeQBjE3ayy1TlGfwGfKgA4KwQAAA=="
+ }
+ },
+ {
+ "ID": "727bfdc6907eaed6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/4yTICW1IiV6llR3cxlvCXirXkcG?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:37 GMT"
+ ],
+ "Etag": [
+ "U0IxqCCb5F6Vnn+txcTriw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S226cMBCGXwX5eiPZ5rTkLmJphBQhlWWT9AoZM6ROjb3Bpi2K9t1rs6soaqUmN7Zhvjn9M6+IazWIp3liVmiFrl/RywzT8u6BDEjgNlBshE2g5tFsggl4MEx6DCzrJLQUk4xgum2TJMNJnGGche5qMcYp2qAejBVqTdB43gc/TvrZRS17n+C7lnIZmbrqYdRX1uHei1lm4Ey0HQBNk67PYkIiMiRJHG8ZSaMszHjWxxHlIVAcMue3lrR6MaVVFPcs4QTaLnVHFEPWbkNM23DoCKM87bu4R6cN4hMwCzthjtqIsxQor4ubpmjLL21VFLti54L/msTf1ENdOqipD1Xu6LXdgc3S7s71+2bft3J5/08z4oJ8pM/JI0K7cvyIyqop6pu8Ke99AbOBO3hifNm/SHQ9MGnA4c+6a5ajEx99PRT1N3T+VcMAEyj+yaE4j9UaLU2ZP5BS3CdS1iH/LX/mj2J6/MFvHSU1v6wTOux9ImPdt1sCbnyaVWu/DGL05ZA4pXSbpmGKiV8XB0/2HxtdZXlbTh8RRlD20tO+uCvyBp0uyWbzBjmjm01VVrfO+gd2TUt28AIAAA=="
+ }
+ },
+ {
+ "ID": "a7f698816766a65e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/4yTICW1IiV6llR3cxlvCXirXkcG?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:37 GMT"
+ ],
+ "Etag": [
+ "/35mPTToGRSOe2xHaoijag=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22RTW/CMAyG/4t3LdoH2w6VOECJoFLVslA2pGmHkJpSSOquSTcqxH9fyiZ1B5SD8yp+7NfOCQ5FmYEPmyL/bLBub3K0L92Fo2mUNS5UVBoED9CK3GXeDp/0Ik1pxpcJPhzngoq9yEcjl2HkDrUA/wTbAlVmwH8/QSk0OuwSPLBt1allysN45rSmrNPxKorGk4jB2euJRpueCOOUzRjvEc4WbJyy6X+kRtkTnAUJn17p4V2xtyFSPTpJkoiN42v+PtzxYE8bjlussZTYzVvVtEdpw26VZkdKtVqUgww1DSwaCxfi8vrYpmHwdh8Wr89K8aE8qq9gXdTrg+zWoUgKW1DpEldLNxlYskJx+nZmYQh/etK6oouaJBqDXdG73wYB6UqhdY5s3aAHUrgPmRcW/K1QBs8/T8bkgO4BAAA="
+ }
+ },
+ {
+ "ID": "05ce8bfa16bbaee1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon45da6c1e_b71e_45e9_8302_3fb1a2c7db5d/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:38 GMT"
+ ],
+ "Etag": [
+ "hoEQtF68hWR8Sjgk+/Q1RQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pn5LsGlriZWWSEB1kEZ6Vna+sHGgYF2toCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgAAy5uSGQEAAA=="
+ }
+ },
+ {
+ "ID": "00cfdf95526acab9",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/4yTICW1IiV6llR3cxlvCXirXkcG?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:38 GMT"
+ ],
+ "Etag": [
+ "0lSl6hqGDmj6EW4bJ6khrg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41UbW/aMBD+K8jiwya1lRNeApH2oS+ZVq0MBKn6YaoikxytN8fJYqcdQvz3nW1SQkurCQHJPffcc74Xb4jSTHOleapIuCFpBfhayJjnQELiDQLfHwVBL6BeQE6Mc6XfYD71EAOZvUGG1EdEF5qJi7UGNauKFJSCDL0oIn9qqNZG1z7MBJMk/Lkhktk4C0rDzrTWZa3Rlzckm8REHQj1hn2Xwit7nxrGM+N6bs51/vRAQnrmjwaB19//Oo+JsjDx24wJ+/sRw8KWgYXLWhrO0ISkbQcXsnFwEYxDWuR4UtgH8V5sTZzglZslt91cNOP2XPF2LHr26gTezqUJPTzg7I79LsfpGI56rFcrAa5NtskIjIKjyKLkQrw0v4K0qDI1xzKgpbe33KGGBrkzlqxiyBLXEsPY7u6KIEBDNjuGmpmuzcvldDK7ieLI2qBUdrp+c2kE59H5lbHXywYiXS80o3fS6fqhrHOFD70QkzrrcpXIQieyFgKNfWtcFoXAAF/n00lHs6WABBdh7FF/lAyHYzocjCkd9/AvoZQG5H578qJt8rp1aR3I0074pTM5/x4li3h+exl/6vZNDp8PyHfz6yNUkzR+PVPZeNpJEizCA1CaFG6B7rf4wRXBVc8ZFu7oPiIGgkuwdQLBSoTsRvWGQbPIC1G47RuYUpe4c1w+3Epuq0/bvWmMHjHKlozt0txcMG+l370k9shFe3yW+ILKMYfK7sCR5FKWPsI3rkm4YkKBGbAVVCBTyGLTMDcPZVX8glRfm8DqsRBinTN5mkFenKKmuXoyppkC57F7/qjXRtoOhCX8x2iY8piZhRykjtelvfyim+gyJtsjB9vuJ3zjeGi/mv6IyHb7D65SoK3RBQAA"
+ }
+ },
+ {
+ "ID": "01032ad8f0d10781",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:38 GMT"
+ ],
+ "Etag": [
+ "JgR2QcJCb27Nx/hOahTsUw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7pQcZBSZ7OScZmftV6Gf4J2aEFIeW29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgDAGmPnGQEAAA=="
+ }
+ },
+ {
+ "ID": "cbee37495f0eaeba",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:38 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "bf1bacedfc1135fb",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:38 GMT"
+ ],
+ "Etag": [
+ "JgR2QcJCb27Nx/hOahTsUw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7pQcZBSZ7OScZmftV6Gf4J2aEFIeW29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgDAGmPnGQEAAA=="
+ }
+ },
+ {
+ "ID": "3f9e21e5ad8a6b35",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:38 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "e0cc36762fd4ee1f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:39 GMT"
+ ],
+ "Etag": [
+ "JgR2QcJCb27Nx/hOahTsUw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7pQcZBSZ7OScZmftV6Gf4J2aEFIeW29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwonKtXqgFlQvoFSbSxUBFlZSVFpKkgGIokQT0LTbkia9mQ07UYEtcfWAgDAGmPnGQEAAA=="
+ }
+ },
+ {
+ "ID": "892d67e651508440",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:39 GMT"
+ ],
+ "Etag": [
+ "SRdCDuNO1r3eNAp+7oGKQw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "a9f2c96c0ac634ba",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0007?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "ca1d768edd21972c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "2077"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiTmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVFVSVJFRCIsIm5hbWUiOiJCeXRlcyIsInR5cGUiOiJCWVRFUyJ9LHsibW9kZSI6IlJFUVVJUkVEIiwibmFtZSI6IkludGVnZXIiLCJ0eXBlIjoiSU5URUdFUiJ9LHsibW9kZSI6IlJFUVVJUkVEIiwibmFtZSI6IkZsb2F0IiwidHlwZSI6IkZMT0FUIn0seyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiQm9vbGVhbiIsInR5cGUiOiJCT09MRUFOIn0seyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiVGltZXN0YW1wIiwidHlwZSI6IlRJTUVTVEFNUCJ9LHsibW9kZSI6IlJFUVVJUkVEIiwibmFtZSI6IkRhdGUiLCJ0eXBlIjoiREFURSJ9LHsibW9kZSI6IlJFUVVJUkVEIiwibmFtZSI6IlRpbWUiLCJ0eXBlIjoiVElNRSJ9LHsibW9kZSI6IlJFUVVJUkVEIiwibmFtZSI6IkRhdGVUaW1lIiwidHlwZSI6IkRBVEVUSU1FIn0seyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiTnVtZXJpYyIsInR5cGUiOiJOVU1FUklDIn0seyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiR2VvZ3JhcGh5IiwidHlwZSI6IlNUUklORyJ9LHsibW9kZSI6IlJFUEVBVEVEIiwibmFtZSI6IlN0cmluZ0FycmF5IiwidHlwZSI6IlNUUklORyJ9LHsibW9kZSI6IlJFUEVBVEVEIiwibmFtZSI6IkludGVnZXJBcnJheSIsInR5cGUiOiJJTlRFR0VSIn0seyJtb2RlIjoiUkVQRUFURUQiLCJuYW1lIjoiRmxvYXRBcnJheSIsInR5cGUiOiJGTE9BVCJ9LHsibW9kZSI6IlJFUEVBVEVEIiwibmFtZSI6IkJvb2xlYW5BcnJheSIsInR5cGUiOiJCT09MRUFOIn0seyJtb2RlIjoiUkVQRUFURUQiLCJuYW1lIjoiVGltZXN0YW1wQXJyYXkiLCJ0eXBlIjoiVElNRVNUQU1QIn0seyJtb2RlIjoiUkVQRUFURUQiLCJuYW1lIjoiRGF0ZUFycmF5IiwidHlwZSI6IkRBVEUifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJUaW1lQXJyYXkiLCJ0eXBlIjoiVElNRSJ9LHsibW9kZSI6IlJFUEVBVEVEIiwibmFtZSI6IkRhdGVUaW1lQXJyYXkiLCJ0eXBlIjoiREFURVRJTUUifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJOdW1lcmljQXJyYXkiLCJ0eXBlIjoiTlVNRVJJQyJ9LHsibW9kZSI6IlJFUEVBVEVEIiwibmFtZSI6Ikdlb2dyYXBoeUFycmF5IiwidHlwZSI6IlNUUklORyJ9LHsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiU3RyaW5nIiwidHlwZSI6IlNUUklORyJ9LHsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn1dLCJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiUmVjb3JkIiwidHlwZSI6IlJFQ09SRCJ9LHsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn1dLCJtb2RlIjoiUkVQRUFURUQiLCJuYW1lIjoiUmVjb3JkQXJyYXkiLCJ0eXBlIjoiUkVDT1JEIn1dLCJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiUmVjb3JkIiwidHlwZSI6IlJFQ09SRCJ9LHsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiU3RyaW5nIiwidHlwZSI6IlNUUklORyJ9LHsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn1dLCJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiUmVjb3JkIiwidHlwZSI6IlJFQ09SRCJ9LHsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn1dLCJtb2RlIjoiUkVQRUFURUQiLCJuYW1lIjoiUmVjb3JkQXJyYXkiLCJ0eXBlIjoiUkVDT1JEIn1dLCJtb2RlIjoiUkVQRUFURUQiLCJuYW1lIjoiUmVjb3JkQXJyYXkiLCJ0eXBlIjoiUkVDT1JEIn1dfSwidGFibGVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDA4In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:39 GMT"
+ ],
+ "Etag": [
+ "W0kLF+Aew/VCOw2KtSvzYA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/+2WUXOaQBSF/8v2sYkgxijM5AEVHaaoKWA7mU7H2cCKVGDpssZaJ/+9C0ExsEFt+tgn5u7cb8/hcljYgZUfuUABj773c43I9gOFjwECVwBR6LH1r+LKGH5U0Ub40p9upE/Uevr9oN7dsQ4/5ZIlDoJtCKNrF4X4mqKEKi6kMEF0LolNuSlK3fntrSzetmVRlFvsMhdFsdnIdOpaukwiQcHC8KMVE1pSGieKIOyNNjyMvQDB2E8aDg4P68KTJMQE/0AOTQSOOyF3lwjn2BQym4lwltusyUQLRFDkIKDsQG5Ef2NSjMlNZB3nGNrLZMAZrp7ZEJ0lCmFqZ+GjwE2A8m0HIhgyh2CSXtiW2zitLNvUJyNWh9hNa1P7PNNNbcB2ORC9LXNeIL0HW7PqCT2iyEOkYPSJrY00s54aBhjSghkaU9U+4QxjlofoyNt0amjqpJ6y/ZA9CRjGBWfrY82y1fF9PTmA9Gh2A9XWTiu9Fjm9/2sm1TjNTdYhIr5TYJPZWDP1fj01QtgjMF5uL4uDRYkfeSohsBa815h1XipKJCcaVTSLRgms5KOK5fkogZyQVNFDSEowNylVPH2SJbIcF74mR+60EgfkBacK58EpsZz0VNFDev4iCSZyMHELxtT6U3PAid0V5wB7yd9lmX2X4CWn2feKaGk8VeV8PO9X/rfa/8f85piZOojW4ct3UQEiyEoDR56NSHnZxJt95RAEqY+j7IhXQLPdkaRup9OSb27Snwn0K/ZJtaHbEjvsw84aApjQMXZ9dgduZY+2JB8dG2rPSF/9ADvZhmxpZoHnP5Sf6BD8CQAA"
+ }
+ },
+ {
+ "ID": "3ad32e1bacd89174",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0008/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "1350"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6Ikt3RjJDT3FuenMwYUlOS3pKeXNQTmY3WVdkNCIsImpzb24iOnsiQm9vbGVhbiI6dHJ1ZSwiQm9vbGVhbkFycmF5IjpbdHJ1ZSxmYWxzZV0sIkJ5dGVzIjoiWW5sMFpRPT0iLCJEYXRlIjoiMjAxNi0wMy0yMCIsIkRhdGVBcnJheSI6WyIyMDE2LTAzLTIwIiwiMTk5NC0wNS0xNSJdLCJEYXRlVGltZSI6IjIwMTYtMDMtMjAgMTU6MDQ6MDUuMDAwMDA2IiwiRGF0ZVRpbWVBcnJheSI6WyIyMDE2LTAzLTIwIDE1OjA0OjA1LjAwMDAwNiIsIjE5OTQtMDUtMTUgMDE6MDI6MDQiXSwiRmxvYXQiOjMuMTQsIkZsb2F0QXJyYXkiOlsxLDEuNDFdLCJHZW9ncmFwaHkiOiJQT0lOVCgtMTIyLjM1MDIyMCA0Ny42NDkxNTQpIiwiR2VvZ3JhcGh5QXJyYXkiOlsiUE9JTlQoLTEyMi4zNTAyMjAgNDcuNjQ5MTU0KSIsIlBPSU5UKC0xMjIuMDgzNjc5MSAzNy40MjE4MjcpIl0sIkludGVnZXIiOjQyLCJJbnRlZ2VyQXJyYXkiOlsxLDJdLCJOYW1lIjoiYSIsIk51bWVyaWMiOiIwLjU3MDAwMDAwMCIsIk51bWVyaWNBcnJheSI6WyIwLjUwMDAwMDAwMCIsIjAuNjAwMDAwMDAwIl0sIlJlY29yZCI6eyJSZWNvcmQiOnsiSW50ZWdlciI6MjR9LCJSZWNvcmRBcnJheSI6W3siSW50ZWdlciI6MX0seyJJbnRlZ2VyIjoyfV0sIlN0cmluZyI6InN0cmluZyJ9LCJSZWNvcmRBcnJheSI6W3siUmVjb3JkIjp7IkludGVnZXIiOjB9LCJTdHJpbmciOiJlbXB0eSJ9LHsiUmVjb3JkIjp7IkludGVnZXIiOjF9LCJSZWNvcmRBcnJheSI6W3siSW50ZWdlciI6MX0seyJJbnRlZ2VyIjoyfV0sIlN0cmluZyI6ImZ1bGwifV0sIlN0cmluZ0FycmF5IjpbImEiLCJiIl0sIlRpbWUiOiIxNTowNDowNS4wMDAwMDYiLCJUaW1lQXJyYXkiOlsiMTU6MDQ6MDUuMDAwMDA2IiwiMDE6MDI6MDQiXSwiVGltZXN0YW1wIjoiMjAxNi0wMy0yMFQxNTowNDowNS4wMDAwMDZaIiwiVGltZXN0YW1wQXJyYXkiOlsiMjAxNi0wMy0yMFQxNTowNDowNS4wMDAwMDZaIiwiMTk5NC0wNS0xNVQwMTowMjowNFoiXX19LHsiaW5zZXJ0SWQiOiJ5YWdvZE93alBITHd5ZDlsM0hKZHZFbXZzdEMiLCJqc29uIjp7IkJvb2xlYW4iOmZhbHNlLCJCeXRlcyI6IllubDBaVEk9IiwiRGF0ZSI6IjIwMTYtMDMtMjAiLCJEYXRlVGltZSI6IjIwMTYtMDMtMjAgMTU6MDQ6MDUuMDAwMDA2IiwiRmxvYXQiOjQuMTMsIkdlb2dyYXBoeSI6IiIsIkludGVnZXIiOjI0LCJOYW1lIjoiYiIsIk51bWVyaWMiOiIwLjQ0OTkwMDAwMCIsIlJlY29yZCI6eyJSZWNvcmQiOnsiSW50ZWdlciI6MH0sIlN0cmluZyI6IiJ9LCJUaW1lIjoiMTU6MDQ6MDUuMDAwMDA2IiwiVGltZXN0YW1wIjoiMjAxNi0wMy0yMFQxNTowNDowNS4wMDAwMDZaIn19XX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "70d2cca5d44e0d9c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0008?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:39 GMT"
+ ],
+ "Etag": [
+ "W0kLF+Aew/VCOw2KtSvzYA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/+3Uz2qDMADH8XfJ2SfwZmsqgRq7mB7G6CFoZgX/EbODiO++uolpk0xx3XGnksOnP4lf7EGbXHnJgNuD95wXaQvctx5UrOTABXj8cYDsmvEUU4JwcDuXdTqeCXw5IwJ9MDiz2HWSt4rsXimMlwWqJM+4UAZhCgNIltWhqJlU5nCMPLryZHVdcFbdPVsUHaGHlxXNS95KVjbKURTCmHrhaVn6TN7dne9RuL70OLL+/49m3Fh3+KPkIk8Uw+cQErRfVgGvM8Gaa7cth1iKvMo8IdgiPMHbo9uq0KQlDZN+paFBow+TTX1o0BKJSedINGwtxeTjm9Sknot90zK3vmSBtnBMPIWjWUs9Jp3r+UUJhCe1SJUhcB8R35KdY/mAffe3rdmnBrd8zS7GqHY95vJ0Pc8v/+32/zX/eM2XYfgEGv3PqmQHAAA="
+ }
+ },
+ {
+ "ID": "f7c0b0e8a9c60fa9",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0008/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:40 GMT"
+ ],
+ "Etag": [
+ "a468H12rjAJ6Z9aUebIkYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/8VTXU+DMBT9K6a+uGQ0bbmUj4QHEx+cMX4FH7aFhxIZweGm0GmWZf9dhkrLgEVjjJCQc3vOvb09vWzQPF08IA9FafKyivP1sRRRFp8JKS7TQqIhiqVISl4Ad84pyx9PL/jEFfdxNJqPE98vFXIpRXa3fCtKGSnjvILTDZpV39dddbQdfqDxIiOTYOTXCwxqCJiadTATWRHXEQXLAYczsDDZPVzlE8oNYhqMKLHlEfDIAWnQJyEYwHXr8AtMw78CukuoY608VbhVSU081JWi6fGtrzwGVkMTU2W4zFf/YbFl18HN9egqODEoY9i0CGPkCGzMwaUWDGrz988XoW3Y5KhqoM1hrW0MtCVouPA5dvs1er2xueNy02aASSuryzfXBYNYBrXae/T5RT3CSupA+V6v1XZBb5nyPrS74S3+O1eki4hjctulR6aNgVGH2QNVUp/XQubpIumaeQb60LdoqrGNtGo9PJQaPz3L9U9+M10zW2VZVy79bbdh9b4DQMzT5osFAAA="
+ }
+ },
+ {
+ "ID": "f2262f6538de5759",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0008/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:40 GMT"
+ ],
+ "Etag": [
+ "a468H12rjAJ6Z9aUebIkYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/8VTXU+DMBT9K6a+uGQ0bbmUj4QHEx+cMX4FH7aFhxIZweGm0GmWZf9dhkrLgEVjjJCQc3vOvb09vWzQPF08IA9FafKyivP1sRRRFp8JKS7TQqIhiqVISl4Ad84pyx9PL/jEFfdxNJqPE98vFXIpRXa3fCtKGSnjvILTDZpV39dddbQdfqDxIiOTYOTXCwxqCJiadTATWRHXEQXLAYczsDDZPVzlE8oNYhqMKLHlEfDIAWnQJyEYwHXr8AtMw78CukuoY608VbhVSU081JWi6fGtrzwGVkMTU2W4zFf/YbFl18HN9egqODEoY9i0CGPkCGzMwaUWDGrz988XoW3Y5KhqoM1hrW0MtCVouPA5dvs1er2xueNy02aASSuryzfXBYNYBrXae/T5RT3CSupA+V6v1XZBb5nyPrS74S3+O1eki4hjctulR6aNgVGH2QNVUp/XQubpIumaeQb60LdoqrGNtGo9PJQaPz3L9U9+M10zW2VZVy79bbdh9b4DQMzT5osFAAA="
+ }
+ },
+ {
+ "ID": "b9aa8b7ac378c11d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0008?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:40 GMT"
+ ],
+ "Etag": [
+ "W0kLF+Aew/VCOw2KtSvzYA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/+3Uz2qDMADH8XfJ2SfwZmsqgRq7mB7G6CFoZgX/EbODiO++uolpk0xx3XGnksOnP4lf7EGbXHnJgNuD95wXaQvctx5UrOTABXj8cYDsmvEUU4JwcDuXdTqeCXw5IwJ9MDiz2HWSt4rsXimMlwWqJM+4UAZhCgNIltWhqJlU5nCMPLryZHVdcFbdPVsUHaGHlxXNS95KVjbKURTCmHrhaVn6TN7dne9RuL70OLL+/49m3Fh3+KPkIk8Uw+cQErRfVgGvM8Gaa7cth1iKvMo8IdgiPMHbo9uq0KQlDZN+paFBow+TTX1o0BKJSedINGwtxeTjm9Sknot90zK3vmSBtnBMPIWjWUs9Jp3r+UUJhCe1SJUhcB8R35KdY/mAffe3rdmnBrd8zS7GqHY95vJ0Pc8v/+32/zX/eM2XYfgEGv3PqmQHAAA="
+ }
+ },
+ {
+ "ID": "0cb1cee7003b654d",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0008?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:40 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "446ee1667ae24250",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "667"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoiU3RyaW5nIiwidHlwZSI6IlNUUklORyJ9LHsibmFtZSI6IkJ5dGVzIiwidHlwZSI6IkJZVEVTIn0seyJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn0seyJuYW1lIjoiRmxvYXQiLCJ0eXBlIjoiRkxPQVQifSx7Im5hbWUiOiJCb29sZWFuIiwidHlwZSI6IkJPT0xFQU4ifSx7Im5hbWUiOiJUaW1lc3RhbXAiLCJ0eXBlIjoiVElNRVNUQU1QIn0seyJuYW1lIjoiRGF0ZSIsInR5cGUiOiJEQVRFIn0seyJuYW1lIjoiVGltZSIsInR5cGUiOiJUSU1FIn0seyJuYW1lIjoiRGF0ZVRpbWUiLCJ0eXBlIjoiREFURVRJTUUifSx7Im5hbWUiOiJOdW1lcmljIiwidHlwZSI6Ik5VTUVSSUMifSx7Im5hbWUiOiJHZW9ncmFwaHkiLCJ0eXBlIjoiR0VPR1JBUEhZIn0seyJmaWVsZHMiOlt7Im5hbWUiOiJYIiwidHlwZSI6IklOVEVHRVIifV0sIm5hbWUiOiJSZWNvcmQiLCJ0eXBlIjoiUkVDT1JEIn1dfSwidGFibGVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDA5In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:40 GMT"
+ ],
+ "Etag": [
+ "LlogGDUyln0N6GmOz/nUhw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42TbW+bMBCA/4v3tQ0OWfOC1A+koQyJQEWI1GqaIhcuxCvYzHbWsWj/fYYmhSTdFPEB3fHc3cMZduiFshRZ6JlmP7Ygqk+KPOeArhAokum8n/PMnS2rnOFg6Bbhb4MtN6+3t5qgdZ3c8DyvCsKuUyj4tQKprJQoIkGtTNyf9LE5Xg2HEzy8mWA8GejbCmPc7zVz/odM9AgJ+dqn7EUP2ihVSsswDqK9jPMsB1JS2Ut48Z43fppGKfh3SJQ0PrAz9nbSuETTaDSlcZFtA0WwBgEsAWTt0F7E+8emdM1eoiEuETqMaQousPqjl5hsoCC1zppCnkpkfd0hRgptiBZKUJbVTauyiePIC1xd9U5MK23aAtOn2Fl0n3tMQQaiJbwgdlwn6jL3OSeqJe790I6PZnCuT5J1poSh79hBl4lpoTdGirKlYm/uLGJ7/tDlZkRBi8zs2DntctzgtPaYqOtPqWBbgKBJCwXLuRN5d13GBZ4JUm6qlnKd0I3shy9PXS6ChIu0hSLnLoxmOj4/qscPVvxNX1eIbYu3U7IQRk3oc5bFIE7TEX89RIkAoihnzetaqH8zMs3xaPQZDwdm/ff/Kqk4B8YDPNKflQZyItWcp1R7pmc9RgPcWbI99Z26gidNQ51a6i/oL5C6dZJ6BAAA"
+ }
+ },
+ {
+ "ID": "19afe4a505946726",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "207"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6InJZNUFWUXpJVlF4V1JFTFFEYzdCZjFHWjJDcyIsImpzb24iOnsiQm9vbGVhbiI6bnVsbCwiQnl0ZXMiOm51bGwsIkRhdGUiOm51bGwsIkRhdGVUaW1lIjpudWxsLCJGbG9hdCI6bnVsbCwiR2VvZ3JhcGh5IjpudWxsLCJJbnRlZ2VyIjpudWxsLCJTdHJpbmciOm51bGwsIlRpbWUiOm51bGwsIlRpbWVzdGFtcCI6bnVsbH19XX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:40 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "d01641ed7408ddd6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:41 GMT"
+ ],
+ "Etag": [
+ "nh/yC0Of4zcCB0TxUk2s5g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnZehXOhv4p5lUJTs7GYRUhGYbFZum29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUZKGYsEAIASQ+aU+gAAAA="
+ }
+ },
+ {
+ "ID": "994533755987eab3",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:41 GMT"
+ ],
+ "Etag": [
+ "LlogGDUyln0N6GmOz/nUhw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "cdb966ca9b1fc949",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:41 GMT"
+ ],
+ "Etag": [
+ "nh/yC0Of4zcCB0TxUk2s5g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnZehXOhv4p5lUJTs7GYRUhGYbFZum29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUZKGYsEAIASQ+aU+gAAAA="
+ }
+ },
+ {
+ "ID": "30636bb05db80032",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:41 GMT"
+ ],
+ "Etag": [
+ "LlogGDUyln0N6GmOz/nUhw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "cf7b1f678bd34d5a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:42 GMT"
+ ],
+ "Etag": [
+ "nh/yC0Of4zcCB0TxUk2s5g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnZehXOhv4p5lUJTs7GYRUhGYbFZum29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUZKGYsEAIASQ+aU+gAAAA="
+ }
+ },
+ {
+ "ID": "40b537bd9ad8dcdd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:41 GMT"
+ ],
+ "Etag": [
+ "LlogGDUyln0N6GmOz/nUhw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "c979e263c9592f62",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0009?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:42 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "fb5501deddc50357",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "667"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoiU3RyaW5nIiwidHlwZSI6IlNUUklORyJ9LHsibmFtZSI6IkJ5dGVzIiwidHlwZSI6IkJZVEVTIn0seyJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn0seyJuYW1lIjoiRmxvYXQiLCJ0eXBlIjoiRkxPQVQifSx7Im5hbWUiOiJCb29sZWFuIiwidHlwZSI6IkJPT0xFQU4ifSx7Im5hbWUiOiJUaW1lc3RhbXAiLCJ0eXBlIjoiVElNRVNUQU1QIn0seyJuYW1lIjoiRGF0ZSIsInR5cGUiOiJEQVRFIn0seyJuYW1lIjoiVGltZSIsInR5cGUiOiJUSU1FIn0seyJuYW1lIjoiRGF0ZVRpbWUiLCJ0eXBlIjoiREFURVRJTUUifSx7Im5hbWUiOiJOdW1lcmljIiwidHlwZSI6Ik5VTUVSSUMifSx7Im5hbWUiOiJHZW9ncmFwaHkiLCJ0eXBlIjoiR0VPR1JBUEhZIn0seyJmaWVsZHMiOlt7Im5hbWUiOiJYIiwidHlwZSI6IklOVEVHRVIifV0sIm5hbWUiOiJSZWNvcmQiLCJ0eXBlIjoiUkVDT1JEIn1dfSwidGFibGVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDEwIn19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:42 GMT"
+ ],
+ "Etag": [
+ "PMfCB7YDCQa3Nn7uDu/xiQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42TUW/aMBCA/4v32hInaQlE6kOAlEWCQEMqDU0TcpMjeE3szDZbEdp/n5NBE6CbUB7QHd/dfTk7e/RKWYpc9EKzH1sQu0+KvOSAbhAokun8fLoeDpzlaPhE7JA529HWeKNPDw+aoFWd3PA83xWE3aZQ8FsFUrkpUUSCWlnY7JvY6q263T7u3vcx7tv6Z4UxNjv1nP8gJtYjJOTrCWWvetBGqVK6hnEU7WScZzmQkspOwov3vPHTMkrBv0OipPGBnXGwk8Y1mkatKY2rbGsogjUIYAkgd48OIsE/NqVrDhI1cY3QcUxdcIXVb73EZAMFqXTWFPJUIvfrHjFSaEO0UIKyrGq6K+s4joJwrKveicFOmzbAYBn7i/b/AVOQgWiIIIz9sR+1mcecE9UQj5OZF5/M4FyfJGtNmc0mvhe2mZgWemOkKBsqDqb+Ivam8zY3IgoaZOTF/nmX0wbntadEVX9OhdsCBE0aKHye+lEwbDNj4Jkg5WbXUGN/No68+edlm4sg4SJtoMgfzqKRji+P6ssHK/6mnxvEtsXfU3JRdQ11OOEsi0GcpyP+6xglAoiinNWv6yLz3rGsnuPcWbbdq77+t5KKS6BnY0ffQg3kRKopT6n2TC963Nm4tWRvMPGrCp7UDXXqWd+gP2X4FNJ6BAAA"
+ }
+ },
+ {
+ "ID": "ed2779d65db61dd9",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "207"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6IjdRMmZBM0QzNG9EN0o5cFNmUDZVc3I0VkEzNCIsImpzb24iOnsiQm9vbGVhbiI6bnVsbCwiQnl0ZXMiOm51bGwsIkRhdGUiOm51bGwsIkRhdGVUaW1lIjpudWxsLCJGbG9hdCI6bnVsbCwiR2VvZ3JhcGh5IjpudWxsLCJJbnRlZ2VyIjpudWxsLCJTdHJpbmciOm51bGwsIlRpbWUiOm51bGwsIlRpbWVzdGFtcCI6bnVsbH19XX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:42 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "61df195aaa5fc1bb",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:42 GMT"
+ ],
+ "Etag": [
+ "PMfCB7YDCQa3Nn7uDu/xiQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "986acf56a18b37a1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:42 GMT"
+ ],
+ "Etag": [
+ "wIC4LkcvUWLDDKbQ80B2PA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qXezqb+GQnl4WG+7i4eCcFWhg4GQU42toCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUZKGYsEAIAUG9l1ugAAAA="
+ }
+ },
+ {
+ "ID": "d530bfd23d74d044",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Etag": [
+ "wIC4LkcvUWLDDKbQ80B2PA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qXezqb+GQnl4WG+7i4eCcFWhg4GQU42toCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUZKGYsEAIAUG9l1ugAAAA="
+ }
+ },
+ {
+ "ID": "930383573429ad49",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Etag": [
+ "PMfCB7YDCQa3Nn7uDu/xiQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "9eaacda204d03b05",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Etag": [
+ "wIC4LkcvUWLDDKbQ80B2PA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qXezqb+GQnl4WG+7i4eCcFWhg4GQU42toCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUZKGYsEAIAUG9l1ugAAAA="
+ }
+ },
+ {
+ "ID": "4b2c8e4216cfc48e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Etag": [
+ "PMfCB7YDCQa3Nn7uDu/xiQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "96d76d9aa89a3f61",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0010?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "7b74af6b043ff349",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "667"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoiU3RyaW5nIiwidHlwZSI6IlNUUklORyJ9LHsibmFtZSI6IkJ5dGVzIiwidHlwZSI6IkJZVEVTIn0seyJuYW1lIjoiSW50ZWdlciIsInR5cGUiOiJJTlRFR0VSIn0seyJuYW1lIjoiRmxvYXQiLCJ0eXBlIjoiRkxPQVQifSx7Im5hbWUiOiJCb29sZWFuIiwidHlwZSI6IkJPT0xFQU4ifSx7Im5hbWUiOiJUaW1lc3RhbXAiLCJ0eXBlIjoiVElNRVNUQU1QIn0seyJuYW1lIjoiRGF0ZSIsInR5cGUiOiJEQVRFIn0seyJuYW1lIjoiVGltZSIsInR5cGUiOiJUSU1FIn0seyJuYW1lIjoiRGF0ZVRpbWUiLCJ0eXBlIjoiREFURVRJTUUifSx7Im5hbWUiOiJOdW1lcmljIiwidHlwZSI6Ik5VTUVSSUMifSx7Im5hbWUiOiJHZW9ncmFwaHkiLCJ0eXBlIjoiR0VPR1JBUEhZIn0seyJmaWVsZHMiOlt7Im5hbWUiOiJYIiwidHlwZSI6IklOVEVHRVIifV0sIm5hbWUiOiJSZWNvcmQiLCJ0eXBlIjoiUkVDT1JEIn1dfSwidGFibGVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDExIn19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Etag": [
+ "l0WxJ0QYhQ6Nqv7MErhT9g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SbW+bMBCA/4v3tQ2GLG9I/UAaN2NKSEuoumiaIhcu4BUwtZ22UbT/PkOTQpJuiviA7nju7uHsLXpieYRs9Mji5zWIzRdFH1NAFwgUjXU+xQ9v3/HdIrnres8vvSkRSTCIr640wco6mfA03WQ0v4wg45cKpLIjqqgEtbSwOTCx1V92uwPc7QwwHrT1a4kxNlvVnP8gpqlHSEhXE5Y/6UGJUoW0DWMv2oo5j1OgBZOtkGcfeePFMgrBf0OopPGJnbGzk8Y5mkalKY2zbCvIhxUIyENA9hbtRNx/bErX7CQq4hyh/Ziq4AyrP3qJYQIZLXVWDNJIIvvnFuU004ZorgTL47LppqjiwHe9sa76IIYbbVoDw0VA5s3vbq4gBlETrheQMfGbzE3KqaqJm8nMCQ5mcK5PMm9Mmc0mxPGaTMAyvTGaFTUVuFMyD5zpbZMbUQU1MnICctzlsMFx7SFR1h9T3joDwcIa8u6nxHevm8wYeCxokWxqakxmY9+5/bZocj6EXEQ15JPrmT/S8elR/fhkxb/0c4HydfZ+SjbCqAonPI8DEMdpn7/uo1AAVYzn1e/ayOz0LKvf631td9rlHYO3golToN/GPX0LNZBSqaY8YtozOunRbVuNJTvDCSkreFg11Kl7fYP+AmFW7WF6BAAA"
+ }
+ },
+ {
+ "ID": "dc31bfdb538f69ed",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "344"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6Imp0YVhyNUQyblQxcUZaTzY3SHFXSTE1VmJDNSIsImpzb24iOnsiQm9vbGVhbiI6dHJ1ZSwiQnl0ZXMiOiJBUUlEIiwiRGF0ZSI6IjIwMTYtMTEtMDUiLCJEYXRlVGltZSI6IjIwMTYtMTEtMDUgMTU6MDQ6MDUuMDAwMDA2IiwiRmxvYXQiOjIuMywiR2VvZ3JhcGh5IjoiUE9JTlQoLTEyMi4xOTg5MzkgNDcuNjY5ODY1KSIsIkludGVnZXIiOjEsIk51bWVyaWMiOiIwLjMzMDAwMDAwMCIsIlJlY29yZCI6eyJYIjo0fSwiU3RyaW5nIjoieCIsIlRpbWUiOiIxNTowNDowNS4wMDAwMDYiLCJUaW1lc3RhbXAiOiIyMDE2LTExLTA1VDA3OjUwOjIyLjAwMDAwMDAwOFoifX1dfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:43 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "ca42cb8c1b6078e7",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:44 GMT"
+ ],
+ "Etag": [
+ "kEU0nDtnorkiHoSe7huI5g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/3WPywrCMBBFf0XiRsGGiWnSB3QhVLAgPutKXESMtbS0WFMfSP/dqNi60GEY7p05cJk7SuJsh1y0jaNjKYtbW4ltKn2hxDg+KdRDUolI35PhCjJfZXmRxKN8Ka1DGbDI8zShciXSRX45aQy0L15yfUf71zzr9RVVvbcazAO/NqRWfUxrrYpSNohp2ZT2dWFoaCDcIMQA1nDMBdMFhuFZ/Aca/kMA0yZ8Ng0mYccgOo84tkOdlmlhzh2bs+4H+v7MRNWm0r2pHvDdH2VLAQAA"
+ }
+ },
+ {
+ "ID": "641f5cdebbe03252",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:44 GMT"
+ ],
+ "Etag": [
+ "l0WxJ0QYhQ6Nqv7MErhT9g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "8d97bc62cc5076ab",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:44 GMT"
+ ],
+ "Etag": [
+ "l0WxJ0QYhQ6Nqv7MErhT9g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "282c22bdc2ba11d4",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:44 GMT"
+ ],
+ "Etag": [
+ "kEU0nDtnorkiHoSe7huI5g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/3WPywrCMBBFf0XiRsGGiWnSB3QhVLAgPutKXESMtbS0WFMfSP/dqNi60GEY7p05cJk7SuJsh1y0jaNjKYtbW4ltKn2hxDg+KdRDUolI35PhCjJfZXmRxKN8Ka1DGbDI8zShciXSRX45aQy0L15yfUf71zzr9RVVvbcazAO/NqRWfUxrrYpSNohp2ZT2dWFoaCDcIMQA1nDMBdMFhuFZ/Aca/kMA0yZ8Ng0mYccgOo84tkOdlmlhzh2bs+4H+v7MRNWm0r2pHvDdH2VLAQAA"
+ }
+ },
+ {
+ "ID": "7f78f3bc04f23a0c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:45 GMT"
+ ],
+ "Etag": [
+ "kEU0nDtnorkiHoSe7huI5g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/3WPywrCMBBFf0XiRsGGiWnSB3QhVLAgPutKXESMtbS0WFMfSP/dqNi60GEY7p05cJk7SuJsh1y0jaNjKYtbW4ltKn2hxDg+KdRDUolI35PhCjJfZXmRxKN8Ka1DGbDI8zShciXSRX45aQy0L15yfUf71zzr9RVVvbcazAO/NqRWfUxrrYpSNohp2ZT2dWFoaCDcIMQA1nDMBdMFhuFZ/Aca/kMA0yZ8Ng0mYccgOo84tkOdlmlhzh2bs+4H+v7MRNWm0r2pHvDdH2VLAQAA"
+ }
+ },
+ {
+ "ID": "29d94ea00cc7cd50",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:45 GMT"
+ ],
+ "Etag": [
+ "l0WxJ0QYhQ6Nqv7MErhT9g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/23RwWrDMAwA0H/RuV+Qm9uonqGxi+PBytjBpFoaiOPguIcQ+u/rdpidbOgk9CSBtMDU3MhZKBb47Ki/TlC8LzBYR1BAHUM3tLCDOI8/udFCcnjsfsV+jjQlsL8YrPO6GCK1FJIQ0iBHnZtj721M4nhSzKx2eN+THbItSp2QydyYztEUrRuTMqLC2rDqnLvSRkqkZAa3U9YDtr1r8d2/VfLuKHRNQvK1Qi0OueHk22DH25wUR8U1O79ccqep8eGakMaD0uUz//uqt39O/PGMxxcmuQC34gEAAA=="
+ }
+ },
+ {
+ "ID": "c38f590e1aacba44",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0011?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:45 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "def7df2ab3b7858c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTIifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:45 GMT"
+ ],
+ "Etag": [
+ "1i0CY1MkXrbTixhAJOUBRQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S0U7CQBBF/2V9FXZbhEITHig2BoOgtSYaY8jSDmWl7dbuqhDCvzutYI2oafqwmTv3zpxMuiUrkYbEJnMRvbxCvjnRfB4DOSWgeYS6Idjwwbha3edzX6yXg8vpnePd9PvoEEVOLWUcbxKeNkJIZEOD0nbINVegZyYzegYzu7NOp8c67R5jvRY+M8aY0Sz3/GMxTFyhIF6MRbrCRUutM2VTegBtRlJGMfBMqGYgky+dvpk0y+UzBFrRX+jonk7ROpi0xFS0Fm1p8mABOaQBEHtL9iCjPy6FmT1E6agDdFhTBmpQ7fCIwRISXuAsBMShIvbjlqQ8QcLPB0dusqK69b3R5AIzVf81UVV/NPHdC9dDIZFhIXjutTvw3fPvkRyCKuG5w6l3jvXx6rmUcWV0ptOxO5iQ3RN+p8VeZ4Mnwg4jZTmWaeRD/lP25PuhCnLgWsjUF+V8o22ZZteyztqdtlX80OtM5MeGbotZeFg0xFzpKxkKRA2PZlimVcH6A2fsFgkZlANRursluw9+EJdSTQMAAA=="
+ }
+ },
+ {
+ "ID": "003b5be24f39193c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:45 GMT"
+ ],
+ "Etag": [
+ "1i0CY1MkXrbTixhAJOUBRQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S0U7CQBBF/2V9FXZbhEITHig2BoOgtSYaY8jSDmWl7dbuqhDCvzutYI2oafqwmTv3zpxMuiUrkYbEJnMRvbxCvjnRfB4DOSWgeYS6Idjwwbha3edzX6yXg8vpnePd9PvoEEVOLWUcbxKeNkJIZEOD0nbINVegZyYzegYzu7NOp8c67R5jvRY+M8aY0Sz3/GMxTFyhIF6MRbrCRUutM2VTegBtRlJGMfBMqGYgky+dvpk0y+UzBFrRX+jonk7ROpi0xFS0Fm1p8mABOaQBEHtL9iCjPy6FmT1E6agDdFhTBmpQ7fCIwRISXuAsBMShIvbjlqQ8QcLPB0dusqK69b3R5AIzVf81UVV/NPHdC9dDIZFhIXjutTvw3fPvkRyCKuG5w6l3jvXx6rmUcWV0ptOxO5iQ3RN+p8VeZ4Mnwg4jZTmWaeRD/lP25PuhCnLgWsjUF+V8o22ZZteyztqdtlX80OtM5MeGbotZeFg0xFzpKxkKRA2PZlimVcH6A2fsFgkZlANRursluw9+EJdSTQMAAA=="
+ }
+ },
+ {
+ "ID": "d00dd89cc00f0049",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "78"
+ ],
+ "If-Match": [
+ "1i0CY1MkXrbTixhAJOUBRQ=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZXNjcmlwdGlvbiI6Im1vcmUiLCJleHBpcmF0aW9uVGltZSI6IjE1NzIzNzQ3MDcwMDAiLCJmcmllbmRseU5hbWUiOiJtb3JlIn0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:46 GMT"
+ ],
+ "Etag": [
+ "/i1JBShzIyD2yYicBdiZdw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SUW/aMBSF/4v3SrGTQgKR+kBGVDExmEL20FYTMvYleE3izHbXZoj/PjuDZqLdhPJg3etz7vlsZ48eRcVRhDYi//EEqvlg6KYA1ENgaG77WHif4tXu16yZ+s2dYDEX9/z55sYqhPPpnSyKpqTVFYdSXhnQJuLUUA1m7RNv7BF/tA6CMQmGY0LG13ZZE0K8fpvzH4nn2wgNxXYuqkcbtDOm1hHGJ9B+LmVeAK2F7jNZvvbxTx/XSn4HZjR+hw4f6TS+BBO3mBpfRNuKUtiCgooBivboCDL7x01ZzxGiVVwCdIppDRdQHXpoqwRUvGgWtLRQqJTKvS8HzZSojZBV19RsByV15FsBBdcoetij6o+vXWx6U7tqlaWzxa0d3+0/lbrbny2y5DZJbaOU3DXS5EsyyZLp3xYFrHOkycdlOrX12+iNlEUnjJfLeTJZoMM3+/VcbtzY27Q7BLXlXFZ5Buq8ncrnU8UUUHfyTLTzvWHo+6MwHAyDYej+/ZdaqHPBdTgISWjfwAoKqs1nyYVF5eczgoE36mCzSTxPnEMyerzrryt0+A1hq4lUeAMAAA=="
+ }
+ },
+ {
+ "ID": "60c0b980faae6d42",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "21"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJmcmllbmRseU5hbWUiOiJ4In0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:46 GMT"
+ ],
+ "Etag": [
+ "tdQ8f+rEaSgmViqeU7Navg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SX2+bMBTFv4v3uDQYWiBB6kOyWlWkjKyE7mWaIgdfiFeDqe12RVG++2yWjCn7o4gH616fc8/PNnv0xBuGErTl1fMLqO6doVsBaITA0Mr2DXuYlO8Voeuq/syf4TFO6Wt1e2sV3Pn0TgrR1bS5YlDLKwPaJIwaqsFsAuxPfRxMNlE0xVE4xXh6bZcNxtgf9zn/kfiBjdAgyiVvnmzQzphWJ553Ah1XUlYCaMv1uJD1r773Gnitkt+gMNr7C513pNPeJZhej6m9i2h7UQYlKGgKQMkeHUEW/7gp6zlC9IpLgE4xveECqsMIlYpDw0SX0tpCoTeXCrpQvDVcNrZTS+VeXBc7qKnDLjkIplHyZY+an6Z+sdFd66p1ni3Sezt72H+p9bC/SHNyTzLbqCVzjYx8IrOc3P1uUVAMjox8WGV3tv4zeiulGITz1WpJZik6fLXfyOXOO3uVdgejvlzKpspBnbcz+f1UFQqoO3nO+/l+GAfBJI5vwiiM3Y//1nJ1LriOb2Ic2wewAkG1+SgZt6jsfEYUB+EAm8/mS+IcsqDHu35co8MP7+RIO3UDAAA="
+ }
+ },
+ {
+ "ID": "fc7268185c0ac1a9",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "21"
+ ],
+ "If-Match": [
+ "/i1JBShzIyD2yYicBdiZdw=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJmcmllbmRseU5hbWUiOiJ5In0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 412,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:46 GMT"
+ ],
+ "Etag": [
+ "tdQ8f+rEaSgmViqeU7Navg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6vmUlBQSi0qyi9SslKoBnKA3OT8lFQgz8TAQAcikJtaXJyYDhJTCihKTc7PS8ksyczPU0jOSE3OVkhLzMxJTdFTgioGG1YMVBsN5itATSXZILCGlPzcxMw8kPr0nPykxBxkuaLUxOJ8sBxEI7KJSlBltWA6Fuq04pLEklKQ05TcHD19XF3iA4Jcnf39XDxDPP39QFpquWq5AH1JwmMSAQAA"
+ }
+ },
+ {
+ "ID": "709e9c0327d9aec7",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "293"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7ImZpZWxkcyI6W3sibmFtZSI6Im5lc3RlZCIsInR5cGUiOiJCT09MRUFOIn0seyJuYW1lIjoib3RoZXIiLCJ0eXBlIjoiU1RSSU5HIn1dLCJuYW1lIjoicmVjMiIsInR5cGUiOiJSRUNPUkQifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:47 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TX2/aMBD/Lt7jWuyEkpBIfYA1qpBYQCGTJlUVMskRPBI7s921EeK7185g6Wg35cm6u98/++QD2jOeoxBtWPHzCWTzSdNNCegKgaaF6bv7z/lqjONniGZLovjSi74nxe2tQTDLUztRlk1F+XUOlbjWoHSYU00V6LVLnMAh7njteQHxRgEhwdAca0KIM2h9/gNxXGOhoNzOGd8bo53WtQoxPgcdFEIUJdCaqUEmqj99/MvFtRQ/INMKf5AOn9Ip3CcmbmMq3CttC0pgCxJ4Big8oFOQ2T9eynBOIVpEn0Bnm5bQI9XxCm0lA56XTUwrEwq9WFdQmWS1ZoKbTiWk3bjKdlBRG3vLoMwVCh8OiP8mtYexbmpbrdJkFt8b7W7+VKluPovT6D5KTKMSuW0k0TKapNHdW4qErGMk0ZdFcmfq99YbIcoOOF0s5tEkRsfHv6XcXlrcPDrkH6h1WkLvQL6/6qM1tNecNmZzZkBQW84FL1KQl+1EPJ+rTAK1D52yVt8Z+a479v2bkTfy7T97qZm8BAz9G5/4Zt8GUFKlv4qcmdvklxr+0A26rOlkOo8sQ2T0tNpvK3R8BUBVLhfkAwAA"
+ }
+ },
+ {
+ "ID": "24692315f7c847e6",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "14"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnt9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:47 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TX2/aMBD/Lt7jWuyEkpBIfYA1qpBYQCGTJlUVMskRPBI7s921EeK7185g6Wg35cm6u98/++QD2jOeoxBtWPHzCWTzSdNNCegKgaaF6bv7z/lqjONniGZLovjSi74nxe2tQTDLUztRlk1F+XUOlbjWoHSYU00V6LVLnMAh7njteQHxRgEhwdAca0KIM2h9/gNxXGOhoNzOGd8bo53WtQoxPgcdFEIUJdCaqUEmqj99/MvFtRQ/INMKf5AOn9Ip3CcmbmMq3CttC0pgCxJ4Big8oFOQ2T9eynBOIVpEn0Bnm5bQI9XxCm0lA56XTUwrEwq9WFdQmWS1ZoKbTiWk3bjKdlBRG3vLoMwVCh8OiP8mtYexbmpbrdJkFt8b7W7+VKluPovT6D5KTKMSuW0k0TKapNHdW4qErGMk0ZdFcmfq99YbIcoOOF0s5tEkRsfHv6XcXlrcPDrkH6h1WkLvQL6/6qM1tNecNmZzZkBQW84FL1KQl+1EPJ+rTAK1D52yVt8Z+a479v2bkTfy7T97qZm8BAz9G5/4Zt8GUFKlv4qcmdvklxr+0A26rOlkOo8sQ2T0tNpvK3R8BUBVLhfkAwAA"
+ }
+ },
+ {
+ "ID": "fb23ad8a16ca5b66",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "311"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnsiZmllbGRzIjpbeyJtb2RlIjoiUkVRVUlSRUQiLCJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifSx7ImZpZWxkcyI6W3sibmFtZSI6Im5lc3RlZCIsInR5cGUiOiJCT09MRUFOIn0seyJuYW1lIjoib3RoZXIiLCJ0eXBlIjoiU1RSSU5HIn1dLCJuYW1lIjoicmVjMiIsInR5cGUiOiJSRUNPUkQifV19fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:48 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/92QzU6EQBCE7zxFZ87uZkAlsjfMoiFBorh4MYb0Mi2QzE/CjJuYDe/ugBw87QN46lRVd1JfnwMARuNoRraDsxdetkaQVzecX/0aiqzFbvbY82hOgyABr21PCkEYsqCNA4Wu7eGAR0lgeyPlt0K9EaTMxpF1O4EOLbkm4mES8uiuieOEx7cJ58m1Hw3nPNy6+fzCShht4WEgKUCjIujRQtuj7nwf5UvD52gUlHVRpPdFBs5Alb3UeZXt2UqykFoP8r5oWJH/F+VCI4zCQc8wnTRHlH+zkdCaJRv0CeUg2JpNy/xYn2Uduq/5WSwv39Ii3zdp9Vg/ZeVh3p+CKfgBUCscXD4CAAA="
+ }
+ },
+ {
+ "ID": "94bad9152ebf96c7",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "342"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifSx7ImZpZWxkcyI6W3sibmFtZSI6Im5lc3RlZCIsInR5cGUiOiJCT09MRUFOIn0seyJuYW1lIjoib3RoZXIiLCJ0eXBlIjoiU1RSSU5HIn1dLCJuYW1lIjoicmVjMiIsInR5cGUiOiJSRUNPUkQifSx7Im1vZGUiOiJSRVFVSVJFRCIsIm5hbWUiOiJyZXEiLCJ0eXBlIjoiU1RSSU5HIn1dfX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:48 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/92Qz0rEMBDG732KoScFt6RVi+1tUZEFXUR3vYiU2WZsA/mDSXZRlr67SezBkw/gafjm+4aZ3xwzgJysNTZv4RhEkL3hFNQFY2c/DUXO4RB7+aM1B8GJw3M/kkLghhxo40Gh70fY4E4SuNFI+aVQLzgps/DkfMvRoyPfVaxsSlZddXXdsPqyYaw5D6VjjJWFj+N/RMqqgGvUcR9yDpY+9sKGY94FSe7AG0AN9CmcF3oAl04s4CTZbYyf5jNSQnaB6DVpmNn/KW7C4kah0JFqkGaH8rdnCZ1JntAHlILnszel+jZ/zXn0+/i1fLV+Wd6vbrrl09324Xa9ifkpm7JvvtAZEVACAAA="
+ }
+ },
+ {
+ "ID": "8bb5c03e938ca416",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "182"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:48 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WQT0vDQBDF7/kUw57bsokaTG8FqxS0iFYvImGaHZKF/QM7a0VKvrubNQdP3j0Nb94M/N47FwCCQvBBrOGcRJKdV5TUpZSLn4UlZuynnXgM/qQVKXjuBrIIyhOD8xEsxm6AAx4NAQ/emC+LbqnI+mUkjmuFEZliW8myKWV13dZ1I+urRsrmIo1WSlmu4vT+x0lZreBWk1EQqKtAM1jNrF0P2oGjT+BMJWbunIsT9lvWMAf8z5kyu/IWtZvQe+OPaH57gZB99rQ7odFKzN6Y5/tcDUeMH1M1Yrd/3dzvbtrN093Lw3Z/mO7HYiy+AQQhsgMaAgAA"
+ }
+ },
+ {
+ "ID": "de4ab341ea7c116f",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "260"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifSx7ImZpZWxkcyI6W3sibmFtZSI6Im5lc3RlZCIsInR5cGUiOiJCT09MRUFOIn1dLCJuYW1lIjoicmVjMiIsInR5cGUiOiJSRUNPUkQifV19fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:49 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WQS0vEQBCE7/kVzZzdMIkazN4WfLCgi+jqRST0ZppkYB4wPa7Ikv/uZMzBk3dPTXV1Q311KgAEheCDWMMpiSR7ryipCynPfhaWmHGYd+Ix+KNWpOC5H8kiKE8MzkewGPsR9ngwBDx6Y74supUi61eROK4VRmSKXS2rtpL1Vdc0rWwuWynb8zQ6KWVVxvn9j5OqLuFWk1EQqK9LH0cKoBmsZtZuAO3A0SdwziaW9JmOU/i3rGHB/P9kmUB5i9rNAIPxBzS/vUDIPnvaHdFoJRZvyvN9KYgjxo+5ILHdvW7ut9fd5unu5eFmt5/vp2IqvgF1KIWvJgIAAA=="
+ }
+ },
+ {
+ "ID": "07308d9cf03734c9",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "214"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifSx7Im5hbWUiOiJyZWMyIiwidHlwZSI6IlJFQ09SRCJ9XX19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:49 GMT"
+ ],
+ "Etag": [
+ "2k+dS8/NweEIP0snP6EXRg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6WOMQvCMBCF9/6KI7NDESe3YqsIWqGoi4ikzdEG0kZyqSCl/90kZnB3Ot69e9+9KQFgaIw2bA2TE042WqBTqzRdfBc9EvHW79hWohJgsFmCJLDvJ0JVbE5VDvVooeMEgwZqOuw5i+lAJxe+BQ3xzf/kQBC653LwgFbpmqtfzyAnHTw5vLiSgkVvDvMeC5LldvQF2b68Zod9/siq3eVYlGd/Pydz8gEioPfmJgEAAA=="
+ }
+ },
+ {
+ "ID": "b84a64376d6e8840",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0012?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:49 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "36f9de46847c78f2",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "273"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTMifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:35:49 GMT"
+ ],
+ "Etag": [
+ "auan5KHKNRTv/BJ3TG/aEg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42QwW6CQBCG32V7re4CBYTEQ02ItVoPlJ6axqww4lZgKbvaEuO7d6Bak9o2nCYz8/8z38yebESREJ8sRfq2haq+0nyZAbkmoHmKdb7lhT29m87DaEdH91Y0pjxIh0NUiMan1jLL6pwXvQRy2dOgtJ9wzRXohckMz2DmYOE4HnNsjzHPwrBgjBn9ds8/EsPCFQqy1UwUG1y01rpUPqUn0H4qZZoBL4XqxzL/rtOdSctKvkKsFf2Fjh7pFO2CSVtMRTvRtqIQVlBBEQPx9+QIMvnjU+g5QrSKLkCnNa2hA9UBnxivIecNzkpAlijiP+9JwXMk/Ao4si6b7DEKJ/Mxes79ba7O/ck8CsZBSA4vOBZboxqvwDojbTqTRRpB9bMcyvdTFlfAtZBFJNrphu2a5sB1bzzbah4IH6WoLgUDi7l4OwoyrvSDTAQeklzMcEx2Ro1uR7Ogcci4HYilp0dy+AT9/pl38AIAAA=="
+ }
+ },
+ {
+ "ID": "4f4f73da0245f272",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/upload/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false\u0026uploadType=multipart",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "multipart/related",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImxhYmVscyI6eyJ0ZXN0IjoiZ28ifSwibG9hZCI6eyJkZXN0aW5hdGlvblRhYmxlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAxMyJ9LCJ3cml0ZURpc3Bvc2l0aW9uIjoiV1JJVEVfVFJVTkNBVEUifX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImJhZG5zMmE2Ujk0cU1EcUdGeFJTa0JNRHIzdyIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K",
+ "YSwwCmIsMQpjLDIK"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "no-cache, no-store, max-age=0, must-revalidate"
+ ],
+ "Content-Length": [
+ "902"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:01 GMT"
+ ],
+ "Etag": [
+ "\"CRkpyt4RXWzE4lvoHDbioIbWdUA/qFUD9S14fSBWTBqL6jZlkwdcMkM\""
+ ],
+ "Expires": [
+ "Mon, 01 Jan 1990 00:00:00 GMT"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Server": [
+ "UploadServer"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin"
+ ],
+ "X-Guploader-Uploadid": [
+ "AEnB2Uq2LpGScI81hWG_bxudjNkicrHFEpIvFlhk4739YxsirO_YWbC-cKOy2jllCYtPgT03q5Jtt8ud_dSchAdpB5Ib8audYg"
+ ]
+ },
+ "Body": "eyJraW5kIjoiYmlncXVlcnkjam9iIiwiZXRhZyI6IlwiQ1JrcHl0NFJYV3pFNGx2b0hEYmlvSWJXZFVBL3FGVUQ5UzE0ZlNCV1RCcUw2alpsa3dkY01rTVwiIiwiaWQiOiJzaG9sbHltYW4tZGVtby10ZXN0OlVTLmJhZG5zMmE2Ujk0cU1EcUdGeFJTa0JNRHIzdyIsInNlbGZMaW5rIjoiaHR0cHM6Ly9iaWdxdWVyeS5nb29nbGVhcGlzLmNvbS9iaWdxdWVyeS92Mi9wcm9qZWN0cy9zaG9sbHltYW4tZGVtby10ZXN0L2pvYnMvYmFkbnMyYTZSOTRxTURxR0Z4UlNrQk1EcjN3P2xvY2F0aW9uPVVTIiwiam9iUmVmZXJlbmNlIjp7InByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJqb2JJZCI6ImJhZG5zMmE2Ujk0cU1EcUdGeFJTa0JNRHIzdyIsImxvY2F0aW9uIjoiVVMifSwiY29uZmlndXJhdGlvbiI6eyJqb2JUeXBlIjoiTE9BRCIsImxvYWQiOnsic2NoZW1hIjp7ImZpZWxkcyI6W3sibmFtZSI6Im5hbWUiLCJ0eXBlIjoiU1RSSU5HIn0seyJuYW1lIjoibnVtcyIsInR5cGUiOiJJTlRFR0VSIn1dfSwiZGVzdGluYXRpb25UYWJsZSI6eyJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTMifSwid3JpdGVEaXNwb3NpdGlvbiI6IldSSVRFX1RSVU5DQVRFIn0sImxhYmVscyI6eyJ0ZXN0IjoiZ28ifX0sInN0YXR1cyI6eyJzdGF0ZSI6IlJVTk5JTkcifSwic3RhdGlzdGljcyI6eyJjcmVhdGlvblRpbWUiOiIxNTcyMjg3NzYwNDgzIiwic3RhcnRUaW1lIjoiMTU3MjI4Nzc2MTA2NSJ9LCJ1c2VyX2VtYWlsIjoidGVzdC1yb2JvdEBzaG9sbHltYW4tZGVtby10ZXN0LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0="
+ }
+ },
+ {
+ "ID": "03535bf9d1b44e09",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/badns2a6R94qMDqGFxRSkBMDr3w?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:01 GMT"
+ ],
+ "Etag": [
+ "9fMO76bx2CXuFfOb8KaraA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKi5JLMksLslMLlayqlZKLkoFcvPzQjJzU5WslAxNzY2MLMzNzQxMLIyVdECKi0rQ5QwNzEyVasGSJaVgU0AskJKgUD8/Tz93pdpaAIxHndZoAAAA"
+ }
+ },
+ {
+ "ID": "3b6f714709e14694",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/badns2a6R94qMDqGFxRSkBMDr3w?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:02 GMT"
+ ],
+ "Etag": [
+ "9fMO76bx2CXuFfOb8KaraA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKi5JLMksLslMLlayqlZKLkoFcvPzQjJzU5WslAxNzY2MLMzNzQxMLIyVdECKi0rQ5QwNzEyVasGSJaVgU0AskJKgUD8/Tz93pdpaAIxHndZoAAAA"
+ }
+ },
+ {
+ "ID": "2ab07b4504675cc1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/badns2a6R94qMDqGFxRSkBMDr3w?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:03 GMT"
+ ],
+ "Etag": [
+ "sXLavZRpATxDVKZU6SI8Ow=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QzWrDMBCE32XPDthybAcfQ1rIIQm46an0oFrbIlAkI60TitG7R+vS0IbcpG9m9m+CQJJ0IN0HaCfoPaavs0d9QmihqBohVk1T58tVCRmbPd1rRV5XSUOr7hUhymVSencaDHLZjotDW2RgnFTcUNthpGdtMHAwmW9g/U0/UCTqRkq4cxcm5Q38ekpGH1J12DuvmOQQMyBH0rwYRztGVVUnl8eA/jwv+RrkV5r3bQIr58EVfsrR0GLQAxptkTf+m47v//Jb9SgT5zPRON+TX1x5c9g/QYxXUiozhG8BAAA="
+ }
+ },
+ {
+ "ID": "90f0dd8e1fd62b02",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0013/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:03 GMT"
+ ],
+ "Etag": [
+ "3lOtnbfXMYJfQqviTcwcww=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8ob5/iX5CWlRfhGeqUFFpZlhiSXJ5eX29oCVZTklyTmBOWXF4OUAflFYGZ0tVIamCwDCicq1epAWAZKtbEgNkIuCS5niCGXDJczAsnF1gIAKKQr4bAAAAA="
+ }
+ },
+ {
+ "ID": "8f8e046c42df9da4",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0013?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:03 GMT"
+ ],
+ "Etag": [
+ "ghJrG2Y2u9RwCjWPqd/mVw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGqRUG1tbCwCcp8mLWAAAAA=="
+ }
+ },
+ {
+ "ID": "14885471cea2e09e",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0013?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:03 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "546ac038ad89c85a",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTQifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:03 GMT"
+ ],
+ "Etag": [
+ "Vrc2NOHDTr0sOMJMkvk0gg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Q3U7CQBCF32W9VXZblJYmXoA0igFqavXGGLK0Q1lpu3V3/SGEd3dawRpRQ/ZiM2fOmfkya7IURUI8MhPp8wuo1ZHhswzIMQHDU9TvVWxPgqtBpJgOxtfj5euSpen5OTpEldMLmWWrnBcnCeTyxIA2XsIN12CmNrO6FrPdaafTZZ2zLmPdNn5TxpjVqvf8Y7FOcYWGbD4SxRIXLYwptUfpDrSVSplmwEuhW7HMv3T6atNSySeIjaa/0NEtnaaHYNIaU9ODaGtTCHNQUMRAvDXZggz/uBRmthC14xCg3Zo6cADVBo8YLyDnFc5cQJZo4j2sScFzJPz8cOSqrKrbKBxOLjHT9F9y3fSHk8i/9EMUcplUQujf+L3IH3yPKIibROhfBOEA6/3VMymzxtgPgpHfm5DNI77jam9/hSfCDiN1OZJFGoH6KYfybVfFCrgRsohEPd86c2zbdZxO23GrNryXQu0b3DZz8LBoyLg2Y5kIRE32ZrhWu4GNev2RXyVkXA9E6e6WbD4AcqnzoE0DAAA="
+ }
+ },
+ {
+ "ID": "83ad23a4ed32277c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "429"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiSU5TRVJUIGRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS50YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDE0IChuYW1lLCBudW1zLCByZWMpXG5cdFx0XHRcdFx0XHRWQUxVRVMgKCdhJywgWzBdLCBTVFJVQ1RcdTAwM2NCT09MXHUwMDNlKFRSVUUpKSxcblx0XHRcdFx0XHRcdFx0ICAgKCdiJywgWzFdLCBTVFJVQ1RcdTAwM2NCT09MXHUwMDNlKEZBTFNFKSksXG5cdFx0XHRcdFx0XHRcdCAgICgnYycsIFsyXSwgU1RSVUNUXHUwMDNjQk9PTFx1MDAzZShUUlVFKSkiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImIxYjBDSEdhUEVuU0hKb1d5eDRHdzd0Z0p3UiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:04 GMT"
+ ],
+ "Etag": [
+ "4sqmJZkdp2ClS3/MPtebqQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41Ta2/aMBT9K5H3oSCFvKDQIKGNoYyCKG2T0GkbE3KMSV0SG2KnHar633eTUPZQaat8iHN9zr3HxyePaM34EnVRxOJtTrPdhzsRIR1RhWOotuQ2HX9fLzfOIAma5sWVotH2utcDBCtY8lYkyS7FvLGkqWgoKlV3FhiRHVmD8yG+8nhwPhZfd79aw4eOiscPPjAlTVYTxtfAv1VqI7um+TzdiIWIE4o3TBpEpIe6ee+Ym0zcUaKk+cJQE1RL85WxHxNBsGKC92YBSMglzRY0xSwBEUWDRiYioT690NpgODViwN8zQjEhIueq0AZdiOArFudZ2Rh1H1Gp9a8FGk0Dzw+1JVZYUrVwLNu1Leds0W67VvvUtSy3Ca+FZVm2oXCU0FcgdkurcZxSXeN5KnUto6Q+53P157npT2ZeoNVO8Imu/bB+6loQ+rNBOM8tq0k+X15OyhWtQdWr1/V/2XOlacCNCq59nPulPwmOkklBdt4aDNYtwVnGS+PC4tyFafsLHh0JVsGqfCwR7/EUKKWrJeFtf9GTDiKYyJiqLi/0/P4gHN14VWQmNMZkF2whNCucSApwyF2424B8dD3z/G+oKvl0RTPKyTuPBYxy9/Xf5jnBAIQMwyCp4BtsJLIYQzJa2cnSQo592nGcs06n3XQ7LirBmfp/r2W3C48OsS060pRytT9TFV/0tB+WywMINv3ZdDqaDmH3N7/exFxFBAAA"
+ }
+ },
+ {
+ "ID": "2528e3efbf7c282f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/b1b0CHGaPEnSHJoWyx4Gw7tgJwR?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "84LSdI+69VCnmMaBR4lTIg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/2VQy07DMBD8l+VIKhVR8YjUQ5taaarSFifAAXFwkk2a4keIHZWo6r+zKYcgIR/WOzuzHs8JPiudgw9pVX612HRXJbrn/sLRttJZKrXRFsEDdKIk5sNkHefR9d3ja6DVk5jziUyicjolhs32qAT4JygqlLkF//0EWigk2aV44Lq67+KER5sQzt4wb5Ud5tEmYSHjBCiT9wBnOzZL2OKvpMFsUHAWbPmC+v9Pp8bIgTjfbtdstoHzBx0PDiblWGCDOsPeed2YA2Yu6kOxeyNlp4Qe5ajMyKF1cFFcpulNOg6WodgxHS9X5q37noTHe1eujr1vaTLhKqOJ+BKTa3DGCTnvaMmuMRlai/2S8e/CwKhaoiMHrmnRg0xQlMvKgV8IaQmgeBZKzoqCvGHOzZF+CLdw/gF37PJYwQEAAA=="
+ }
+ },
+ {
+ "ID": "806bd4526b37c2f7",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/b1b0CHGaPEnSHJoWyx4Gw7tgJwR?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "7JIdIMolJrIzDrLmaj1ftw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7VXf2+jNhj+KhGqdJvUq/wDA0baH7k206otl4pQnabtFLnwpmUjkGHnelXV7z7bQEMISfrHVZXeGr+/7cePnWdHKqEyqbJEOuGzk1SgP8sizlbghA5mPiGB73uU+9w5N8aV6utc7GGtgyLta5iPXa1RpRL5pycF8qYqE5ASUm2FtOa/DVRPJq8d3OSicMK/np1C2DhzhMLRdbHeKG2atT62hqncqYD4QV1Bf56byh5FpiLT1vjbvROiC4Q8l1PWkbw2mkpr4ew4TcX3E07Wwjrp1Us7meqJNirqGtRRW4M6gjFIypXuF3bKxdwNENvKV6s2Mu05tiUfcawzGsfHKjuZz9p0s22dDudqnLaZ5MNmucxhtlG6BosHreDDmvk6y/NXnFSQlFUqI71YuzNfdA4FRZNgLSqhvXKLGdnsiWk5BwXpzZDWwH9jPi5n05s/JvHEzsFaWiD+mxVpo7utVZu7VuucYTQKfxlNx79PFvM4ur2Mfzoj7Hx0Rtyfna8v56fcqXX/ID5oxRnF5mMcReM//94gRJOLiws7AKslRovfEtWto97ZqO7RqG4T1QypGaK3JGB1gsQmYEcTsIGyv0TXQytpls0KbAQxwuxoPBstFnqP7gGhRWnhoaPZeK8kgcPRZSlykAm0PIEP8AS1Qfd5wqXGIzPAmJtktiq9GvvcgYOAYuy9SrLLHIQPUAfBLgkMFzbS3yUOSt+NOQjjvtuR3h51uAeogwWui9lW7lEHH6IOTL2dP9ajDoKHuINQ6nteR/a5w/uB5EHfTB4MHWUPht5KH9FkfNVD/K/RbHoa2SQc1V21uCYHcO26fBDXeuf2cY33cY179x9z92CMe7edNXkf1PYuWsL3UIv7ri1sj7k2haMh4Po88BEmrfR4D7iYDN56h92aZOTgvYfeEbk/6NobwO1hpt5BNN4i+gTznyB90j0aGragX6orobsafE5qHeRZAbYJyMVaq+yJ8DBv36HzvKxPD8XEHKe1PjVZcX9bZEp2MGmXrp1kxlAkKvsGWzvTWTcHZuQdknxtIupdVJl5me83ffB1vdV86qLqTn/oYuIMKnusBytORPIAv2XKCZcil2CQt4QKigTSWNzlUANlXZX/QKKuTWj5UOb500oUH1NYlR91VkNbqVBCQm3RjBdEPxYxIsHC8zjyGEeIU/1vgRAy2FQmvnWwoyPm+teFWaBis7pa5ePlUpcCaVQ+yvbBqVEOKyhU/LQ2jHr9eT6JYr1zQz2/bE/Fc+2pNVezzxPn5eV/zT2XOycNAAA="
+ }
+ },
+ {
+ "ID": "706bb8baeeddb223",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0014/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "7AnLO5LPfaExsuI+fa5vAA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbO+b5+Jv6BKQlulYUl3pqpyWaljk62toCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsA5muVKsDZkH5hkq1sVARZGVpiTnFqSApiCxCIhFNvwF2/SVFpVi1J6NpNyKoPbYWAP2nsZEaAQAA"
+ }
+ },
+ {
+ "ID": "a3d8e2bfa9bc4202",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0014?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "Vrc2NOHDTr0sOMJMkvk0gg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "1c5ed291f4493301",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0014?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "253a4156bd4595e5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "327"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoiZCIsInR5cGUiOiJEQVRFIn0seyJuYW1lIjoidCIsInR5cGUiOiJUSU1FIn0seyJuYW1lIjoiZHQiLCJ0eXBlIjoiREFURVRJTUUifSx7Im5hbWUiOiJ0cyIsInR5cGUiOiJUSU1FU1RBTVAifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTUifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "iCEGhKL92T60QIOimIgP3w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SUW+CMBSF/0v3Om2BCULig25mIcPMKXtaFlPhCp1AGa1zxvjfVxp1U7eFJ9p7z7nn6w1btGRFjDw0Z8n7CqrNlaTzDNA1AkkTVWe3w/v0IXDN0CZP/iPL/WRsrXs9pWC1T6Q8yzY5LVox5LwlQUgvppIKkDOTGK5BzO7Mtl1id1xCXEt9ZoQQo61z/pEYHRUhIFsErFiqoFTKUngYH0DbCedJBrRkoh3x/FjHHyYuK/4GkRT4Fzq8pxO4CSbWmAI3otWiCSyggiIC5G3RHsT/Y1PKs4fQiiZAhxhtaEC1U0uMUshpjbNgkMUCeS9bVNAc6sh63qasj3f9cKjkx5b8boX+6KQVy1PbeV+KU+807I/GaPeqYIpVPtiot6sOQfoa8CIJoTovT/j6cIsqoJLxImR6utFxTLPrOLZ9Y7n1n/pZsupS0LWIozamBBkVcsRjpp4fX85wnB+w/UEwrB080gNV6XmKdl9gDiOeJgMAAA=="
+ }
+ },
+ {
+ "ID": "f404fc1099480976",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "164"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6IjBucDBrTVZXVktNd3dEc3Npa2pFNHB0WEl5ZyIsImpzb24iOnsiZCI6IjIwMTYtMDMtMjAiLCJkdCI6IjIwMTYtMDMtMjAgMTI6MzA6MDAuMDAwMDA2IiwidCI6IjEyOjMwOjAwLjAwMDAwNiIsInRzIjoiMjAxNi0wMy0yMFQxNTowNDowNVoifX1dfQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "50aee77ed10305fb",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "4mwRyGcPntjsq9s9nnsVfw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qb5JYHVbonB+SVZBUXWhZb5uUVh6WV29oCVZTklyTmBOWXFwOVGSjVAgDtIhrCUwAAAA=="
+ }
+ },
+ {
+ "ID": "474e6ef7132e0375",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:06 GMT"
+ ],
+ "Etag": [
+ "iCEGhKL92T60QIOimIgP3w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyUkpR0lEqqSwAMV0cQ1yVanXgUiUIqRBPXxSplBJUbejyJcWoeoNDHH0DlGpja2sB5wvkN44AAAA="
+ }
+ },
+ {
+ "ID": "8bc7f78f38dae130",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:08 GMT"
+ ],
+ "Etag": [
+ "JlGmsv2RwTxUb/iBrQsr4g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p75bjnFpcZBZWHVIQm6Wc6FQUWF5mk29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwobGRia6RoY6xoZKNXqQIQMjayMDawMDPQMQMAMLo5QGoJLiaGJqYWJhZmRiake0LxYIAQA3yIimscAAAA="
+ }
+ },
+ {
+ "ID": "c44869640f24639a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:07 GMT"
+ ],
+ "Etag": [
+ "iCEGhKL92T60QIOimIgP3w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyUkpR0lEqqSwAMV0cQ1yVanXgUiUIqRBPXxSplBJUbejyJcWoeoNDHH0DlGpja2sB5wvkN44AAAA="
+ }
+ },
+ {
+ "ID": "20fd213e7772ef33",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "338"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiSU5TRVJUIGRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS50YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDE1IChkLCB0LCBkdCwgdHMpIFZBTFVFUyAoJzIwMTYtMDMtMjAnLCAnMTI6MzA6MDAuMDAwMDA2JywgJzIwMTYtMDMtMjAgMTI6MzA6MDAuMDAwMDA2JywgJzIwMTYtMDMtMjAgMTU6MDQ6MDUnKSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiMzBFdVRPVzIyQ2Z3NkRLWHRUVzJ5Q1NTZ09EIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:08 GMT"
+ ],
+ "Etag": [
+ "OdpcQIiVoACdnVyK8dgnBw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SYW/aMBD9K5H3gVaCxAlNgEhoYzSaUBGoJNDtEzKOSd0mNo2dVlHV/75zQtmkdW0joYS79+7eu7tndM9FikK049lDxcr6y53coS5immQQXaYHej3jGzmZpmJTXw3TTHx/Go8BwQ1L3co8rwsieikrZE8zpcN1bPdxVCXLG8+b7p+Cy6ufOrnx6mkcZ8tLYCqW7+dc3AP/VuuDCh3ntbudSZnljBy4sqksTnHn0XMOpbxjVCvnjaYOqFbOO22/5pISzaUYr2OQUClWbllBeA4iTIFeKXdSf3ujtM1JYWeAf+SUEUplJbTRBlWoFHueVWVTGIXPqNH61weaLeJolVgp0UQxvfWwO3KxN9wGwQgH/gjjUR9eW4yxa2uyy9k7ENe3ztKupbtWCj+tzq3NZL6OYuusA6Sgh/s9D3e6Vsf1wj4OMbaxeQIT+gOwPsj6Ib4Isd85B38p2OeicZcYccbZcQuz/2zfsFqzDeIzxoHSWG8IHw8BvXRBBJcl1+2Ek2g1mSazTdTudc4yQuv4ATa7J7liAIfjSOoDyEfX62j1C7WhFduzkgn6SVvAaLLv3/brmQEQDg0aKQ3/YYxUmTa0ZO04eWHkuP7A84aDQTD0+j5qwKX+J3eBB5A73ZapyAom9NFTe2Po5disUicQJFfrxWK2+AHZ37Zq8xDqAwAA"
+ }
+ },
+ {
+ "ID": "a6889bef635c5251",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/30EuTOW22Cfw6DKXtTW2yCSSgOD?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:09 GMT"
+ ],
+ "Etag": [
+ "w64RN8LDGjiWcFsF5tQ1Lw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/12Q3U7CQBCF32W8LQmgEtOEC2xBiSDQ1mBivFi201Lcn9qdpmlI392pJhq82sl+55w9O2f4KEwKPhyK/LPGqr3KkXb9EKGrFTk+SmscggdIImdlM7mJnu9W4cOp2MuFW9zSbrRqplNWOHlELcA/Q1agSh34b2cwQiPbUubUlv0YzpI5dN4voj+ULNcXKKVL239O7tIbJ7P1Frr3zoOTPUSYYYVGYl+prOwJJS3737qjVarVwgxS1HZA6Pp32PFNr4fzOtnsx+Mgaybh0ysl+3EbxHG+CVmlrBRUWMPCl5i7AFkS6r7lkG1lJTqHfcjwJzCwulRI3ICqGj2Qgnf0WBD4mVCOL0ytQ61mWcbdMI1sw1uDEXRfNqSr6JoBAAA="
+ }
+ },
+ {
+ "ID": "047e5d13c3a23f56",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/30EuTOW22Cfw6DKXtTW2yCSSgOD?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:10 GMT"
+ ],
+ "Etag": [
+ "eeqHgcTRL3dBHglfyCQYdA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/81W227bOBD9FUPIY1KQlKgbsA9p42ID1HVgu+jDojAYaZyoK0tekW42CPLvnaEk25LltFgkwBoQLHLmzIU8h+KTo40ymTZZop34yUkqwGFZLLI1OLHDZSBEGAR+KFzpnJNzZY5sHgvQBkXat0QhJ5QpjcrfPxrQN1WZgNaQohdDyz9bqB4pr325yVXhxH89OYWyceaMxaPrYrM16Jq1GFvDRHcqkNKtK+jNB4LmH1RmZtTW5Y87J2bvGAt9wfww8qXkgfC4G9ROE209HH4Imqh/fwGyHhaEq5ceZKon2qjs0KGO2jrUEcghKdfYL3TKdT0vFIHc59+5taG9HrKt+SVknZOQD1XWzch3LUYuxyCy8dmtT9hBNdlOo5oFIpS+365WOUy3BquwnECLiAYt802W5zuuVJCUVapnuGDdma+YxEDRbMFGVQpRueWNbiap6RwMpDdDVpLAlgYfppObT+PF2M7BRlsy/p0VaWP7Upu2t63VOeOj+I8R98OQCjoTdiRil8WMKIM/n+ZdmheM+xfMvRBsyMWzUE+GHu6WJ2sL/Zxvz+e7Kr7OrgdqOB+dCXxcfGg/F9PRcolN3QFjy9KuJwaxYXbK4vHoQ6ly0Am04uInxBV4w+KKJCEyWsk5JbPFYLmvJbgOmYjHXb2J/6He/A42OlJbMKg2sW+RgKKvNjmkNo911eb21OYFr6g2/ttqk+xFuUn2u3qbjS+vekT/OJtOfs1sEY/qrlpeixO8DmU0zOtAHPOaH/Oa9zjM/SMW894nwrq8CWk57wosPOIsd4dJ+xKyKdsdom3QFaffp23oD9H2NKrOZVGDtGVvyNpX+kYMcPbocO6QmO9J/N/PeHGoBGQp4G1urbCRwSsX2iDPCrB1Q642aLIC8O2JYe9q87ysxeKKkLSwQZFkxd2XIjP6gIJ2tdpJSY4qMdkP2PtRV4c5kF1vkORbExE3zmR0ez1u+uQNdG95f0ikWxxgMYsMKqviwYoTldzDn5lx4pXKNRDZVlBBkUC6ULc51NzYVOV3SMw1hdb3ZZ4/rlVxkcK6vMCsdEqlyigNtUfzvsTLQsSZCJe+HzFfRoxFLv4t8UJAdDQU3wLs2wvu+PWgBSq266t1frlaYSmQzsqHQ2LDGgqzeNzQAXr9eT6eLXDnhnp+3gvhqUai5Wr6eew8P/8Etxb3cUsMAAA="
+ }
+ },
+ {
+ "ID": "cecec5d4e209f186",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:10 GMT"
+ ],
+ "Etag": [
+ "oGrIUjPFenpUGe38J5rMvw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnuxd5hmYFuKXmFYS6pxpbeJkW+ZaV29oCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsAwobGRia6RoY6xoZKNXqQIQMjayMDawMDPQMQMAMLo5QGoJLiaGJqYWJhZmRiake0LxYkDC9rIqtBQB/LmJ8MgEAAA=="
+ }
+ },
+ {
+ "ID": "5e34c0a7756e2031",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:10 GMT"
+ ],
+ "Etag": [
+ "iCEGhKL92T60QIOimIgP3w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyUkpR0lEqqSwAMV0cQ1yVanXgUiUIqRBPXxSplBJUbejyJcWoeoNDHH0DlGpja2sB5wvkN44AAAA="
+ }
+ },
+ {
+ "ID": "548fb773b2fd966e",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0015?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:10 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "680249a39c8c4b7c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "159"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIDEiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IndoZXJFeFlobzdSSWFtanZxSTk2cXZKMkdPYSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:10 GMT"
+ ],
+ "Etag": [
+ "TwBvc51yO4M6eQFf03UeZQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sb4+aQBDGv0qzfVvln4CYmPaq3IXGehGxzfWNWZYB1wMW2VVrLvfdO4ueadrrpe9g5zfzzDwzT+SR1xkZkZQXuz20p/dbkZIPBBQt8DU5fj4w1zrdD756sLjNTWcFPxbjMRJcZ8mNKMtTReteBpXoKZBqtFr2jxtow58PG+HHEa22h10UeLvDF/vunmKmhDKf8foR8zdKNXJkGC/q/UKIogTacNlnorq+GwfbaFqxBaak8YqogV1L4w3Zj6VgVHFRj1dLbGEvoV1DRXmJTegCvVakQn16pXSf06pfIH/gDChjYl8r3RtWYaLOebFvu8Jk9ES6Xn/7IMtwFk6SdxbCGdbidYcmNC1BY5eRon9YqbOoohLOxDoFsH0vzQLXsgZW7nmuO6SWPwicgAWZO7CZA7bpaI+VluiyaC1qL3AZ862hZdJswFw3TU3fznIPPEz3AjPP7dTx7Zw841AtUAVTLhsh+XkwMonDmyRcR7freRhOwykKHFv+J/U9jhBK4tV8gjQyTcsFYtqIaJ6E8c0kib6FZ/tnUFB2Wu5wATktJaAy7jA5NWgMWazC+IGcn2LIoYWa/adhmNFF3z7Bl2tAEO8BhaTCf1wQk1qm80Avile6Hcv1bXvo+77pOQ7p4Fb9FfM9HbuegK4IFdTqMtP5FMjzRWwvrxAG0bN5NL/D6C8R+8UFkQMAAA=="
+ }
+ },
+ {
+ "ID": "6322e94355d8a56f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/wherExYho7RIamjvqI96qvJ2GOa?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:11 GMT"
+ ],
+ "Etag": [
+ "BxdpyrM1O05FLog7gj2rLQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBCF32W8hQRIlEjChTUVaypIlQtjjFna6Z+7nbI7BZqm7+4UvJo9s9+cOdPBb1ElsIB9kR0atO1NhrwdHhG6RrOTUlPlEEaArDIhvXNSt/Z1upncPoWUzbNyZsPtcimEi3M0ChYdpAXqxMHiq4NKGZSxdPIjBLf1IIL1h7/yI2kYSobGeheGD17oQ//dj6CkfYQpWqxiHNxqSyXGHAxBXU5at0ZV4wQNjRkdw2Xi8nvK0frnz5zmUaBMeTwE93eH48tstVFCaYoVF1QJuHsHWcTESkd0kqQwhX/ttWL6ZilG53AwnVwXPJKpNbIkYtvgCGIl5z4XfNX9HzXb6SFLAQAA"
+ }
+ },
+ {
+ "ID": "94f20514082ef2dd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon695cc71810ad4c55bb072df6e6a17690ff2b372f/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:11 GMT"
+ ],
+ "Etag": [
+ "GWexNmViIavplSMAEOgtCg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8q7h6dW+OWGZXomlhXkBPs6uvqnlzin29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwvXxgIhACzXrDpuAAAA"
+ }
+ },
+ {
+ "ID": "b865fc640bf0c6f5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "161"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIDEuMyIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoic1M0UmJ3SFIzT2ZMZU8xUVpleGFhZWxxcTgxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:11 GMT"
+ ],
+ "Etag": [
+ "zRwl3x/rzBidgYZfBQLmVg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S226bQBCGX6Xa3tbg5WhbitrEpi2S5cgYp0purGUZyCbAYnYdx4ny7hnAsao2qXoHO98//5yeyb2oUjIhici3O2gOn+9kQr4Q0CzH16doX9iPZvN0IdL8+ia7WM7Lq/zsDAnRqtStLIpDyapBCqUcaFB6sl4ZauVEyf5nZF9mc7ikyxt4ZAyK7XZEUamgyOaiukf9rda1mpjmm7uRS5kXwGqhDC7L07v5YJl1I++Aa2W+Y2pi1Rj42PZrITnTQlZn6xWWsFPQbKBkosAi2gSDRiZSf3sntSFYaeTIPwgOjHO5q3RbG2bhsspEvmu6xGTyTLpaf/sgq2AeTONP1LARTzGbqDo4ZkkBLXhsKvxgmK2KaaagJzYJgOV7STp2KXVo5nmuO2LUd8b2mI9T17G4DdbQZqjTrUWnYpWsKHf5kGejhNEsTXji0BHYnjt0/WRs2WyYpL5neU5GXrCtBpiGmVC1VKJvjUyj4DwONuH3zSIIZsEMDfaN+JP6FYUIxdF6MUUamboRErF2FOEiDqLzaRxeBf0C5pAzflhtcQUZKxSgM24xPtQ4GLJcB9E16Z8iyKCBiv/nwFDRR/95hG/3gCBeBBopjf+4IK5am24G7aJE2ZZDXd+yRr7vU8dzSAc3+q+YNxxj7HQEbUYoodLHnvpjIC9Hs506QRjEmS3CxQ+MvgINTuXUkwMAAA=="
+ }
+ },
+ {
+ "ID": "93dd9cfa23fa6c66",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/sS4RbwHR3OfLeO1QZexaaelqq81?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:11 GMT"
+ ],
+ "Etag": [
+ "71y9+62Z5vwbNLDmhaDsHg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/yWPy26DMBBF/2W6LJFC30XKImlaUQmFhjSbVFVlYHikNgY8KUWIf884rOwjn7lzPcBvWaXgQVzmzQnb/ipH2tpLhOYkyfBR68ogOIAkcjYf3f75+uHmcP/XxZtgrQqxNn6+WLBhkgKVAG+ArESZGvC+BqiEQh7L5j9sUF9beAvC5Sej0qnFzT4IlqvgFcbv0YGjjiPMsMUqQZtVt/qICb3bmqbQUvZKVLMUlZ4RGoLLxPS6u4vizo9uwyzA0N0e8F8IlE3z5LIldSKo1BWL+x3wItIkZKQ77glWuPCq59CPVidoDNrQ+bTgRataInEjak/oQCL4s35JE49n0/piG0kBAAA="
+ }
+ },
+ {
+ "ID": "86cc422f0736f093",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon1c5c0cf8ba1fdbcb418e365057b923a0bd76264f/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:12 GMT"
+ ],
+ "Etag": [
+ "9yJIpaHjf1+w8g+bCJ9lQg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pbVnp5FiR6ZKUZapdbpGsnOXtZ5gSm29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwnrGSvVxgIhAJVrFwJwAAAA"
+ }
+ },
+ {
+ "ID": "6a28edf445146345",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "179"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIENBU1QoMS4zICBBUyBOVU1FUklDKSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiN2EyeFNUUWo2SWRScDFTT1MzZk9RN3BYbVlYIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:12 GMT"
+ ],
+ "Etag": [
+ "RYvKFUaeFArqMORStLz+eQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TWW+bQBD+K9b2pVUbYy5jLEWtZZMK1SEyRxs/WcsykHWAJezarRvlv3fAjlW1adQ3duY75uKR3PM6I1OS8uJhB+3hzVak5AMBRQuMhuv9l6uEwtWsfbi+CSO1/PkeVpeXiOAdS96JsjxUtL7IoBIXCqSaJtHQocaPKF5tx34WNnp0E5n5zcppbqv1LTIllPmS1/fIv1OqkVNNe3YfFkIUJdCGyyET1Tmu7Q2tacUWmJLaC6YaVi21V2w/loJRxUV9mURYwk5Cu4GK8hKL6AQuWpEK9ekF6SGn1bBA/J4zoIyJXa262lCFiTrnxa7thcn0kfS1/vZBIm/pzePBfBbFb/WhORjMokGQXHuhP3+HAhnq87qnxzQtoaOe2vT/Md6ORRWVcERsUgDDGaeZa+u6pefjsW1PqO5YrukyN7Mtg5lgjEyKPNVZ9Cxai5qmLjWobpq27kzS1J6MczsfWc7YclkOlgGZO5roE4c8YaMtUAULLhsh+bFZMg+9Wext/KtN4HkLb4EG31v+J+pb6CMoDpNgjmjENC0XCOuG4wexF87msf/VO65kCQVlh+gBl5LTUgI6417jQ4ODIavEC9fkGAohhxZq9p8DQ0afff0sny8EgXgjaCQVvnFBTHY2/Qy6RfGqK0e3HcOYOI5jmLpOenCr/spZpou581l0ilBBrU49Hc+DPJ3MdvIM6v69JAj84DNmfwFzGSZ4pQMAAA=="
+ }
+ },
+ {
+ "ID": "efbbf8c52e45de87",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/7a2xSTQj6IdRp1SOS3fOQ7pXmYX?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:12 GMT"
+ ],
+ "Etag": [
+ "9vJLN2n6Q5FhEy8pQ/afGw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PW0/CQBCF/8v4ChEwgjbhQUjVmgq2lQRjjFna6QX3ZncQm6b/3Sn4NHtmvzlzpoWvSmfgwa4qvg9YNxcFUtQ/YnQHSY6LNdohDABJFEze/jyFq4meRtf3pd/c2OhS5A/H+ZwJl5aoBHgt5BXKzIH33oIWCnksH30yQY3txWrz7MfBkhvKZOdGGN4tQh+6j24Ae7OLMccadYq9m63NHlMK+qCuNFI2SuhhhsoMCR3BaeL0OxOT3+Q12k+DLLbjZJ1c5etoZrfqbcuUNKmgymgGNwnwIjIkZGyOnBTG8K8XDZu+1CZF57A3HZ0XLI2yEokTUX3AAaSCz32s6Ky7P1XeRQlLAQAA"
+ }
+ },
+ {
+ "ID": "19af92fd937f8244",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonab9a2a1335178bb586f5f047649cfe42ed908187/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:12 GMT"
+ ],
+ "Etag": [
+ "hvLBYqVtCaXte/5R5DSPIQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pnlPk4RRaGlTgnRpSk6psGmboEB3gG2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwnrGSvVxgIhAFga5mdwAAAA"
+ }
+ },
+ {
+ "ID": "c354e0039c93a7bf",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "172"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIE5VTUVSSUMgJzAuMjUnIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJYQkdVNHh6NExxUzhaNkRKSFpxalg5OFRNaFYiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:13 GMT"
+ ],
+ "Etag": [
+ "436CKvzFMjVpfVToxL2c8g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXXOaQBT9K5ntQ16qCIKAM06bKklp1Zki2DQvzrJccA2wyK42JpP/3gsap5NJM31hlnvPuefcjydyz8uEDEnMs+0O6sOHjYjJRwKKZhg1+4Px9/3j9WyzrNJlKB6mBnOy0QgRvGHJtcjzQ0HLTgKF6CiQahgturdfbiLz4dGcbhfO3WDy7evddnPrOuFsvUSmhDyd8vIe+WulKjnUtBf1biZElgOtuOwyUZzj2t7QqlpsgCmpvSGqoWupvSP7KReMKi7KUbRACzsJ9QoKynM00RTo1CIW6vMbpbucFt0M8XvOgDImdqVqvGEVJsqUZ7u6LUyGT6T1+teDLLypNw4v5tHMC/zxxWWva1iXyEywMC9bXkjjHBrOqT//H3NtWFRRCUfEKgYw7EGcuJaum3o6GFiWQ3XbdPsucxPLNFgfjF6fIk81Ei2Llmh5kLCEgWM5eqynOrNdI9bthMXU6JtGzzR0140hAfKMHdZAFUy4rITkxy7JOPCuQm/lX6/mnjfxJijwu+avUT8DH0FhEM3HiEZMVXOBsGYq/jz0gqtx6C+94y6mkFF2WGxxGynNJaAyLjQ8VDgY8iPygl/kGAoghRpK9p8DQ0abff8eX04DgXgcKCQV/uOCmGxk2hk0i+JFY0e3bMNwbNvGj0NacK1e5/q9nom58z00FaGAUp16Ot4FeT6J7eQZhEmc2dyf32D2D7vaNkSeAwAA"
+ }
+ },
+ {
+ "ID": "fe0ee3019698b88e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/XBGU4xz4LqS8Z6DJHZqjX98TMhV?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:13 GMT"
+ ],
+ "Etag": [
+ "pmJcnt84JtvgqNpAvB87vQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBCF32W8hQQTopWEC4pEIIVIEUIwxizbaSnuT9sdqrXpuzulXs2e2W/OnKnhKzURjOCUJvkVi+ouQdq0jxDdVZHjklnjEHqAJBImM72UhrzhksokX2eT0vcey814zISTZ9QCRjXEKarIwei9BiM08lg8+GSCqqwV691qFi6m3NA26hpBMPGDGTQfTQ8u9hRijAUaia1bVtgLSlq0Qd3ZKlVpYfoRatsndAS3idvvwX/ZDX9+h0G+9Y4Pz8v5Mb8cnry31XnPlLJSUGoNg7st8CKyJFRovzkp3MO/9is2fS2sROewNR10C6ZWZwqJE1FxxR5IwefOU+p08wcuBbyfSwEAAA=="
+ }
+ },
+ {
+ "ID": "e0573a6f3db3f701",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonf6dcdce8581b1f1c792b17dcba2342042199bede/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:13 GMT"
+ ],
+ "Etag": [
+ "A/8NXo6FaEm2YMDaS+G49g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8o76lv4ReSbuSW65hpF+rokBmu7m1im29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwob6BmZKtXGAiEA1xSA7XEAAAA="
+ }
+ },
+ {
+ "ID": "bbebddcca13227b0",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "162"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFRSVUUiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImVGWkQ3WTQzS1Z1S1J6b0FPaUlaSUpXMGNjWiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:13 GMT"
+ ],
+ "Etag": [
+ "jBy7bR963Bg6IV4C/toHFA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S227aQBCGX6Xa3haMvT5gJNQSMK0bRFVjiMINWq/HzhLbS7zrVDTKu3dsCKraNOqdvfP988/pidyLKiUjkoj8oYH6+H4vE/KBgGY5vu6vjl4S+S69yt1wY08NLb/MJ+MxEqJVqTtZFMeSVb0UStnToPRoverDfDvzbm16vWmuo59y8k2E2/DrzYDzLSoVFNlCVPeov9P6oEaG8eLez6XMC2AHofpclpd349EyDrXcA9fKeMXUwKqV8Ybtx0JypoWsxusVltAoqHdQMlFgEW2CXi0TqT+9krovWNnPkX8UHBjnsql0Wxtm4bLKRN7UXWIyeiJdrb99kFWwCKbxuzhaB8inmE5UHR2zpICWPHcV/mOarYpppuBE7BIAy3OT1HdM0zYz13WcITM926c+91PHtjgFa0AZ6nRr0alYJStqWi71HQo09VNIKfPBTFzbBMfjtp8NbcfN0sxKyDP2VQPTMBPqIJU49UamUTCJg1043y2DYBbM0OBHLf6kbqIQIWx3OUUamUMtJGLtLMJlHESTaRxugtMGFpAzflw94A4yVihAZ1xjfDzgYMj3dRDdktNTBBnUUPH/HBgquujbV/hyEAjiSaCR0viPC+Kqtelm0C5KlG05puNZ1tDzPOoNXNLBtf4rNnQpxi5X0GaEEip97ul0DeT5bNaoC4RBnNkyXH7G6C/YhbGplAMAAA=="
+ }
+ },
+ {
+ "ID": "c8c775ce119daee1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/eFZD7Y43KVuKRzoAOiIZIJW0ccZ?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:14 GMT"
+ ],
+ "Etag": [
+ "hF5EOg7/+nwCjf5WCDdSug=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PYU/CQAyG/0v9KESMEhISPgwYcbIwHUEixpjj1o3h7Tp3Xchc+O924Kfe23v69m0L37lNYAz7PPupsWpuMuTX7hGjqw07KSVZh9ADZJUJeVgM/Sgb3d3a0+yYDrezebKus8lECKcPWCgYt5DmaBIH448WrCpQxtLBlxDclJ2YRlHoeytpFJR0jdUmDL1p6MP589yDI+1jTLFCq7FzKys6ouagC+oOZExTKNtPsKA+o2O4TFx+cbGbj94fH5Zv9TL+JS/Kg13wvB1ovRPKkFackxVwswZZxMTKxHSSpHAP/3raiOlLRRqdw850cF0wo6I0yJKIqxp7oJWc+5TzVZ//ACZTwtdLAQAA"
+ }
+ },
+ {
+ "ID": "895e5593f613b3f7",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon31263953e3d9ded3a9e1b641e57c49f8456fdf2b/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:14 GMT"
+ ],
+ "Etag": [
+ "Xrf5H8p4GeP/MpXndIN69A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pHFKWZelgUmLinBuj7FkTkpXj6mVk62toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwqXFJWmKtXGAiEA/0a8lXEAAAA="
+ }
+ },
+ {
+ "ID": "71e02ae0792f9ee3",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "163"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICdBQkMnIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJzcGdqMlh3TnRyc0Y4dW9RWndBc2lNSGM1cEYiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:14 GMT"
+ ],
+ "Etag": [
+ "PqKewwXdN+y9IYGWeDtt1g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S227aQBCGX6XaXuSiBeMTxkiopWBSK9RqjGmS3qD1euwssb3Guw5CUd69Y0NQ1SZVJS7MzvfPP6cn8sDLhIxJzLNdA/Xh/VbE5CMBRTN8/b67gv3+Ngk+HFz/7vIG5krp2WSCBG9V8l7k+aGgZS+BQvQUSDVer/qyyrbG7T5QtVyMGnH9cz+V/NtXZlcLVErI0yUvH1B/r1Qlx5r24t7PhMhyoBWXfSaK87v2aGhVLbbAlNReMdWwagy8bfspF4wqLsrJeoUlNBLqDRSU51hEm6BXi1ioz6+k7nNa9DPkHzkDyphoStXWhlmYKFOeNXWXmIyfSFfrbx9k5S29WfTuYvpldoGCBPPxssMjGufQoqe2/DfG2aqoohKOxCYGMJxhnLi2rlt6Ohza9ojqjuWaLnMT2zKYCcbApKhTrUWnoqUoB7EzNBOaMhd/4MR6PLQck0KaGjoDOzFSd5TasUmesbEaqII5l5WQ/NgcmYXeNPI2/mITeN7cm6PBvuZ/Ujehj1AUroMZ0shUNReItcPwg8gLp7PI/+EdV7CEjLLDaodLSGkuAZ1xj9GhwsGQ67UX3pHjUwgp1FCy/xwYKo7Rf57hy0UgiDeBRlLhf1wQk61NN4N2Ubxoy9FtxzBGjuNY5sAkHVyrv2KWYWDsfAZtRiigVKeejudAnk9mjTxDGMSZBX5widFfxP0B5pUDAAA="
+ }
+ },
+ {
+ "ID": "8670320015dae37c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/spgj2XwNtrsF8uoQZwAsiMHc5pF?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:14 GMT"
+ ],
+ "Etag": [
+ "z4Lg4AtWFTTOlb2ey96Qyw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PYUvDMBCG/8v5dYM5puhgHzaxblCn6zYURSRNr11rmovNlVLL/rtX66fkIc+996aDr9wmMIc4z75rrNqLDHnXXyL0tWEvhyPrEUaArDIxf2ZhNlvyS3A4PJl4iu3t9a5tFgsxvD5hqWDeQZqjSTzM3zuwqkQZSyefYnDretgfos32QbikpOftMQyXq/Aezh/nERQUR5hihVZjH+YqKlDzpu/pT2RMWyo7TrCkMaNn+JsYXl1WTF+bLVc+uKlp99Ysff641lcuEMuQVpyTFfG4B1nExMpE1EhRuIR/XrUS+lyRRu+xD50MC+6odAZZGnFV4wi0kt+ucx74/AsFQBIbSgEAAA=="
+ }
+ },
+ {
+ "ID": "fd1727ed20e6bc69",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon0b763dafc9fc9e7b1b6473aeff21ce5d2f98f5b3/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:14 GMT"
+ ],
+ "Etag": [
+ "BtqUgTOhmUHTXegWr7oUdg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8o7lRSGpof4Z+SGeoREpKaHF5nnh6ak29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwo7Ojkr1cYCIQCAg1BAcAAAAA=="
+ }
+ },
+ {
+ "ID": "0265ddba6f22f4c5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "178"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIENBU1QoJ2ZvbycgQVMgQllURVMpIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJpR3l4dGNGd0lkMHRzV2VZbjVKcVZQODBIQXkiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:15 GMT"
+ ],
+ "Etag": [
+ "2t5a75k26+WA7RHv8u6SrA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S0W6bQBD8Fev6kFatjTkbA5asltokobKsFnAsP1nHsZCLgXO4c1Iryr93wY5VtWnUN7id2Zmd3SeyFVVKxiQR+f0e6sO7O5mQTwQ0y/GVaovZ1paOPq48O7x+cPajqPYmE0SIhqVuZVEcSlZ1UyhlV4PS42XUE1eHn5pfPgZpX6sVrCvr2/3Nd6d/7R2QqaDI5qLaIv9W650aG8aLei+XMi+A7YTqcVme340HauxqeQdcK+MVUQNdK+MN2c+F5EwLWU2WEVrYK6g3UDJRoImmQbeWidRfXmndE6zs5Yh/EBwY53Jf6cYbduGyykS+r9vGZPxEWq+/fZDIn/vTuDP1ovj9RSblRceLOl/XsR99QH6K7UXVsmOWFNAwT1MG/0i3YTHNFBwRmwSA2qMkdS3THJrZaGRZDjPtoTtwuZtaQ8oHQPsDhjzdSLQsVqFx7qQ0c/qWm4wsCn17OHTMjDrMztKEUZrYnGYumOQZ56yBaZgJtZNKHGcl09D3Yn8TXG4Wvj/zZyjwWIs/UaswQFAcLhdTRCNmVwuJsCabYBH7oTeNgxv/uJE55IwfonvcScYKBaiMa40POwyG/Fj64Zocn0LIoIaK/2dgyGirb1/ly4EgEE8EhZTGf1wQV41Mm0GzKFE2dkzLptSxbXvoDCzSgmv9V821+lg7X0XTEUqo9Gmm43WQ55PYXp1BWMTMFsHiCqu/AI8MWTekAwAA"
+ }
+ },
+ {
+ "ID": "35aedafc33d2b22b",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/iGyxtcFwId0tsWeYn5JqVP80HAy?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:15 GMT"
+ ],
+ "Etag": [
+ "i/lUk1IxYckS0pr2nS/mCg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3WrCQBBG32V6GzEWCkXwwoitllBs0rRIKWXdTOKa/YnZEQ0h796JerV72DPffNtBpWwOU9ip8njCpn0okT6GS4L+pMnzUTvrEQJAEiWbaqyzarK+bGWVhnXzaNOxWZSzGRte7tEImHZQKNS5h+lPB1YY5LEi/GOD2nqAaPu5TBmNywd8z+J4HsVL6H/7AA5ul2CBDVqJQ1bduANKWg81/d5p3RphRzkaNyL0BNeJ66t6bS8kX87rPCT/jVv79Hb82jyHq3nLlnZSkHKWxSwFXkSOhE7cmXvCBO4ctRy6aZxE73EIDW8LFs7UGokbUXPCAKTgz64U3bj/BztM1StJAQAA"
+ }
+ },
+ {
+ "ID": "c13f69754efe00f1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonfc8d2f8059b652e074481f28a7fdba22b7c2f9e1/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:15 GMT"
+ ],
+ "Etag": [
+ "cjTd1Ashk9AiyCldTUt9Wg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8onZ4WkGDoWZ2RbOmZWOuekhISWWIan29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwpH5VqWKdXGAiEAuXln13EAAAA="
+ }
+ },
+ {
+ "ID": "c89c51b1d5fb9507",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "189"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFRJTUVTVEFNUCAnMjAxNi0wMy0yMCAxNTowNDowNSciLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6Ijk3M2ZFbFlUWkQ0RFVZMEJkbGpwVXpNNWs1TyIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:15 GMT"
+ ],
+ "Etag": [
+ "e2IXt3r3ntAXXpTjvmueCw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW4/SQBT+K2R82Beh12mBhChCNU0WVCgKvpDp9LQ70Ha6nYENbva/e1pYYnTd+NbO+W7n8kj2okzIkMQiuz9AfXqzkzF5S0CzDF/BDtfaqZ1Sj9frKtodiwNMHkYjRIiGpe5knp8KVnYTKGRXg9LD1bI38J00yDfRj6k7XW3MD0m+q1Y/Z3RPPyNTQZ7einKP/DutKzU0jGf3XiZllgOrhOpxWVzfjaNtVLXcAdfKeMHUwNTKeMX2XS4500KWo9USIxwU1FsomMgxRCPQrWUs9fsXpHuCFb0M8UfBgXEuD6VusqEKl2UqskPdCpPhI2mz/vZBlsFtMIk6UTgLltF49qVzY5uW1zWdrm12LDo03aFJb1AqQSdRtkIRi3NoRC4Nh/8YdMNimik4I7YxgO17cTKgluVaqedR2meW7w6cAR8k1LW5A7bpMOTpxqJlsVKWScIdb4Bs6rAU+pxT1zJN1/P8lCW+Y8acO7HleuQJW66BaZgKVUklzm2TySIYR8E2/LidB8E0mKLBQy3+RH1fhAiKFqv5BNGIqWohEdaMKZxHwWI8icJvwXk5t5Axflre43pSlitAZ9xwdKpwMOTrKlhsyPlpASnUUPL/HBgy2urrB/p8KwjEa0EjpfEfF8RVY9POoFmUKJo4FvVtu+/7PnU9Slpwrf+q0b6NteuBNIpQQKkvPZ0PhTxdzA7qCsIizmwezj9h9RdUr3uWrwMAAA=="
+ }
+ },
+ {
+ "ID": "95fb4a7629f589e4",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/973fElYTZD4DUY0BdljpUzM5k5O?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:15 GMT"
+ ],
+ "Etag": [
+ "R2ZZ+4ZhyYKisJ8YTVrrTQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U7CQBBF/2V8tCSoEJWEBypNREGhtCatMWZpp7Cw7dbdIaY0/XdnwafZO3vmzp0WDrLKYQQbuf05ommutkgr9wjRHhVZLrWuLIIHSGLLZHibpteDdNckr9K+PCTRhzHRajxmwmY7LAWMWigkqtzC6LOFSpTIY0X/mwlqaiei2SJYR5PFklulzl3rLZ7PJ/48gO6r82CvNyEWaLDK0PnVRu8xo5mLandaqaYUVS/HUvcILcF54vz7eH9XBCqJ0ulgGid9P1f7Oj4thofhO1NKZ4KkrhiM18CLSJNQof7lrHAD/9pv2HRpdIbWojPtXxY86bJWSJyIzBE9yAQf/Czpors/mhapc00BAAA="
+ }
+ },
+ {
+ "ID": "2c9092387bf660e1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonddc369ee253afe8cc541004667fad730bcc3b146/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:16 GMT"
+ ],
+ "Etag": [
+ "ZZYu21RieP64P5ZzIka7eg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pHRUWWGhkGZaYGmJkEmEZVeWYnmqem29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbmFqYWJgZmZjqGSjVxgIhAFxk/CB5AAAA"
+ }
+ },
+ {
+ "ID": "ea2d27a5290eda97",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "224"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFtUSU1FU1RBTVAgJzIwMTYtMDMtMjAgMTU6MDQ6MDUnLCBUSU1FU1RBTVAgJzIwMTYtMDMtMjAgMTU6MDQ6MDUnXSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiakVyR3BVWVNHM2JmVzRlTk5Gd1ZCYTc5ZkNRIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:16 GMT"
+ ],
+ "Etag": [
+ "0Mya8IU2azX5iyMvu0m4Zg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXW+bQBD8K9b1IS+x+QZjyWpdm0RIMUpsnDStKus4FnIOcIQ7O3Kj/Pcu2ImqNk37BrszO3Oz+0TueZWSEUl4/rCFZv9hIxJySkDRHKv6fE+H4cqkP744fD/fbfXS/pqPx4jgLUveiaLYl7Tqp1CKvgKpRqvlYBM05/XqdnluJdmNDVF09nj9mXp+Nr1CpoQiu+DVPfLvlKrlSNNe1Ae5EHkBtOZywET5Wtd2plY3YgNMSe0NUQ1dS+0d2Y+FYFRxUY1XS7SwldCsoaS8QBPtgH4jEqE+vTF6wGk5yBG/4wwoY2JbqdYbTmGiyni+bbrBZPREOq+/fJBlcBFM4963OJwHy3gyv+ydmLrh9nWrb+o9wxnp9kh3Tk57/wB8R7UUzfCq04ppUkCrc8wk/MsuWhZVVMIBsU4ATM9NUt8xDNvIXNdxhtTwbN/ymZ86tsksMHWLIk+1Eh2LVqJivuNTn7q+5VDb9ayUpZZvJEOa6K5vZqmRALMylpBnTKUBqmDGZS0kPyRDpotgEgfr8GwdBcEsmKHAY8N/R90sQgTFi1U0RTRi6oYLhLVJhlEcLCbTOLwODvu7gJyy/fIBN5jRQgIq4xHE+xqDIVerYHFLDqUFZNBAxf4zMGR03fdv+OWcEIgHhUJS4T8uiMlWpsugXRQvWzuG45nm0PM813Rt0oEb9UfPNgzsvd5QOxFKqNTxTYdbIs9Hsa18BWETM4vC6By7PwGM5RFY0gMAAA=="
+ }
+ },
+ {
+ "ID": "e5738af6ffd8d805",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/jErGpUYSG3bfW4eNNFwVBa79fCQ?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:16 GMT"
+ ],
+ "Etag": [
+ "819MqO5nCRR33cplwA+emA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBCF32W8tCQQNEoTLgpW5AIsBTTGGLPdTkvr/pTuNE1DeHem4NXsmf3mzJkT/BUmBR+SIj82WHd3OdKmf8ToGkWOS2WNQ/AASeRMPo8mq+P7o5nH8XgsK9UG96iD6ZQJJw+oBfgnyApUqQP/+wRGaOSxbPjLBHVVL3bLVbjdBauIW9qmfSsOozDYhS9w/jl7UNokxgxrNBJ7v6q2JUpa9lHdwSrVaWEGKWo7IHQE14nrbxnWi2r/tV2Mk+zzAdfr1/ZjJp4m2XzDlLJSUGENg/st8CKyJFRsW84KI/jXs45No9pKdA570+FtwdzqSiFxIqob9EAKPvitoJs+XwA02RmKTQEAAA=="
+ }
+ },
+ {
+ "ID": "01aa5a18e5d62863",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonc959a9a6935a4673dcd391b8ab0692fd1bec3fcb/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:16 GMT"
+ ],
+ "Etag": [
+ "h/p+c3Kb+mBdfNyGpruFnQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pn6BdoJxt7J2nnOqWk+VW6FxSVuuUF2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5FKhiamFiYWZkYmpnoGSrU62ARjwRAArOfkwZYAAAA="
+ }
+ },
+ {
+ "ID": "138fc8da4db90b35",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICgnaGVsbG8nLCBUSU1FU1RBTVAgJzIwMTYtMDMtMjAgMTU6MDQ6MDUnKSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiNkpyU1AxcVFuanJnY0lFUU8wU0lGRlp1cHBZIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:17 GMT"
+ ],
+ "Etag": [
+ "PWv7r46rU9diCHiAfULZwA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SbW+bMBD+K5H3IZvUBEOAhEjVFqV0Y0qzNpBV7ZfImIO6BUxsp1VU9b/vIG01bV01Phnf83J+7h7JnagzMiWpKLY7UPsPtzIlRwQMK/D2/PJ+rFxfrYNMzL+JWb5eXD/Mjo8RIVqWvpFlua9YPcigkgMD2kzX8dD/ruJze3tR36qCR+HFDxpHp6fXu6a5QqaGMl+I+g75N8Y0empZL+7DQsqiBNYIPeSyer237h2rUfIWuNHWG6YWdq2td2w/l5IzI2R9vI6xhZ0GtYGKiRKbaAUGSqbSfHlDeihYNSwQfy84MM7lrjZtb6jCZZ2LYqc6YTJ9JF2vvx1IHC7CedL72L+BspT9o14SnYVxMjs77/UdavsDOho4tGd7U+pOqdf/hKoZmoq600xYWkKr9/z26B+ZtyxmmIYDYpMCOGM/zQLPtl07933PmzB77AajgAeZ5zp8BA4dMeSZ1qJjsVrWaRqkWc4D30td5ud5nrl85OfMm6TUD6g94dTzxpSSJ3y9AmbgROhGanFIgMxX4SwJN9HpZhmGJ+EJGjwo8SfqchUhKFmtl3NEI6ZRQiKsTSxaJuFqNk+in+FhTgsoGN/HW5xUzkoN6IzDTvYNBkMu1uHqihyuVpCDgpr/Z2DI6Krv7+rL2iAQFweNtMF/HBDXrU2XQTsoUbXt2N7YcSZj/OgoIB1Ymb9qju1g7XVXWkWooDbPbzrsDHl6NtvpVxAWMbNltPyK1V+y0B3IugMAAA=="
+ }
+ },
+ {
+ "ID": "f1c09fb77760de4c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/6JrSP1qQnjrgcIEQO0SIFFZuppY?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:17 GMT"
+ ],
+ "Etag": [
+ "+08gTPak/XohbbDj9b7H3A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QyW7CMBCG38U9NqihlbogcWAJJRVLSILURRVynCEkOHawHVUR4t07DgekFvlg/+P/m+1I9rlISY8keXaoQTU3GZiVfYSga240XpUUGohDwNAMnbfucxYHdH/3LndJMi5ekqfpw6DfR4dmOygp6R3JNgeeatL7OhJBS0Bs627QYZrKitAbLcMx6lKmVi/Ws9lgOPMw8p/ctKFN94JHcegvXq/gJ+cvdX+hYn/uRfFgHlwDv/E4pJBJCFtQIBjYMSolC2DGtxvSO8l5U1LRSaGUHQPakJZofx/fVBR0DytRqIz53mrpRv5k8llX1Qe6uGTU5FKgcR1hl8RIQ3kof3BQ0g5m9bDBpIGSDLQGm9Q9FxjJsuJgsCOjanAIo7jnaW7O+vQL00g/EcQBAAA="
+ }
+ },
+ {
+ "ID": "04c67ce3f359af83",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonbb9bdfc965b4a6fffd4c36fa58b069018c055700/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:17 GMT"
+ ],
+ "Etag": [
+ "DWf2CqKOtHFXTtNDtYnmcQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8q7hKcZORd6+5d4uEWElPi5lETm5SYH2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7JCYiplpObk5CvV6kB4hiamFiYWZkYmpnoGSrWxtUAUWwsAdAtlOpUAAAA="
+ }
+ },
+ {
+ "ID": "02d948abc01ca43f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "199"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIERBVEVUSU1FKFRJTUVTVEFNUCAnMjAxNi0wMy0yMCAxNTowNDowNScpIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiI5SlRJMjZZcFRZMktzWWJjTTVJT2Z1SG9mZHoiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:17 GMT"
+ ],
+ "Etag": [
+ "Yxu09UMtBTazcyaBpBfplA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW4+TQBT+K834sJrYAlMuhaTRXlDRtmpLNX1qhmFgZxcYlhlWu5v9756h3cboupEHAud8l3O7R9e8SlGAEp7ftKw5vLgSCXqNmCI5RHc/W9PfLtU0Jnf0QKb1NKuLyXgMCK5Z8lIUxaEkVT9lpegrJlWw3Qz8j3GE3V0d7/AnuUvo0ok+Z+0HkaV3wJSsyBa8ugb+pVK1DAzj0X2QC5EXjNRcDqgoz3HjFht1I64YVdJ4wtSAqqXxjO2bQlCiuKjG2w2U0ErW7FlJeAFFaIF+IxKh3j4hPeCkHOSAv+WUEUpFWyldG6hQUWU8b5tOGAX3qKv1tw+0CRfhLO7NJ3EYR8vwpX5t4snyS+8Cm5bbN4d9bPYsJzDtwHQuXoFoCp686iRjkhRMy51aj/4xcs0iikh2ROwTxrDnJqnvWJZtZa7rOCNiebY/9KmfOjamQ4bNIQGe0hYdi1SiMj3fc/EoSz1vRD3Lo9jFJvbdzLJMNyV25pg+SIzQAzTfMKLYnMtaSH4cAJqtQ+h0H73br8JwHs7B4EfD/0R9X0cAitfb1QzQgKkbLgCmBxat4nA9mcXRt/C4pgXLCT1sbmBRGSkkA2fYdXyoYTDo6zZc79AxtGYZa1hF/3NgwOiyz5/q49UAEO4GjKSCf1gQldqmm4FeFC91OZbjYTzy4HEtG3XgRv2V82wXcudT0YqsZJU69XQ8GfRwMmvlGQRJmNkqWr2H7C/rRtVBuQMAAA=="
+ }
+ },
+ {
+ "ID": "e5b2b4eacfc94dfc",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/9JTI26YpTY2KsYbcM5IOfuHofdz?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:18 GMT"
+ ],
+ "Etag": [
+ "hmmfL34hyyt8dewrxChJ9A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PW2+CQBCF/8v0FRNrL6kkPqA1EYu9KD6QpmnWZRDsLkPZIZYS/3sH7dPsmf3mzJkOvooyBR92xf67wbq92iO/9Y81usawk1JR6RA8QFZ7IXNrs+jmNm9bfkjxWP/M8uU4mEyEcDpHq8DvICvQpA789w5KZVHGsuGnENxWvXgM4nkcrubSsZT2nedtFAXTaA6nj5MHB9qtMcMaS429XVXTATWHfVKXkzGtVeUgRUsDRsdwnjj/jpdxOLpPqjgZPblkp1d34UvWLChLf4UypBUXVAq43YAsYmJl1nSUqHAN/3raiulrTRqdw950eFkwI1sZZEnEdYMeaCX3Lgq+6NMfpLToLUwBAAA="
+ }
+ },
+ {
+ "ID": "b5551bcfb73c63ea",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon0797628fd778c717c2620296f1106da4f5099c98/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:18 GMT"
+ ],
+ "Etag": [
+ "BOqxJjnumc3F2wdr/uajfw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8o7+RdWeGXlleYmG7sZlacU6ZcmZqWV29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZhBiaWhmYWBmYKtXGAiEAdUI0VIAAAAA="
+ }
+ },
+ {
+ "ID": "9aa2747173396412",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "195"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIERBVEUoVElNRVNUQU1QICcyMDE2LTAzLTIwIDE1OjA0OjA1JykiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6InQ3VlpYdW5kRHdUMVRKNXZ6ZFp6MUQzd1ZvcSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:18 GMT"
+ ],
+ "Etag": [
+ "WmLkCQFQDSsL77CDjD5qbw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW2/aMBT+K5X30E0a5IYJQUIbIumUiqIBgW59QY5zkpomMcQGRKv+952EFk1bV+0t8flu5/JEHkSZkD6JRbbdQXX8sJYx+UxAswxfb4vxw2h6NfXnauy6I3/t0218GAwQIWqWupd5fixY2UqgkC0NSvcX87Z2l3c/dmXiHyIruqb7x+Tu0fKdw1JukakgT8eifED+vdYb1TeMV/d2JmWWA9sI1eayOL8be9vYVHINXCvjDVMDUyvjHdsvueRMC1kOFnOMsFNQraBgIscQtUCrkrHUX9+QbgtWtDPE7wUHxrnclbrOhipclqnIdlUjTPpPpMn62weZB+NgFF34wyj4GIU3wTwa3ny/uLRNq9synZZtXli0b3b6Jr38hIIJ+omykYtYnEMt9dJ2+I9x1yymmYITYhUD2G43TjxqWR0r7XYp7THL7XiOx72EdmzugG06DHm6tmhYrJSl68RJ0jOhC7bToVaaupTx1LSAJ6mTdrjVczmlHiXP2HgFTIMv1EYqcWqejGYBdrkKr1aTIPADHw0OlfgTdTsLERTNFpMRohGzqYREWD2scBIFs+EoCpfBaUVjyBg/zre4pJTlCtAZ9xwdNzgYMl0Es5/k9DSDFCoo+X8ODBlN9f0zfb0YBOLNoJHS+I8L4qq2aWZQL0oUdRyLurbdc123Zzs90oAr/VfN8Tysnc+kVoQCSv3S0+lcyPOL2U6dQVjEmU3CyTes/gLAyr4GtQMAAA=="
+ }
+ },
+ {
+ "ID": "a3e1a3f5ebde33bd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/t7VZXundDwT1TJ5vzdZz1D3wVoq?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:18 GMT"
+ ],
+ "Etag": [
+ "iSWojQNy4KVHxvQuAA6DvA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3W6CQBBG32V6q4mkfwmJF1hMbEtMQbSNTdOsMCp02UF2wCLx3Ttor3ZP9sw333bwk5kUXNhku0ONVXuzQw77S4S21mzlKMlYhAEgq52Y2eKd8nDe3r2uZr9NWHveg99447EYNtljocDtYJuhTi24nx0YVaCMbUffYnBb9uB78VSooLSn+TIIvEkwhfPXeQA5bSLcYoUmwT6qrCjHhJ/7lnZPWreFMsMUCxoyWobLxOWVH1frj9qk/jF24pf75pSuT45/e1zRQSxNieKMjIjLBcgiJlY6oqPUBAf+edJK6FtFCVqLfejouuCJilIjSyOuahxAouSvs4yvfP4DguTA70gBAAA="
+ }
+ },
+ {
+ "ID": "dc2cf4102e358449",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon73bdd80e6e23451ff75acf01ecdf3f4c187c5595/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:18 GMT"
+ ],
+ "Etag": [
+ "55aLywss8knVv/Jc8SvVMA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbmib6VJYXF1tk54WV6XslWwSXhfk62toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZKNXGAiEA8IWd+XcAAAA="
+ }
+ },
+ {
+ "ID": "1d1c95863fae2608",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "195"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFRJTUUoVElNRVNUQU1QICcyMDE2LTAzLTIwIDE1OjA0OjA1JykiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImJQN2hzbXFqaVJ3QTFXRzhBVWlIOUJpTWlQbyIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:19 GMT"
+ ],
+ "Etag": [
+ "lShrfmYZ9y9u2bJHws32nQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SWU/bQBD+K2j7QCs18RUfGwm1aeKCUYjAcYroS7Rej50NtjfxbogixH/v2AFUtRT1xVrPfMdcj+Re1BkZklQU2x00hw9rmZLPBDQrMFrOV01e3f2kB7qz08uLvXLs+ubsDBGiZamVLMtDxepeBpXsaVB6uJj302t/partWsT7kXV7HowW4oJ+E1fiWiJTQZlPRX2P/JXWGzU0jBf3fiFlUQLbCNXnsnqNGw+2sWnkGrhWxhumBlatjHdsv5SSMy1kfbaYYwk7Bc0SKiZKLKIV6DUylfrrG9J9wap+gfgHwYFxLne1bmtDFS7rXBS7phMmw0fS1frbg8zDaThOTpLoKvzYfubJ6Or65NQ2La9nOj3bPLHcoTkYmu7pJxTM0E/UnVzC0hJaqee2o3+Mu2UxzRQcEcsUwPa9NKOuZQ2s3PNcN2CWP6AO5TRzBzZ3wDYdhjzdWnQsVss6pRY1cxp4yEuzwAJ/AJmXZabpcJpbjh/YGR2wgDxh4w0wDROhNlKJY/NkHIejJFxG35ezMJyEEzTYN+JP1G0cISiJF7MxohGzaYREWDusaJaE8WicRD/C44qmUDB+mG9xSTkrFaAz7jk5bHAw5GYRxnfkGIohhwZq/p8DQ0aXff9MXy4GgXgzaKQ0/uOCuGptuhm0ixJVW47l+rYd+L4fBL5HOnCj/8pRP8Dc65m0ilBBrZ97Op4LeXo226lXECZxZrNodo7ZX0SaCe+1AwAA"
+ }
+ },
+ {
+ "ID": "58310ba59c94e020",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/bP7hsmqjiRwA1WG8AUiH9BiMiPo?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:19 GMT"
+ ],
+ "Etag": [
+ "zjXAzkuT1Ma2p+A3NXouZA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U7CQBBF/2V8FBLQB7UJD4shQtISrBCJxpilHdotu53SnYaUhn93Cj7tnuyZO3c7OJgyhQB2Jjs2WLd3GfJ7f4nRN5a9HBWVHmEAyDoT81xs1fnQrMeRfqju1eNyS82XmkzE8EmOTkPQwd6gTT0E3x2U2qGM7Ue/YnBb9bBeRDMhR2lPy00Yqmk4g8vPZQAF7WLcY41lgn1UVVOBCS/6lj4na1uny2GKjoaMnuE6cX3drZ5y746FiU9q/Pn2rDZm/jI1kVmRWJYSzYZKETcfIIuYWNuYTlITxvDP01ZCVzUl6D32oaPbgldylUWWRlw3OIBEy1/nhm98+QNS+JF4SAEAAA=="
+ }
+ },
+ {
+ "ID": "c8af0f80e29a40e0",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonb9190f986114bd81e74ed6dd003c9f13782d94a8/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:19 GMT"
+ ],
+ "Etag": [
+ "Dkkf1RAnz70opW6EE5Vizg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8q7ZGenGQY55lWZG+QXhJu5upqGZVal29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbWhmYWBmYKtXGAiEApv30XXUAAAA="
+ }
+ },
+ {
+ "ID": "dd6b02082e1c8063",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "164"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICgxLCAyKSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiZ3pKNndJcmJkS2ZveGJ1ZXpGWXlCZlBMYUZoIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:19 GMT"
+ ],
+ "Etag": [
+ "yu8qsJBhsEZ8IoFXXozS0w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXW/aQBD8K9H1pZUSjL8xEmoTMJUThFowbdIXdD7W5hLbZ3znUIjy37tnCKraNOqbfTuzMzu7T+SBlyvSJwnPNg3Uu3f3IiHnBBTN8HXX9Dby+motwx+9SIxvb8V+3t0OBojgmiXXIs93BS0vVlCICwVS9RfzTra/9rZRnaxuUvEzaWA/vttdpV8mdLxGpoQ8nfDyAflrpSrZN4wX9U4mRJYDrbjsMFGc3o1Hy6hqcQ9MSeMVUQNdS+MN2Y+5YFRxUQ4Wc7TQSKiXUFCeownd4KIWiVCfXmnd4bToZIh/5AwoY6IplfaGXZgoU541dduY9J9I6/W3DzIPJ+EwPntvnp9ZH5Cxwoa8bPExTXLQ2ONc0T/y1CyqqIQDYpkAWL6XrALXNB0z9TzX7VHTdwI7YMHKdSxmg9W1KfKUlmhZtBSl6THbcgLX73q+abte13LsrpMGjudSqwfMcv2km6SMPONkNVAFIy4rIflhOjKchZdxuIzGy2kYjsIRCmxr/ifq+yxCUDxbTIeIRkxVc4EwnUY0jcPZ5TCOvoWHHUwgo2w33+AWUppLQGVcZLyrMBjydRHO7sjhaQYp1FCy/wwMGW317Tt8OQkE4lGgkFT4jwtiUsu0GehF8ULbMV3fsnq+7+vASAuu1V81z9G10x3ojlBAqY4zHe6BPB/FGnkCYREzm0bTz1j9Bej2E9mWAwAA"
+ }
+ },
+ {
+ "ID": "50f3a6216a74e420",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/gzJ6wIrbdKfoxbuezFYyBfPLaFh?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:19 GMT"
+ ],
+ "Etag": [
+ "RVzUTXjXFXOM0fcRvj1/aQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42QTU/CQBCG/8t4LRE8eCDhIFgUrXysYDDGkO12Wlq3ndrdioXw350tBxP1YPaw+86+z3wd4C0tIuhDmCbvNVbNWYJ24R4CTa2t4aukwiB4gFYm7BRP+9Vyna3H69lDN1biI+udy8VgwA6jtphL6B8gTlFHBvovByhkjozF3Q07bFM6IfzRTFyzzilyeroKgqth4HPkN7lpQ5veNz6ZLv0bX/zBH72f2MW/sFc+HmQUCoyxwkKhm6KsKENlJ25BZktaN7ksOhHm1LFoLLRE+5vs7y53kyqM7mP6DGvcj5+bYTwP5HjLLk1K2pQKNq4euUewZKUWtOM5oZ3L6WHDSecVKTQGXdLuqcCI8lKj5Y5sVaMHSvKab1N70scvfozYs8MBAAA="
+ }
+ },
+ {
+ "ID": "fd013e77e0381453",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon16c3249570671356024304f9465a28ec257b0bfc/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:20 GMT"
+ ],
+ "Etag": [
+ "SLqlZudkMQFuOVU9GJOwKQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oH+xTmRJWmZPsGupX6h4Vaunv5l3sH2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7JCYgJV1OpAWEZKtbG1QBRbCwC1aXuHhgAAAA=="
+ }
+ },
+ {
+ "ID": "c80528c33b995230",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "167"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFsxLCAyLCAzXSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiV1djU3lvUmRWUk5uUWppd2VJTkJGV2ZVNkpSIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:20 GMT"
+ ],
+ "Etag": [
+ "4N3bWe4ZCd7zR9/MfzLIKg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S226bQBD9FWv7ahtzB0tWm9qkonWRgnGstqqsZRnIOsASdp3IifLvHbBjVW0a9Yll5lzm9kRueZ2RKUl5cbeH9vBuJ1IyJKBogVErMtMNWN/nmfsY+9rX/HEZfilmM0TwjiVvRFkeKlqPMqjESIFU0/VqvNmw1UHE2XUc1Vc7/gBh9PFyk6+dzzEyJZT5kte3yL9RqpFTTXtxHxdCFCXQhssxE9U5rt0bWtOKHTAltVdMNaxaam/Yvi8Fo4qLerZeYQl7Ce0WKspLLKITGLUiFerDK9JjTqtxgfh7zoAyJva16mpDFSbqnBf7thcm0yfS1/rbg6yCZTBPBj/04cAYDsyfSMpQk9c9JaFpCR381Fr4j5F2LKqohCNimwIYrpNmvq3rlp47jm17VHct3/SZn9mWwUwwJiZFnuosehatRe1bTuroduoZeqpnJvhObuLXtajlwMRyJrrtpSZzyTM21wJVsOCyEZIfGyTzOLhIgm14uY2CYBEs0OCh5X+iNnGIoCReR3NEI6ZpuUBYN5AwSoL4Yp6E18FxDUsoKDus7nAROS0loDPuMjk0OBhytQ7ib+QYiiGHFmr2nwNDRp99+xRfrgKBeBdoJBX+44KY7Gz6GXSL4lVXjm67huG5rjeZeDbpwa36K2foHubOp9ApQgW1OvV0PAnyfDLbyzMIkzizKIw+YfYXCx4k9ZkDAAA="
+ }
+ },
+ {
+ "ID": "1c3ece54abcd8c06",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/WWcSyoRdVRNnQjiweINBFWfU6JR?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:20 GMT"
+ ],
+ "Etag": [
+ "PG4J5YEy3IBXcXyPsNu5fw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y1PwW7CMAz9F+8KEtPGDpU4rFvHyqEqAQZomqaQuqVdGneNKxQh/n0J7GQ/+/m95zP81KaACA519Ttg7+4q5GVoBNpBs/WlI2MRRoAsK8/M54+L6T5xD2m8UzuX22yYlqfZzDOsOmIrITpDWaMuLESfZzCyRX9WTr49g10XQJqtk3ki/KClIgxEkifP6+QVLl+XETR0EFhij0ZhUOt6alBxGoLaI2ntWmnGBbY0ZrQM14vrdrtVK0ei+BCZWTb1CdMsftuWm6dFMNOkJNdkPHGzAm/ExFILOvmkcA//OHZeNO9JobUYRCc3gxdqO43sE3E/4AiU9O++13zDlz++As5TSwEAAA=="
+ }
+ },
+ {
+ "ID": "8652524f8148b3a4",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon946b615b821b1d3e96f31d374a46e0460158b3c7/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:20 GMT"
+ ],
+ "Etag": [
+ "Ie3yN7mzpVfifn8XeJV/IA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7phpX+pnnVhWEpWWm5VlEpHqF6Xs62toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5FAyVodCMsIzjJWqo0FQwCQysZEigAAAA=="
+ }
+ },
+ {
+ "ID": "4eb32ca41d3166a0",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "177"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIChbMSwgMl0sIDMsIFs0LCA1XSkiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImFEUXp6OFY1N2czY3RZZTJ2OWVQMlQ5VWdaZiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:20 GMT"
+ ],
+ "Etag": [
+ "Q8WG3DwnoAg4rMvsVcgZMA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW2/aMBT+K8h72SQgdxIjoQ1BViFR1IZA1VYVcpyT1G0S09hQ0ar/fSdA0bR11d4Sn+92Lq/kUVQp6ZNE5E8bqHdfHmRC2gQ0y/H1Mrg6c8bPlRzmbn2+VUue35wPBwNEiIal7mVR7EpWdVIoZUeD0v3FvMvGly8vwdLzc4fra7C3FC7smC7ymwyZCopsKqpH5N9rvVZ9w3h37+ZS5gWwtVBdLsvTu7G1jXUtH4BrZXxgamBqZXxi+72QnGkhq8FijhE2CuoVlEwUGKIR6NQykfrHB9Jdwcpujvit4MA4l5tKN9lQhcsqE/mm3guT/ivZZ/3tg8zDaTiKW19vrXbLvmu3nHbr1m23vLtvSE9RXVR7csySAhriscnJP4bbsJhmCg6IVQJg+70kpZ5luVbW63lewCzfpQ7lNPVcmztgmw5Dnm4s9ixWySoNTC+xXUo9hhoppabp2BS4ZVucUotaGWSmk7rkDdusgWkYC7WWShxaJaMoHMbhavJzNQvDcThGg+da/Im6iiYIiqPFbIRoxKxrIRHWjGYyi8NoOIony/CwkCnkjO/mT7iSjBUK0Bm3Gu/W0BziIoyuyeEpggxqqPh/DgwZh7Y/Pcr3+0AgXggaKY3/uCCuGpv9DJpFibKJY3m+bQe+H5i9XkD24Fr/VfM9irXTUTSKUEKljz0djoO8Hc026gTCIs5sNpmdYfUXYfhzA6MDAAA="
+ }
+ },
+ {
+ "ID": "b711aea4ee87f1c3",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/aDQzz8V57g3ctYe2v9eP2T9UgZf?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:20 GMT"
+ ],
+ "Etag": [
+ "Orr0QDx8q+DZX24h8PTiFA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RYU/CMBCG/8v50ZHg0AgkfABWlYTAmJtRjCGlu43hto61qIPw372ORBJJjOmH9r2+z931uof3JA+hC8sk3myxrC5i1DNz8FBtU61oK2SuECxAzWNyTsuyOXO+2ptLZ/5sX6/arp/c9Xs9ciixwoxDdw9RgmmooPu6h5xnSFjUXJBDV4URHhtOPYd0JkOjJ8F43B+MGUXOyUUdWlyd8NHEZ/fMO/Eec1nfZw4crN+Y/Qf2U/Yca/2r2hstC9Zy6WGEJeYCzeOLUq5R6JGZq1rJNK0ynjdCzGRDo9JQE/Utd2a7Xfvp5jZuCf2C9kcHXdvvBPE8IlcqBdeJzMkYPFKPoKXmqSc/aTxQj8PoQUVJ3VIKVApN0uaxwFBmRYqaOtLlFi0QnH7nIdFHffgG9tzpl/oBAAA="
+ }
+ },
+ {
+ "ID": "7db4876859f5dd56",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anond805b24995abeed9900329ec121c99191fef03d4/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:21 GMT"
+ ],
+ "Etag": [
+ "4qyaLd1DqyKRS6QBSpw7lQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbFFYm+qQYuhRWegcFmwU6BReUm+cE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7JCYkJIoLpaHQjLSKk2FsY2holCVZnAVZmCVMXWggkAa3ZF1LQAAAA="
+ }
+ },
+ {
+ "ID": "765314c3c87caaf8",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "180"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFsoMSwgMiwgMyksICg0LCA1LCA2KV0iLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkU2SThCeFRpZ2ZwSkx2N2l6Y1NweUNWV0tIeSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:21 GMT"
+ ],
+ "Etag": [
+ "xqFeUDgDXJU/qy1zifgLMw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SYU/bMBD9K5X3BaTS1E7SpJXQxtqwBbpKa1PYNE2V416CIYnT2C0ExH/fJQU0bQztW+J77967d/dAbmSxJiMSy3Szhap+d61i0iVgeIqvd5tTWE7SybezpbWp6b1M0umX2+NjRMiGpa9UltU5L47WkKsjA9qMloteMAj9j3eRTJPybLrz5L1YlPX44vL8c41MDVkylcUN8q+MKfXIsp7Ve6lSaQa8lLonVP7ybu2YVVbqGoTR1iuiFrrW1huy7zMluJGqOF4u0MJWQ7WCnMsMTTQNjioVK/PhldY9yfNeividFMCFUNvCNN6wi1BFItNt1TYmowfSev3tgyyCaTCOOj8OaLfDuh37sNs5cLodt9sZHP7EDmsUkEXLj3icQcN9mjP8R74NixuuYY9YxQDMG8TroUupQ5PBwHV9Tj1naA/FcO06TNjA+jZHnmkkWhYvVDGgzpAJ36bU6yex2/eHtuMBZZ7tQ5/7Doekz8BPyCNOWgE3MJG6VFrupyXjeXASBavwdDULgkkwQYHbSv6JupyHCIrmy9kY0YgpK6kQ1qQTzqJgfjKOwotgv5MppFzUiw1uJeGZBlTGxUZ1icGQr8tg/p3sn+aQQAWF+M/AkNFW377L5xNBIB4JCmmD/7ggoRuZNoNmUTJv7FDXY8z3PJ8yykgLrsxfNZvZWHu5i6Yj5FCYp5n290Een8S2+gWERcxsFs4+YfUXPni496YDAAA="
+ }
+ },
+ {
+ "ID": "b3ad492daf884cea",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/E6I8BxTigfpJLv7izcSpyCVWKHy?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:21 GMT"
+ ],
+ "Etag": [
+ "h/jBTO8OR17M3SPL5+Dg/A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/52RUU/CMBDHv8v56AgiUQgJDwwaQSdgGfpgDCndbRS3da5FnYTv7nU8kOiLMX1o/9f/7+563cOryiPowVolbzssq7ME7YM7cDS71BraCp0bBA/QioScm+bWD2fdGW917tuLeXB1Pkqag36fHEZuMBPQ20OsMI0M9J73kIsMCYsvVuSwVeEEZ8MZH5HOdHTUczYImYv8Jld1aNU64ZNpyG4YP/HTZRAM/IDBwfuJXf4Pa/8Je6HlwVavOcZYYi7RPb4o9Ralnbi5mo1O0yoTeSPCTDcsGgs1Ud+y60nX/wxVEhe3wXtHfclFUQ0fn+7GFblSLYVVOifjckE9gtVWpFx/0HigHofTfkVJ56WWaAy6pBfHAkOdFSla6siWO/RACvqdsbJHffgGE8/kCvoBAAA="
+ }
+ },
+ {
+ "ID": "d531c387927462f1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon61492c831170fb5089347e12738e0a84aef02e8f/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:21 GMT"
+ ],
+ "Etag": [
+ "yKrQ9L28x2wEp084BYagrA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pXehcFWvoYWVQYlbsWGFiYOEUmphc52toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5FIAkB1tToQlhGcZaxUG1sL5SCrNYGrMIWzzMBqY8EQAC6z5IbEAAAA"
+ }
+ },
+ {
+ "ID": "e599b261d68ae194",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "187"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFsoWzEsIDIsIDNdLCA0KSwgKFs1LCA2XSwgNyldIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJ1VFNNNE9NdGR0U1Q3YnZ1dGg3aGRMOU1mUlUiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:21 GMT"
+ ],
+ "Etag": [
+ "BMwT73iECIV2XoQR/GSPyw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW0/bMBT+K5X3AlJp6lzbStXG2gxFaruRpGwTQpXjnKSGJC6xU1Qh/vtOUkDTxtCeEp/zXc7tkdyJKiUTkoj8voH68OFWJqRPQLMco5+XD7FnCX8WXJk/5GVoXETfDg/TKSJEy1JbWRSHklVnKZTyTIPSk3U0aOJoaX9d6lRHsZfsG731tulivMzCNTIVFNlCVHfI32q9UxPDeHEf5FLmBbCdUAMuy9e4sTeNXS1vgWtlvGFqYNXKeMf2YyE500JW03WEJTQK6g2UTBRYRCtwVstE6k9vSA8EKwc54veCA+NcNpVua0MVLqtM5E3dCZPJI+lq/e2HRP7Cn8W965Nr2u+Z/Z510+/Zp/3eybXT77n48E5vUChFH1F1MjFLCmglntsN/jHmlsU0U3BEbBIA03OTdOxQatPMdR1nxKhnj60xH6eObXILzKHFkKdbi47FKlk5PDWzoe16jmnZdATMzXjGbepaoyE1acaGLgNKh+QJG66BaZgLtZNKHJsms9A/j/1N8GWz8v25P0eDh1r8ifoeBgiKw/VqhmjE7GohEdYOKVjFfng+i4Mr/7iaBeSMH6J7XE7GCgXojPuNDzscDLlc++FPcgyFkEENFf/PgSGjy75/ni+XgkC8FTRSGt+4IK5am24G7aJE2ZZDHc80R543ovglHbjWf+VGzhBzr+fRKkIJlX7u6Xgm5OnZrFGvIEzizFbB6gKzvwBaSYn5rQMAAA=="
+ }
+ },
+ {
+ "ID": "4792bc387f13bd5e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/uTSM4OMtdtST7bvuth7hdL9MfRU?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:22 GMT"
+ ],
+ "Etag": [
+ "6jj9a6FpRzqMnoVEP04K3Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32QXU/CMBSG/8vxdiSoBAIJF4BViRsfZXhjDCnbGdvs2rGeaSbhv9uOCxM1phfte/o+5+sEb5mKYQT77HCssWquDkhr9+BoaknGXqVWBsEDJHGwzn6eD0X/vuSfx0DpZ7bq9p5u1+OxdZgoxULA6ARJhjI2MHo5gRIFWizp7qyDmtIJzmZLfmd1oeOLXrFJyFzkN7lrQ7vrb3y+CNkD43/wZ+8ndvMPttj6/mTqMzi/2uNBrvccE6xQReimKCudY0RztyCTaimbQqhOjIXuEBqClmh/63AT9JYBxbQJB/v3mtJBGvvDIOFb65I6EpRpZY3bje0RSJOQXH/YOaGdy+lpY5OuKh2hMeiSdi8FZrooJZLtiKoaPYiEXfNjRhd9/gKs2EHCwwEAAA=="
+ }
+ },
+ {
+ "ID": "bd2595cd460657fa",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon5cd2f0467523418ea6fcfc416380121fa06ae110/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:22 GMT"
+ ],
+ "Etag": [
+ "Lve18g7HfoccPjvTqV5b2w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8r7lKUaWqSbe6TlJycHZJWFFIaZJhmV29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5EYAkDVtToQlhGcZaxUGwtjm4DYUA6mblO4HjMkPeZgPbFgCAAVG3Zr3gAAAA=="
+ }
+ },
+ {
+ "ID": "9b0fb3e54a2be97c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "186"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEFSUkFZKFNFTEVDVCBTVFJVQ1QoWzEsIDJdKSkiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IngwSnB1RU9oTnVzR3ozM3pnS0RtOUJUM0hLQiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:22 GMT"
+ ],
+ "Etag": [
+ "saVQQ1CRTVqlBgCNeVShxA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW0/bMBT+K8h7AQka4tyaSmgracYKKBNp2glNU+W4J6khiUPsMAriv+8kLWjaGNqbfc53ObcnciuqFRmRVOR3LTSbDzcyJYcENMsxqtji6soM4mRxV5zmQQSL2fphfHKCCNGx1FoWxaZk1dEKSnmkQenRfDZ4OD6v2/DrOmrV2aNlPeYXk9I/TawvF6fIVFBkl6K6Rf5a61qNDOPFfZBLmRfAaqEGXJavceOeGnUjb4BrZbxhamDVynjH9mMhOdNCVifzGZbQKmiWUDJRYBGdwFEjU6k/vSE9EKwc5Ii/FxwY57KtdFcbqnBZZSJvm16YjJ5IX+tvDzILL8Mg2RvH8fh6f/eZJfE8SPa/m4d79MfBAeqs0EZUvUrC0gI6hV23039MuWMxzRRsEcsUgHpuuvId07TNzHUdZ8hMz/Ytn/srx6bcAnpsMeTpzqJnsUpWpu24Weq4MDQ96oBPmelnlNqWTR1/BalHue8xNyPP2G8DTMNEqFoqse2ZBHE4TsLl9PMyCsNJOEGDn434E/UtniIIG48CRCOmboREWDejaZSE8ThIpotwu5lLyBnfzO5wNxkrFKAzrjfZ1DgYcjUP42uyDcWQQQMV/8+BIaPPvn+dL4eCQDwVNFIa/7ggrjqbfgbdokTZlWM6HqVDzxtS27VID270XznHpZh7vY5OEUqo9K6n7WGQ551Zq15BmMSZRdPoDLO/AIeOwr6sAwAA"
+ }
+ },
+ {
+ "ID": "dba83faa76bb4d6e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/x0JpuEOhNusGz33zgKDm9BT3HKB?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:22 GMT"
+ ],
+ "Etag": [
+ "LBYDvCm2D6MxDSH5fmFQUg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22Qy07DMBBF/2XYtlKgAolIXZAmNKXQR9ouEEKVm0wexY5DPIGmVf+dcbpgAfLCvuN7Zq59go+iTMCFXZF9Nli3VxnS0h4iNI0kw1ulS4PQAySRsfPZe/W/RurGv3s5+KvwNlWPy002HLLDxDkqAe4J0gJlYsB9O0EpFDKWOlt2UFtZEQWjeeSzVjq56EXwsA5s5S+57Urb6198MlsH4yD6hz+/8+rBXu8iTLHGMkYbp6r1HmOa2JeaXEvZKlH2E1S6T2gIOqK7PThPVRPM81ljxsfB4JhNfXXvrQfh1GOX1LGgQpds3KyAB5EmISP9zYGhC2i113LTRa1jNAZtU+cyYKRVJZE4EdUN9iAW/F9hQRd9/gEnATogjAEAAA=="
+ }
+ },
+ {
+ "ID": "45f3ac1643a9832c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon1456fb56e81725e92a19f22434259deb72c97a6f/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:23 GMT"
+ ],
+ "Etag": [
+ "EribgkzIOJrGXAjsY6Aq3A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8q7FmUmpWdXefp7FblHOGYVR5o5Fho72toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5EYAkDVtToQlpFSbSwQgonYWgAPFC3ulgAAAA=="
+ }
+ },
+ {
+ "ID": "d3c28e701e6a6459",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "158"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIDEiLCJ1c2VMZWdhY3lTcWwiOnRydWV9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiTEpVc1k4MFJFcjVoV0lYMjdFWVZPaE10Vmg0IiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:23 GMT"
+ ],
+ "Etag": [
+ "jHZkLbDlzSumR3hmks37aA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SYY+aQBCG/0qz/VpFFhAxMa1R2tJYmyJ6vX4xyzLAKrAcu1xjL/ffO6BnmvZ66TfYeWbemXfmgRxFlZApiUV210Jzen2QMXlDQLMMXw8fvx9X8bL4uWnL0MrLo7JcNp/NkBBdlsplUZxKVg0SKOVAg9LT7Wa4+rRVt5NR6DdOfhN8o65/u/uSf9a73MZMBUW6EtUR83OtazU1jCf1YSZlVgCrhRpyWV7fjXtq1I08ANfKeEbUwK6V8YLs20JypoWsZtsNttAqaPZQMlFgE12BQSNjqd89U3ooWDnMkL8XHBjnsq101xtW4bJKRdY2fWEyfSB9r799kI2/8hfRKxPhBGuJqkcjFhfQYZeRgn9Y2WUxzRSciX0MQN1xnHiOadpmOh47zoSZru1ZHvcSx6bcAjqyGObpTqLPYpWsOI9dO2E2ZSkyXmryNB2llFKXeqaJRWOXAgWLPOJQDTANS6FqqcR5MLII/Xnk74P3+7XvL/0lCvxoxJ/UTRggFIXb9QJpZOpGSMQ6I4J15IfzRRTs/LP9K8gYP23ucAG6aQGFcYXRqUZfyNetH96S81MIKTRQ8f/0CzP66MsX+HQMCOI5oJDS+I/74aqT6S3o9iTKrh3TcSmduO7EouMJ6eFG/xWzxxRj1wvoKkIJlb7MdL4E8ngRa9UVwiBatg7WHzD6C0lVV56QAwAA"
+ }
+ },
+ {
+ "ID": "e912c77be9f5996c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/LJUsY80REr5hWIX27EYVOhMtVh4?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:23 GMT"
+ ],
+ "Etag": [
+ "2K+htbicSr6uw/FtgSe/bQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PW0+DQBCF/8v4KE2x8ZYmfbAGFcVqQaqNMWZZhktdWNwd0hDCf3dofZo9s9+cOdPDT1mnMIekzH9bNN1JjrQeHyHaVpHl0ujaIjiAJHImZ0+nBSWljMxlu5/eUR7hNFkvFkxYWWAlYN5DVqJKLcw/e6hFhTyWud9MUNeMwl+9efdeyI1Kp2NjFQfBzTLwYPgaHNjpJMQMDdYSR7fG6B1K8segttBKdZWoJylWekJoCQ4Th9/gMbbbazf0zEXx7n/Mrrzt5qV4pk1xzpTSUlCpawbjCHgRaRIq1HtOCmfwr5cdm74aLdFaHE3d44JbXTUKiRORadEBKfjch5KOevgDCeOELksBAAA="
+ }
+ },
+ {
+ "ID": "f9235a108bb6347b",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonccb74da42af2c39f1cff0f22272911e27b72e2e3/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:23 GMT"
+ ],
+ "Etag": [
+ "RCuE/6G28BFNSkm6eGOBEA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oHOZe66pu5G1k4ufkFZ+eapbr7O7k62toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwvXxgIhAFmpeK9uAAAA"
+ }
+ },
+ {
+ "ID": "42251547c3c099a3",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "160"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIDEuMyIsInVzZUxlZ2FjeVNxbCI6dHJ1ZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJUQU53Q1ozeW81d0ZwcXlWUENuZlJkWHFmMnEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:24 GMT"
+ ],
+ "Etag": [
+ "COd2B/d3ZDVQU93Dp8oIcQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S226bQBCGX6Xa3tYcjTGWrNbFpEKy3Bpjt82NtSwD2QRYzC6xUJR374Adq4rSqHew8/3zz+mJPPAqJTOS8PzYQtN9vBcJ+URA0Rxf/e+p9VVP7dvlfrPz7GU9FSHbzOdI8F4l70RRdCWtRimUYqRAqtluq8WL9cm/tTvhnG7qY7f/4VdZlP46ZtYRlRKKbMWrB9TfKVXLma6/uGu5EHkBtOZSY6K8vuuPll434h6YkvobpjpWLfV3bD8XglHFRTXfbbGEVkJzgJLyAovoE4wakQj15Y3UGqelliP/yBlQxkRbqb42zMJElfG8bYbEZPZEhlr/+iDbYBX48QdTsxFPMRuvBjimSQE9eGkq/McwexVVVMKZOCQAljtJUs8xzbGZTSaOM6WmO/Zsj3mpM7aYDZZhU9Sp3mJQ0UpUKEyMDIx0yhzkU8P1PNPNsoxmBnONccImluGljDxjWw1QBUsuayH5uTXiR8EiDg7hzWEdBMtgiQanhr+mfkYhQnG0W/tII1M3XCDWjyJcx0G08ONwH5wXsIKcsm57xBWopgU0xiXGXY1zIZtdEP0m56cIMmigYv85L1QM0fdv8OUcEMSDQCOp8B/3w2RvM4yg3xMv+3JMx7WsqetObc8yyQA36nVsbNgGxq430GeEEip16el8C+T5YtbKK4RBHNk6XH/D6B/RT1cHkgMAAA=="
+ }
+ },
+ {
+ "ID": "55b0259a6cc20c4e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/TANwCZ3yo5wFpqyVPCnfRdXqf2q?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:24 GMT"
+ ],
+ "Etag": [
+ "7AnfuA91DQZFKaWiLZu6Ig=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U6DQBBF/2V8bZNWo0aSPlCU2Ehqi60ajDFbGCh12QF2CCGEf3dofdo92TN37vbwm5sEHDjkWdVg3V1lyNvxEqJtNFs5SjIWYQLIKhPz3jVp4z7MH7eR/6I+8iBq7lbZYiGGjY9YKHB6SHPUiQXnqwejCpSxdPYjBnflCH7w6u4EC0pGXO+DwF0GTzB8DxM40SHEFGs0MY5ZZU0njHk11rRH0rorlJkmWNCU0TKcJ86vO3fdetFNR7etX1bd+8YzaZh8Vul1JZamWHFORsT9G8giJlY6pFZ6whz+edlJ6KamGK3FMXR2WeBRUWpkacR1gxOIlXz2OecLD39rCn+YSQEAAA=="
+ }
+ },
+ {
+ "ID": "bc7b748aa7413711",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonbeeb0fe0d8c5174d079917fffaf0c704bc6209dc/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:24 GMT"
+ ],
+ "Etag": [
+ "7NJewAPixiCWVFoeVMvHlA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qb+3mlljsGZFZkOoeHueWnhvmWeeQ42toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwnrGSvVxgIhAMqsCMxwAAAA"
+ }
+ },
+ {
+ "ID": "b84842b0ee41d973",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "161"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFRSVUUiLCJ1c2VMZWdhY3lTcWwiOnRydWV9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiTUxXVGVhVURiQW0wU01xVjJNOUxUUnpYeXh6IiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:24 GMT"
+ ],
+ "Etag": [
+ "s1bQAZNws5kmhO6IjEDGtQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXW/aMBSG/8rk3Q5CDAkECW0IvCoSUBFCu+0GOc4hGJI4xE47WvW/7yRQNG1dtbvE53nPe76eyUHmMRmSSCbHCsrTx72KyCcChif4qu1oOf6xeNTOIdvduv6eTW/McjRCQtYqvVNpesp43oohUy0D2gzXq/Z8dh8CX0+jcdZZzY93dO7NwuDp2+nnEyo1pNuZzA+o3xlT6KFlvbq3E6WSFHghdVuo7PpuPVCrKNUehNHWG6YWVq2td2w/p0pwI1U+Wq+whEpDuYGMyxSLqBO0ShUp8+WN1G3Js3aC/IMUwIVQVW7q2jCLUPlWJlXZJCbDZ9LU+tsHWbEZm4QfwmDNkI8xncwbOuRRCjV56cr/xzRrFTdcw5nYRAC070ax59h2z966ruMMuN3veV1PeLHTo6ILtNPlqDO1RaPiucophYEbObFL3Y5ti44TC6CucOwe7QoaCeoJN446nLxgXyVwA1OpC6XluTcyCdg4ZBv/62bB2JRN0eCxlH9S94GPELa7mCCNTFFKhVg9C38RsmA8Cf07dt7ADBIuTqsj7sCUFaAxbjE8FTgXslyz4Ds5PwWwhRJy8Z/zQkUTff8IX+8BQbwINNIG/3E/Qtc2zQjqPcmsLsd2+pQO+v1Bz6EuaeDS/BVzHQ9j1yOoM0IGubn0dD4G8nIxq/QVwiCObOEvbjD6CwbD0RWTAwAA"
+ }
+ },
+ {
+ "ID": "8b5957519d01c73e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/MLWTeaUDbAm0SMqV2M9LTRzXyxz?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:24 GMT"
+ ],
+ "Etag": [
+ "L9IdeIlyj0I0Pc/6KSspMg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBCF32W8hVi9MKEJF6AkNm4BC4iJMWa7nZbW/SndIboQ3t0peDV7Zr85c+YE37UtIIa8rvYH7MJNhfTaPzL0B02eS+usRxgAkqyYFKOkwESHJkqipbp9eFn5Nq3GYya82qGREJ+grFEXHuKPE1hpkMfK6IsJCm0vpouFmE3m3DCu6BvzjRCTqZjB+fM8gMblGZbYoVXYu7Wda1BR0gf1O6d1MNIOCzRuSOgJLhOX31Rs1yg3T/nERKt0/3afjsQ6O76H3yNT2ilJtbMMblbAi8iR1Jn74aRwB/96Gth02TmF3mNvGl0XPDrTaiRORN0BB6Akn/tc01Wf/wChp7fwSwEAAA=="
+ }
+ },
+ {
+ "ID": "1200b533f15e864d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon22e86b5d626011c05dce26c51423c2bc29c6db0a/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:25 GMT"
+ ],
+ "Etag": [
+ "h5mkha42Xdz57LSnwSVPiQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pnmOZmZySaGEWkVJma+wTnlQeHBWQG2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwqXFJWmKtXGAiEART5HNnEAAAA="
+ }
+ },
+ {
+ "ID": "0e46b355e9ca3aaf",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "162"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICdBQkMnIiwidXNlTGVnYWN5U3FsIjp0cnVlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImZCYXVteVd2NTlFdlVpZ1dESnRZME5GT0s5eCIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:25 GMT"
+ ],
+ "Etag": [
+ "KH4ockKDjHqQwOC/kNdG3w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SXXOaQBSG/0pne5GbKoIg4IzTGiUJ1SETxDq5cpblSFaBJeyidTL57z2gcTptmukd7Hne856vF7LjRUKGJObpcw3V8fNWxOQLAUVTfJ3dmYLtZtPt3fPD4X6i7YLktn8YjZDgjUo+iSw75rToJJCLjgKphstFd3NN6/y42luut1/ydDX9rh57wc39zP2JSgnZZs6LHeqflCrlUNPe3LupEGkGtOSyy0R+edf2hlZWYgtMSe0dUw2rltoHtl8zwajiohgtF1hCLaFaQ055hkU0CTqViIX69k7qLqd5N0V+zxlQxkRdqKY2zMJEseFpXbWJyfCFtLX+9kEW3tybRJ+uxteTKxQkmI8XLR7ROIMGPbfl/2OcjYoqKuFErGMAwx7EiWvpuqlvBgPLcqhum27fZW5imQbrg9HrU9SpxqJV0UIUcdyzHT1xHWYYVpzEiTNgrtMzHYeafQwlPYfGpg3kFRurgCqYclkKyU/NkUnojSNv7d+sA8+belM0OFT8T2oV+ghF4TKYII1MWXGBWDMMP4i8cDyJ/B/eaQVzSCk7Lp5xCaqqAY1xjdGxxLmQh6UXPpLTUwgbqKBg/zkvVLTRj6/w7SAQxJNAI6nwH/fDZGPTjqDZE8+bcnTLNgzHth2r59qkhSv1V0y3m9jlCpqMkEOhzj2droG8ns1qeYEwiCML/OAWo78AF81IaJQDAAA="
+ }
+ },
+ {
+ "ID": "027faea85f52fe8d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/fBaumyWv59EvUigWDJtY0NFOK9x?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:25 GMT"
+ ],
+ "Etag": [
+ "mM/FwkxZQqtvTLHwuaoXWQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PTW+CQBCG/8v0iik99CCJh9pqtaW0ooZ+pGlWGBDdZZAdVGL47w7a0+6Tfeadd0+wzYsEPFjl2a7GqrnJkGfdJURba7ZylFRYBAeQVSamebsdH7bH79mO9wt/cqgVfUazwUAMG6/RKPBOkOaoEwvezwkKZVDGUvdPDG7KDuaLcBo8CxtKOg6Wvv8w9EfQ/rYObGgVYooVFjF2YWVFG4x52vW0a9K6MaroJWiox2gZLhOX13SoatNE+/v+aL/Ms+jphb/cYPz+2j+KpSlWnFMh4nIOsoiJlQ7pIEXhDv552EjoR0UxWotdqHtd8Eim1MjSiKsaHYiV/HaS85XbM3BbxhpKAQAA"
+ }
+ },
+ {
+ "ID": "4a3a1ce8de7fa983",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonbb0781d98c225bdbd86c980488a43078d08ab47e/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:25 GMT"
+ ],
+ "Etag": [
+ "EYU8rQa2ftujQRgqoUU5Wg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8q7RoZaFAUmGqWVlGYFBqUX5oeGmoan29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwo7Ojkr1cYCIQDzYii+cAAAAA=="
+ }
+ },
+ {
+ "ID": "ae49f1eb750aaf42",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "177"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIENBU1QoJ2ZvbycgQVMgQllURVMpIiwidXNlTGVnYWN5U3FsIjp0cnVlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkdBVm13RmxpUWhocmxMNnBzTVA3VlBDZ290WiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:25 GMT"
+ ],
+ "Etag": [
+ "fq8UN9+En5F4ruTdniwaEQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SYW/aMBD9K5X3oZu2EhJIQpCqjYFbIVFUSGDqviDHHMFtYgfbKUJV//sugVbT1lX7lvjeu/fu3T2RByHXpE9Ske0q0IcP9yolXwhYluHrZtdbTKPPVPpXXV0layn2jM4uLxEhapbZqjw/FExerKFQFxaM7S/i1vVgWeyvcjHbbnU+CUpzcxsub4eZsj+RaSDfTIR8QP7W2tL0HedFvZUpleXASmFaXBWv786j55Ra3QO3xnlD1EHXxnlH9muuOLNCyctFjBYqA3oFBRM5mqgbXGiVKvvtjdYtwYpWhvhHwYFxrippa2/YhSu5EVmlm8ak/0Qar799kJhO6DA5Gw7i5OP5Rqnzs0F89v0uofEn5K+xvZANO2FpDjXzNOX4H+nWLGaZgSNilQJ4YZCuI991u+4mCHy/x9ywG3UiHq39rsc74LU7DHm2lmhYTCoJnShlPOiBF3EObhh2wjRgURoF7a7X5m0WtCPXjTzyjHNqYBZGwpTKiOOsZDing4SuxlerKaUjOkKBvRZ/on7MxwhK5ovpENGIKbVQCKuzGU8TOh8Mk/GSHjcygYzxQ7zDnVhdAQrjVpNDibmQ2YLO78jxaQ4b0CD5f+aFjKb6/lG+3AcC8UJQyFj8x/1wU8s0EdR7EkVtx/VDz+uFYc8P2h5pwNr+XYtCrL0eRd0RCpD2NNPxOMjzSawyryAsYmTT8fQaq78Avo8reaMDAAA="
+ }
+ },
+ {
+ "ID": "79c8e8bb37570da0",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/GAVmwFliQhhrlL6psMP7VPCgotZ?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:25 GMT"
+ ],
+ "Etag": [
+ "d7ZSHCvz0mr21D8cTvZ/NA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBBG32W8hQheiCHhAiqKSSVQfhJrjFm2Q1vc7dTdAVKbvjtT8Gr3ZM98820NP3mRwBB2efp7RFfdpcjL9hKhPxr2cpRUeIQOIKtUzGQQr2bB6a9n3UP/+UmvT/H9fDwaieF1hlbBsIZ9jibxMPysoVAWZWzf+xaDq7KFycd6uhK0lLQ434TheBJOoflqOnCgXYR7dFhobLNKRwfU/NbW9BkZU1lVdBO01GX0DNeJ6+vreGvPLyZfZpkz4WPp3xeD7SJIiWOxDGnFORUiblYgi5hYmYjO0hP68M+TSkIXjjR6j21o77YgIFsaZGnE7ogd0Eo+O8v5xs0FYU2TlEkBAAA="
+ }
+ },
+ {
+ "ID": "da535b357729f06a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anone39bac68e29cce17737b6a9b960420c0a6091192/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:26 GMT"
+ ],
+ "Etag": [
+ "9FV264sQR/PbALLr3jHgtA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pbuoUZmZkUBwbpByQ5+vgUGWd5pJc42toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwpH5VqWKdXGAiEARWiz93EAAAA="
+ }
+ },
+ {
+ "ID": "793acf775966fa51",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "189"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFRJTUVTVEFNUCgnMjAxNi0wMy0yMCAxNTowNDowNScpIiwidXNlTGVnYWN5U3FsIjp0cnVlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IlBUNHpIM3JUTzZKU0pLRUdVeUd0ckpIaW9JSiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:26 GMT"
+ ],
+ "Etag": [
+ "oj/1FZ23HfgvP9daKUPhxg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW0/bMBT+K8h7YJPWJnHuldCGSoAU6Lo23bS9VI5zGgxJXGwX1iH++07SUk0bQ3tLfL7buTySW9EUZEByUd6tQW3e3MicvCdgWImv8sZyTr9T93xZ3k/igl3MJ9c/yqMjRIiWpa9lVW1q1vQKqGXPgDaD+aw/ybyf567KPgWj2egiOZtvzowanQuZjpCpoVpeiuYW+dfGrPTAsp7d+6WUZQVsJXSfy3r/bt1Ta6XkDXCjrRdMLUytrVdsP1SSMyNkczSfYYS1BrWAmokKQ7QCPSVzaT6+IN0XrO6XiL8XHBjnct2YNhuqcNksRblWnTAZPJIu628fZJZcJsPsIEuvkll2fDV5e0htJ+jZbo/aB44/sL2B7R++Q60CrUTTKWUsr6BV2XWc/mPSLYsZpmGLWOQANAzyIvYdx3OWQeD7EXNCL3ZjHhe+R7kL1HYZ8kxr0bFYIxtmB5GXsyjPnTD2GKM2DXkeRr4b0yLMwbXdHLkFecKeFTADJ0KvpBbbvslwmhxnySI9XYyT5CQ5QYMHJf5EfZ2mCMqm8/EQ0YhZKSER1s4pHWfJ9HiYpV+S7XYuoWR8M7vD/Ri1BjTGDWebFc6FfJ4n029k+zSFJSho+H/OCxld9fUDfb4VBOK1oJE2+I/74bq16UbQ7knUbRzHDymNwjAKnCAgHViZv2o0iLC2P5BWEWpozK6n7aGQp53ZWu9BWMSRjdPxGVZ/AbCXVQqvAwAA"
+ }
+ },
+ {
+ "ID": "75ac779a407ed988",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/PT4zH3rTO6JSJKEGUyGtrJHioIJ?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:26 GMT"
+ ],
+ "Etag": [
+ "imeJ7tDArqZ+RhVVqdWfuQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PYU/CQAyG/0v9KCQYjSZL+AC6AHMojIGJxphj6+Dwbt3uuphJ+O924Kfe23v69u0RvnWZQwBbvasbdO3VDnnZPRL0jWEvpaLSI/QAWe2E1BajB34aufr9OtlvNnX+VjTL4VAIn+3RKgiOUGg0uYfg4wilsihjxeBLCG6rTqSzebhKR/OFtCzlXetlHcejcRzC6fPUgwNtEyzQYZlh51c5OmDGsy6q35MxrVVlP0dLfUbPcJ44/y7Su9/prUtf76NV9BxO1u2EXTTVNIuEMpQp1lQKuF6BLGJiZRL6kaxwA/963IrpwlGG3mNnOrgseCRbGWRJxK7BHmRKDp5qvujTHxfT5n1NAQAA"
+ }
+ },
+ {
+ "ID": "171e54c4ce71fdb5",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anona0684ba8bb1794aa2027cb785392d7be303bc3ed/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:26 GMT"
+ ],
+ "Etag": [
+ "nHV+kQHgLgep8nrTR0DWMg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rneYRpZwd6pPukpxZY5BWFBBm4hPum29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbmFqYWJgZmZjqGSjVxgIhAExFsul5AAAA"
+ }
+ },
+ {
+ "ID": "c3bd9ae149a45500",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "195"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIERBVEUoVElNRVNUQU1QKCcyMDE2LTAzLTIwIDE1OjA0OjA1JykpIiwidXNlTGVnYWN5U3FsIjp0cnVlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IlBXaFRoY0V1b3FpVDNQYnpzV3BpM3E2TFBaUSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:27 GMT"
+ ],
+ "Etag": [
+ "/yQA9+xFSrt+P2WHop0dOg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S226bQBD9lWj7kESpzR2Mpai1bNIgOa5j41rti7UsA94EWMwuad0o/94BJ1bVplF5AWbOZW6P5J6XCRmSmGe7Bur9uzsRk/cEFM0wqu1vR/7Fj6tlrS7m5vpaVHryObu8RARvWXIr8nxf0LKXQCF6CqQarpb9+XobbVnQiB2PrHn8U64rbu3c6fzbLTIl5OmUl/fI3ypVyaGmvbj3MyGyHGjFZZ+J4hjXHkytqsUdMCW1V0w1rFpqb9h+yAWjiovycrXEEhoJ9QYKynMsohXo1SIW6uMr0n1Oi36G+AfOgDImmlK1taEKE2XKs6buhMnwkXS1/vZBlsE0GEcnk1EUnEXhTbCMRjfzs1NTN9yebvVM/cRwhro91J3T83NUTNCQl51eROMcWq3nvsN/zLtlUUUlHBCbGMD03DjxHcOwjdR1HWdADc/2LZ/5iWObzAJTtyjyVGvRsWgpSjtm4A1SPRmYvpPYtp/iw3xqWL7lYghfSWrTlDxh5zVQBRMuKyH5oXsyXgTY5ia82syCYBJM0OB7zf9ErRchgqLFajZGNGKqmguEtdMKZ1GwGI2j8Etw2NEUMsr2yx1uSdUNoDHuOdpXOBdyuwoWX8khtIAUaijZf84LGV327TN9uRgE4s2gkVT4j/thsrXpRtDuiRdtOYbjmebA8waub/ikA9fq75zvYe54Jq0iFFCq554O50Kens0aeQRhEkc2C2efMPsL4rXaVrUDAAA="
+ }
+ },
+ {
+ "ID": "a9d7d90df292c82f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/PWhThcEuoqiT3PbzsWpi3q6LPZQ?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:27 GMT"
+ ],
+ "Etag": [
+ "WkzS2GJv8O7v1q+QG8LxbA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0WrCQBBF/2X6WAWt0IrggxZJLcHGqAgtpWw2E7O6ySTZiW0U/92J9mn3sGfu3D3DweQxjCAyu7LGqnnYIS/bS4iutuzkKCh3CB1AVjsxt4fT6sl7Pw4/Xo798nHpDf2/aDIei+F0ipmC0RkSgzZ2MPo6Q64ylLGk9yMGN0ULq3U4X3jCGcUtLza+P5n6M7h8XzqwpyjEBCvMNbZhRUV71Dxve7qUrG0ylXdjzKjL6BhuE7fXYJuuUz2rqTTrQRCd3LYwg/LZDz6XYlnSig3lIm5WIIuYWNmQfqUo9OGfp42EBhVpdA7b0N59wStlhUWWRlzV2AGt5Ldvhu98uQKziqGbSgEAAA=="
+ }
+ },
+ {
+ "ID": "28d1d90c20ebef1a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon4bce78f0d8295d449ffffc9a13936295393df4af/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:27 GMT"
+ ],
+ "Etag": [
+ "xBvEnnVOLs2PlnOpqfxhMQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pXOJW55uWF+fsUGwXk5PkXFKZVZPgG2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZKNXGAiEAlvSoiXcAAAA="
+ }
+ },
+ {
+ "ID": "0a1a092c0b9c4bbd",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "195"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIFRJTUUoVElNRVNUQU1QKCcyMDE2LTAzLTIwIDE1OjA0OjA1JykpIiwidXNlTGVnYWN5U3FsIjp0cnVlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImtnbmNscVY5dW52RHlKUGl6NDdzVGNBak1rTSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:27 GMT"
+ ],
+ "Etag": [
+ "y+hPQKE4Xztg8N4DbXaiqQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SW2/aMBT+K5X30FYb5O4EpGpDkE3ZCmohdN0TcpyT1CWJIXY60ar/fSeBomnrqr2g4PPdzuWJrEWVkiFJRL5toN69u5cJ+UBAsxxfd+/vrq6/he7to86DmTtJbpnYXl9cIEK0LHUni2JXsqqXQil7GpQeLhf9dV7xYnszaKqHye7rlXh0fRXz0f10PUWmgiK7FNUa+Xdab9TQMF7c+7mUeQFsI1Sfy/L4bjzYxqaW98C1Ml4xNTC1Mt6w/VhIzrSQ1cVygREaBfUKSiYKDNEK9GqZSP3pFem+YGU/R/yD4MA4l02l22yowmWVibypO2EyfCJd1t8+yCK8DMfxSRxNw7P2ZxGPpldnp7Zp0Z7p9GzzxPKGpjs0vdPzc1RM0VBUnV7MkgJarUPf0T/m3bKYZgr2iFUCYPs0SQeeZblWRqnnBczy3YEz4IPUc23ugG06DHm6tehYrJIVT8AM/IDSNMuomQK1eOBSL4UMAsp9aieZ5zNnQJ6x8xqYholQG6nEvnsynoejOFxFn1ezMJyEEzT4WYs/Ud/nEYLi+XI2RjRiNrWQCGunFc3icD4ax9FNuN/RJeSM7xZb3JKuG0Bj3HO82+BcyPUynP8g+6c5Zqyh4v85L2R01bfP9OViEIg3g0ZK43/cD1etTTeCdk+ibONYnm/bge8HvutQ0oFr/VeNOh7WjmfSKkIJlT70tD8X8nwwa9QRhEUc2SyafcHqL4AYyFC1AwAA"
+ }
+ },
+ {
+ "ID": "e00639aff7bbd5f2",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/kgnclqV9unvDyJPiz47sTcAjMkM?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:27 GMT"
+ ],
+ "Etag": [
+ "AJe2BAMA8g2yvHUlwpzARg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0W6CQBBF/2X6iok1TdqS+ABtUzVgLIovTdOsy4DAsovsoEHCv3fQPu2e7Jk7d3soc52AC4c8O7XYdA8Z0td4idC2iiwftdEWwQEkkbHprXDme6H3ks268yJWl/rqRdl8zoaVR6wEuD2kOarEgvvdgxYV8lg6/WWDunqE7S5arj+ZK5OMvI6DwPODDxh+BgcKc4gwxQa1xDGsbkyBkpZjT3s0SnWV0JMEKzMhtAS3idtrmWmpTvvXVp/fu9Umvz492530irAM2VJGCsqNZjHeAi8iQ0JF5sJF4RH+2e84dNMYidbiGDq9L3gzVa2QuBE1LTogBf92kdOdhz/Nt2xpSgEAAA=="
+ }
+ },
+ {
+ "ID": "57ad65330c0b17d0",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anoncbe087866dff60de61c8465defe86c762bf57a39/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:28 GMT"
+ ],
+ "Etag": [
+ "l3d8H0EWWjSGZrFLFSnIHQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnGKdYeBi4hodnBbtHFbn5uAXneXoE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbWhmYWBmYKtXGAiEAbxEwWHUAAAA="
+ }
+ },
+ {
+ "ID": "86a734147395b230",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "261"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJJTlQ2NCJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJ2YWx1ZSI6IjEifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6InhJRFRacVVDaUFKNkhBNmNCbkZldG9PS1I1NiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:28 GMT"
+ ],
+ "Etag": [
+ "CDTm0lBumZ6odNjZuH8rGw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SYW+bMBCG/8rkfW1DIMGESNWaJrRlq7KNkE7rNEXGHNQtYGKbdFHV/74D2m7aumqfML7nvffufPfkVlQpmZJE5NsG1P7tjUzIAQHDcrydL+JyWJw05RWV6fLmqjmfqLO7oyMkRKvS17Io9iWrDlMo5aEBbabr1eBHuIivtuu5mL2n5zPKT6pTMPLjh8ilqNRQZBeiukX9tTG1nlrWk/sglzIvgNVCD7gsn++tnWPVSt4AN9p6wdTCqrX1iu27QnJmhKyO1issodGgNlAyUWARbYJDJRNpjl9IPRCsHOTI7wQHxrlsKtPWhlm4rDKRN6pLTKb3pKv1twNZBRfBPH5zvGMF8immE1VHxywpoCUfuwr/Mc1WxQzT0BObBMDxaJL6rm2P7YxS150w2xv7I5/7qTt2+Aic4YihzrQWnYpVsqLM5zY4zKNZOnIye+iPshEM02RC6XhMHddPmDekPnnAvhQwAwuha6lF3xuZR8EsDjbh6WYZBItggQZ3SvxJfYlChOJovZwjjUythESsnUW4jINoNo/Dy6B/gQvIGd+vtvgGGSs0HPRj+8QUK8GA0mT67Z5U+IPqfoL1Uyze1934TPdtc9NxW/ozcMmKpiN2/YHY5OHhOxK4Kb2YfF4H0VfSX0WQgYKK/+eboKKLvr7oTzuHIG4dGmmD/7gDXLc23ZjbXRBdh7brOc7E8yYT23FIByvzV8yxXXLwa9HajFBCZR576hcOW+3NGv0MYRCfZRkuzzD6E5HAkEv3AwAA"
+ }
+ },
+ {
+ "ID": "2a17f360eca5ee13",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/xIDTZqUCiAJ6HA6cBnFetoOKR56?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:28 GMT"
+ ],
+ "Etag": [
+ "bjFADPaTKgSWYpx6Rm3nuQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3W7CMAyF38W7BYlpWi8qcVH+RgdiUEBom6YppG4pS+LSuBpV1XdfArtyjvP5+LiFn8KkEMKxyC81Vs1DjrzxjwRtrdi6UpKxCD1AFrknz7Nosha7Rb49vJfXINFPpt4Mh46w8oRaQNhCVqBKLYSfLRih0Y1lg29HcFN6Ea9205dp4hqaUt9Y7ZfLaLScQvfV9eBMxwQzrNBI9G5lRWeUHPug9kRKNVqYfoqa+oyW4TZx+73Gk93HZT8uotdgHgVyZGbI9LZIngNHKZKCCzIO3G/BLWJioRL6dUnhEf71qHGm64okWovedHBfMCZdKmSXiKsaeyCFO3de8F13fykSBSdLAQAA"
+ }
+ },
+ {
+ "ID": "9bb4227ca5ffd5e8",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon6a9c1e2a76fd32f1093f3e0db866446259ba7069/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:28 GMT"
+ ],
+ "Etag": [
+ "kpceRaS9m0FwAf1HUJInPQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pnFySnBiUGW+YauJU7phl6hHp55gUE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwvXxgIhAEE5v9FuAAAA"
+ }
+ },
+ {
+ "ID": "d8077e6a53eeaf2f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "265"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJGTE9BVDY0In0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiMS4zIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJIZ3RqeTBNNEpwYTJ6UE5scmxRbTdLRjB1OU4iLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:28 GMT"
+ ],
+ "Etag": [
+ "FTtwBPtW+4jcMdWej7jDZA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sb2+bMBDGv8rkvVwb/gQCRIrWLCFbtpS1CWm1TVNkzEGdAqbYpMqqfvcd0GTT1lV7hfH97p678/NAbnkRkyGJeHpXQ7V/vRUROSGgaIq3s1Ddv7tQ12+sLTuPr2HrbKdfx6MRErzJkjciy/Y5LU5jyMWpAqmG61XvQ6q2e/3c+lhS88dFkFXZZe58mum1F2CmhCxZ8OIW82+UKuVQ0w7qvVSINANactljIj/eaztTKyuxBaak9oyohl1L7QXZt5lgVHFRjNYrbKGWUG0gpzzDJpoCp5WIhDp7pnSP07yXIr/jDChjoi5U0xtWYaJIeFpXbWEyfCBtr78dyMpf+JPw1dmOZsjHWI4XLR3SKIOGfJpq/o9tNllUUQkdsYkATGcQxZ5tGJaRDAa27VLDsby+x7zYtkzWB1PvU8xTjUSbRQtsNB5QJ3H1RE8sakQJWJaTOGbfMiwasyRJXM+1YssmjzhXBVTBlMtSSN7NRiZLfxz6m/lsE/j+1J+iwH3F/6Sul3OEwuU6mCCNTFlxgVizi3kQ+svxJJxf+d0LLCClbL+6wzdIaCbhpFvbBa1oDgoqSYbfHkiBP5jdbbA8xMJ92a5PtV8yW3wehwOraf6IXNGsbplddyBGr08eH78jg27pCpDLtb/8QrqrJSRQQcH+810wo42+bPaD7xBE56GQVPiPPmCykWlX3fiBt1MatmOaruO47sCzSQtX6q+Yq+vk5JfZmoqQQ6GeZupMh6N2YrU8QhjEpwnmwXuM/gTvwFPa+wMAAA=="
+ }
+ },
+ {
+ "ID": "ef5cba75941827f1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/Hgtjy0M4Jpa2zPNlrlQm7KF0u9N?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:29 GMT"
+ ],
+ "Etag": [
+ "9Dlos3T948RudU5fIirOZQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U6DQBBF/2V8pQlqjULSh1ZtWkXaYnnRGLOFgYK7DO4OMdj03x1an3ZP9syduwf4qpocQthV5XeHtr8okTfDJUHXaXZytNQ4BA+QVSlm8KDJXW+D8V3S5elNsazs6m0zmYjhsj0aBeEBigp17iB8P0CjDMpY4X+KwX07wDxaTbeChvIB4zSKprPoEY4fRw9q2iVYoMUmwyGrtVRjxsuhptuT1r1RzShHQyNGx3CaOL0uSq57/2X81Kqr33Wsrd6Y2+e53wWxWJoyxRU1IqavIIuYWOmEfqQnXMI/z3oJXVvK0DkcQv3zgnsyrUaWRmw79CBT8tlFxWc+/gHGMk6USQEAAA=="
+ }
+ },
+ {
+ "ID": "22264fd1286e963f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonfd6a7f80f0f4a1bfe447f723414adcfff8984d45/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:29 GMT"
+ ],
+ "Etag": [
+ "fmPDaAW+FhkH9eGHuJzpGg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qn5Qa4JDqGa7tlZHtYprp7lHpVFbin29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwnrGSvVxgIhAFOxj1ZwAAAA"
+ }
+ },
+ {
+ "ID": "8061fbc4bd29c3bd",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "273"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJOVU1FUklDIn0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiMS4zMDAwMDAwMDAifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImpnbUhTQkJsNnBZRmczZk9tWmNXV3dZSWpoRiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:29 GMT"
+ ],
+ "Etag": [
+ "1oVlbEdkfdoUw9Y/M0u3NQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa2+bMBSG/8rkfU1DuIdI1dqmdENq6UpIq2yaImMO1Clgik2iqOp/3wHSbtq6anzB9nnec38iD7xKyYwkPH9sodl/3IiEjAgomuOrLm6LxE8fslQsd95Ku5q0ZnhzfIwE71TyXhTFvqTVUQqlOFIg1Wy5GG/y8svi7Kxw6tVFbmbX5Td2d7dbBZv7C1RKKLJLXj2g/l6pWs407SX6OBciL4DWXI6ZKF/fta2h1Y3YAFNSeyOohllL7Z2wnwrBqOKiOl4uMIVWQrOGkvICk+gcHDUiEerkDddjTstxjvyWM6CMibZSXW7ohYkq43nb9I7J7In0uf52IAv/0p/HH062tEA+RXe86umYJgV05KGq4B/d7FRUUQkDsU4ADNdJUs/WdUvPHMe2p1R3Lc/0mJfalsFMMCYmRZ3qQvQqWomK2WBa5tQ1TcuyPErdiW45ujM17YwmmaXbLmTM9hzyjHU1QBWcc1kLyYfayDzyT2N/HVysQ98/988xwK7hf1J3UYBQHC3DOdLI1A0XiHW9CMLYj07ncXDrDxO4hJyy/eIRZ5DRQsJoaNtX2tASFDSSzL4/kQovqB46WL/Y4n3dt0/1fxIur/womHfJvyK3tGh7ZjsciD42J4ePPD//QBa3ZnBEbpZ+tCLDUwQZNFCx/5wPKnrr+0v/sn8I4gZiIKnwjvvAZBemb3m3F7yvFsdhGFPXnXqGo5MebtRfNtOdkNGvpes8QgmVOtQ0LB+WOgRr5SuERhxRGISf0foTzoFAMQMEAAA="
+ }
+ },
+ {
+ "ID": "8cdcf94b53ee6ddd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/jgmHSBBl6pYFg3fOmZcWWwYIjhF?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:29 GMT"
+ ],
+ "Etag": [
+ "3MQ3YIqcZ2Yc6vRl1FcFeA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3WrCQBCF32V6G0EreBHwwojBQGxrRCSWUtbN5K+72ZidVELIu3diejV7Zr85c6aHn6JKwIVbkd1bbLqXDOk4PiK0rSLLpTaVRXAASWRMLg/HZRzc5fU1lqvfSC186eNmvWbCyhy1ALeHtECVWHA/e6iERh5L599MUFeP4u182EXBlhvaJFMjDDdeuIPha3CgNLcIU2ywkji61Y0pUVIwBrW5UarTopolqM2M0BI8J56/Zab3J89Tqzr2s2X6rq/ycnnEQZn7TCkjBRWmYvB8Al5EhoSKzIOTwgL+tdex6UdjJFqLo+l8WrA1ulZInIiaFh2Qgs/dFzTp4Q+exbZmSwEAAA=="
+ }
+ },
+ {
+ "ID": "88a1b354e410eca1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonc5e34387334449aa7014616835fabf4157efc596/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:29 GMT"
+ ],
+ "Etag": [
+ "c9XTRKCuV7q/0DR2N8afjA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8onW0aEBHk7l4aZF+obuAQZ+VkkpmU52toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwnrGSvVxgIhAIkXbdhwAAAA"
+ }
+ },
+ {
+ "ID": "3b512c73727b1a3c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "263"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJCT09MIn0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoidHJ1ZSJ9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiTWdYNWgwSHpteVlpSFVIVnhkbm9UdFpzNnRpIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:29 GMT"
+ ],
+ "Etag": [
+ "nHk9tTrK51ZxbyVFbEI8vg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41Sa2/TMBT9K8h8bZslTdqk0sRGl9GI0kGbFjaEKse5Sb0ldma7ZWXqf+cm2QaCMfHJj3vOPfdx7skNFykZkYTnt1tQ+9fXMiEdAobm+CsmN4GJ1XvPvrpL9qvzJIz8XX58jAhes/RGFsW+pKKbQim7BrQZLRe9D/kXb3M0+VHuL/lkOVndpULG5koPDEemhiKbcnGD/I0xlR5Z1qN6L5cyL4BWXPeYLJ/+rZ1jVUpeAzPaekbUwqq19YLsm0IyargUx8sFlrDVoNZQUl5gEXWCrpKJNCfPpO5xWvZyxO84A8qY3ApT14ZZmBQZz7eqSUxG96Sp9bcLWYTTcBy/OtnRAvEppuOiQcc0KaBGPnQV/WOaNYsaqqFFrBMAZzhI0sCzbdfOBgPP86k9dIN+wILUcx3WB+eoT5FnaomGRYUUQcb6RxkEWQau4yWua7s+GwyYzTKa2czxXT9NEuqSA/algBo447qSmre9kfE8PI3DdXS+noXhWXiGAt8V/xP1eR4hKJ4vZ2NEI6ZSXCKsnkU0i8P56TiOVmG7gSnklO0Xt7iDjBYaOu3YPlJFSzCgNBl9vScCH8huJ1g9xuJ91YzPNCd5e3ExrSt/iq9osW0Au/ZCjMLjcPiGIPRKSyefluH8krRfc8hAgWD/uRVkNNGXrf7oOgSi71BIG3yjC5iuZZpB127gTY+2N3Qcfzj0A98JSANW5q9Y4AxJ55fV6oxQgjAPPbWWw1Zbsa1+AmEQFzOLZu8w+hMHdwIk+QMAAA=="
+ }
+ },
+ {
+ "ID": "25a24c100d1c987e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/MgX5h0HzmyYiHUHVxdnoTtZs6ti?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:30 GMT"
+ ],
+ "Etag": [
+ "cMe4UxitIviAQT4MMAgf2Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3W7CMAyF38W7BYlNbBeVuCgTUpFaGIxO+9E0hdQtYUncNWajQ333ubAr5zifj49P8Gl8ARFsTfV1wKa9qpBX/WON4WA5SKnJB4QBIKtKSJ3hOD8ann+beLUZZ1lclTeryUSIoHfoFEQnKA3aIkD0dgKvHMpYOfoQgtu6F9PlMp3FC2k4KvrGIk/TeJrOoHvvBrCn7RpLbNBr7N3qhvaoed4HDTuytnXKDwt0NGQMDOeJ829WPd/uRsmva19MkidPx8LThl/DHRuhLGnFhryA+SPIIiZWdk0/khSu4V9PWzF9aEhjCNibji4L7snVFlkScXPAAWgl5yaGL7r7Aw78YW5LAQAA"
+ }
+ },
+ {
+ "ID": "9843d83857eafa00",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon9fc30fe9ffe425b44148c66c1cfaf1c2848dbba4/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:30 GMT"
+ ],
+ "Etag": [
+ "dxSHkKOAd4KsqW0FQm4mZg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qnVAR7ZHv7O6aYeBcXhhu4Beaa5Eal29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwqXFJWmKtXGAiEA9xmoHHEAAAA="
+ }
+ },
+ {
+ "ID": "adc08435ff40d901",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "264"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJTVFJJTkcifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiJBQkMifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IjdHNFM3clM1VlNoZVBqNzhlNU5oYW50QXdTZCIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:30 GMT"
+ ],
+ "Etag": [
+ "X0/LHROGCcSjAGN6gTif/w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sb2+bMBDGv8rkvW1DQvgTIlVrlrIsUsQ6IN2maYqMOYhTsKntpIqqfPcd0HbT1lV7hfH9nnvuzvdAbrnIyZRkvLzbgzq+3cmMnBEwtMTbr0Nr9TH+tJizZDdbRF6Z8sK6v7hAgrcqvZVVdaypOM+hlucGtJmuk4G/cBJfJe5NsoXrnT8BN9pSYWb3SY5KDVWx4uIW9VtjGj21rCf3QSllWQFtuB4wWT/fWwfbapTcATPaesHUwqq19Yrtu0oyargUF+sES9hrUBuoKa+wiDbBuZKZNJcvpB5wWg9K5A+cAWVM7oVpa8MsTIqCl3vVJSbTB9LV+tuBJOEqnKdvLg+0Qj7HdFx0dEqzClrysavlP6bZqqihGnpikwHYvpflgTsaOaPC81x3Qke+E4wDFuSuY7Mx2MMxRZ1pLToVFVJ4OXV9h7pj6jFwAi+bOMU4CNzctQPHoRNgwwwy3yEn7EsBNXDFdSM173sj8zicpeFm+WETheFVeIUG94r/SX2Jlwil8TqaI41Mo7hErJ3FMkrDeDZPlzdh/wIrKCk7Jnf4BgWtNJz1Y7umitZgQGky/f5ABP6gup9g8xRLj003PtN9SZLGy2jR1v5M3NBq3yGH/kBm7+fkdPqBDC5Lryef12H8jfRXMRSgQLD/fBZUdNHXd/1p7RDExUMjbfAf14Dp1qabdLsOvGty5Pq2PfH9YOg6HulgZf6K+Z5Pzn7tWpsRahDmsad+57DV3myvnyEM4stE3aROPwHXrpdr+gMAAA=="
+ }
+ },
+ {
+ "ID": "3ca3a29ac933fd51",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/7G4S7rS5VShePj78e5NhantAwSd?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:30 GMT"
+ ],
+ "Etag": [
+ "w2RCs+V11RWRgVPCk4AvJg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3WqDQBBG32V6WQOxJKQIuTBS0hQRuzbJRSllo+NPsu5ad6yI5N07Jr3aPeyZb74d4VLpDDw4VcVPh+3wUCC9TxeBtlNk+WiMtggOIMmCzf5JBPbx4LriKIpDHFwW/u9bsV6zYdMSawneCHmFKrPgfY6gZY08ls+/2aChmSD5ELtoy1ybbOJoH4b+JnyB69fVgbM5CcyxRZ3iFNa05owp7aaetjRKDbXUswxrMyO0BLeJ2+tqu0hWbbI8JCXG59UzLqNSavL7JGNLmVRSZTSL+wR4ERmSSpiei4IL/7wZODRuTYrW4hQ6vy8ITN0oJG5EbYcOpJJ/+1rRna9/F8V9qEoBAAA="
+ }
+ },
+ {
+ "ID": "2ba376fa2c915191",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon6da574a53a6ce496b84f3995d52944a8ec0beb74/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:31 GMT"
+ ],
+ "Etag": [
+ "pXPF0HaBC9nGh4B2h1toxQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oXRAS4GXgkOjlb5rlnmDgZZRiW5FcE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwo7Ojkr1cYCIQDOHZWmcAAAAA=="
+ }
+ },
+ {
+ "ID": "291a7059bc437e0c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "264"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJCWVRFUyJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJ2YWx1ZSI6IlptOXYifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IjBFRVVUaTBwT0VZaldCNW1wV1JheEJ1c1h3biIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:31 GMT"
+ ],
+ "Etag": [
+ "VQTSvfZeAuxFJfzX06AffQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa2+bMBSG/8rkfW1CICGESNWapu6UKUpXQnqbpsiYA3UKNsUmbVb1v+8AbTZtXbVPvpznPfcncidkTMYkEul9BeXu40ZF5ICAYSn+XpyHy21yA5Pq8fRL8uOqN5wkyfnhIRKiVulblWW7nMlODLnqGNBmvFp2e5SuQtErzuj15vLYzYvLgD0eV/rqQaJSQ5bMhbxD/a0xhR5b1mv0bqpUmgErhO5yle//ra1jFaXaADfaeiOohVlr652wnzLFmRFKHq6WmEKloVxDzkSGSdQOOqWKlDl6w3VXsLybIr8VHBjnqpKmzg29cCUTkVZl45iMn0iT628XsqRzOg0/HG1ZhnyM7oRs6JBFGdTkS1Wzf3SzVjHDNLTEOgJwvGEU+65tD+xkOHTdEbO9gd/3uR+7A4f3wen1GepMHaJRMamkN4y9QeRG4PV9xxv5dhxH0B/a8ShxeBInwNEBA588Y10lMAMnQhdKi7Y2Mg3oJKTr2el6QekJPcEAD6X4k7oMZgiFwWoxRRqZohQKsboXs0VIg8k0nF3QdgJzSBnfLe9xBgnLNBy0bfvKSpaDgVKT8bcnIvGB6raDxast3BVN+0xzkuPrkC7r1PfABcuqhti2F3KT+1vy/PwdIVyWVk/OVzS4Ju1XAAmUIPl/jgUVjfX9XX9dOwRXTYLa4BvXgOs6TNPpeh1EU6Tteo4z8jzftj2fNHBp/rL1bYcc/Nq12iPkIM1LTe3OYaltsErvITTiZBazxWe0/gRH4cGL+gMAAA=="
+ }
+ },
+ {
+ "ID": "0b6cb470a6ff49df",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/0EEUTi0pOEYjWB5mpWRaxBusXwn?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:31 GMT"
+ ],
+ "Etag": [
+ "o5M+5xutMzmwl/SRISxabg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PTU+DQBCG/8t4lEY8cCHpQQyJTVo/oKQ2xpgFphTc3UF2SIuE/+7Qetp9ss+88+4I37UtIYS8rn567IabCvltviToes1OjpasQ/AAWVViUrC5Dc49b37NSd+lySo9q7xaLsVwxRGNgnCEQ426dBB+jGCVQRk7+F9i8NDOEO23cSpoqJzxOVuvH6J1DNPn5EFDeYIH7NAWOGe1HTVY8Gqu6Y6k9WCUXZRoaMHoGC4Tl1c/jrNt7bcv8b7ZRYFpd4k6R717P1mxNBWKa7IiZinIIiZWOqGT9IR7+OdokNDXjgp0Di+h1wWPZFqNLI2469GDQslnn2q+8vQHCZ2xXUkBAAA="
+ }
+ },
+ {
+ "ID": "47ae4302fd9a13a6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon76d74b5be73927891ddbe361d8f2cfdfec9c9ae9/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:31 GMT"
+ ],
+ "Etag": [
+ "6zjPuiNZCcmMgaPqh+EexA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbVWUFlGb6RTkn5/qmJwYUZmi7plY42toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwpH5VqWKdXGAiEAHvgGyHEAAAA="
+ }
+ },
+ {
+ "ID": "0a9e2d776e9ff105",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "289"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJUSU1FU1RBTVAifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiIyMDE2LTAzLTIwIDE1OjA0OjA1KzAwOjAwIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJtWkFCSmhHaE5PQ3RYUW02bFNZVW5Tcm9GVG8iLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:32 GMT"
+ ],
+ "Etag": [
+ "tRJgAEsltOZCoP6L9dKPFA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TW0/bMBT+K8h7HG3sXJtIaHQloEApJUnZYJoq13VTQxKH2O1UVfz3nSTAJsTQnmL7fJdzyx49iHKJArQQ2eOG17tP93KBDhHXNINXHZ9nw1Dl+upuJKfu2F9eTE+HR0eAEA1LrWWe7wpa9pa8kD3NlQ5mSb+4G349X5+tJ1cj/f26cPPkdlYmtTxNJTAVz1djUT4Af611pQLDeHHvZ1JmOaeVUH0mi9d3Y2saVS3vOdPKeMfUgKyV8YHtl1wyqoUsj2YJpLBRvJ7zgoq8KRIEerVcSH38jnRf0KKfAX4rGKeMyU2pm9xAhclyJbJN3QqjYI/aXP86oCQch6P04HhLc8AvQU6ULTqli5w3yOeqon90s2FRTRXvEPMF56bnLpa+Q4hNVq7rOANKPNu3fOYvHdtkFjexRYGnG4uWRUtZuhYZ2K5pOtwjFsM2sSkxfX+AvUaDMUKoRZi/Qk9QV82p5idCVVKJrjY0isNhGs6j0/kkDE/CEzD4VYu3qG9xBKA0nk1GgAZMVQsJsKYX0SQN4+EojW7CbgJjnlG2Sx5hBiuaK37YtW1Ka1pwzWuFgh97VMIF2F0Hq5dYuqva9un2i9LoMkzS4eW0Sf8VdEPzTYvadgdkYuL2sNUz8QFxAmwH2PmMcYAxenr6CUzYok4YXc/C+BZ1TzFf8ZqX7D/nBYw2+vFP8LKPAISNBCOl4Q77wVRj046g2RPRVk8czzQHnucT38WoBdf6bczEno8O/yxho8gLXurnmrplhFI7s416BUEQRjaJJmcQ/Q0apn1ZEwQAAA=="
+ }
+ },
+ {
+ "ID": "cf3ea2b10249c734",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/mZABJhGhNOCtXQm6lSYUnSroFTo?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:32 GMT"
+ ],
+ "Etag": [
+ "wEb4r8g8wAqbe+ZOJubdww=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3WrCQBCF32V6WQULpYjgRSK2VfxNFFpLKZtkTGJ3d+LuhBDEd+9EezV7Zr85c+YCv6XNYARJmZ9rdO1DjrztHhH6WrOXUpH1CD1AVrmQzTR5dsN82ATnBB8P63mdZE0zHgvh0wKNgtEFjiXqzMPo6wJWGZSx4+BHCG6rTuxmy2m8C5YbaRnKutZqv1gE4WIK1+9rD06URHhEhzbFzq9ydMKUZ11UX5DWrVG2n6GhPqNnuE3cfs0hCOfFW7FaT/hja150/Lm3saPXHQmlKVVckhVwH4MsYmKlI2okKzzBvw5bMd04StF77EwH9wUTMpVGlkTsauxBquTg95Lv+voHlDT19U0BAAA="
+ }
+ },
+ {
+ "ID": "9b9a03a9846584be",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon631846225e713c0414a12998076655cc11a31c9f/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:32 GMT"
+ ],
+ "Etag": [
+ "PJzSqkZmDjY51CeDabfgeA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oHeFUFF2ZH5bpkRZoaOgMVJKWlpzra2gJVlOSXJOYE5ZcXA5UZAvlFYGZ0tVIamCwDCZuYWphYmBmZmOoZKNXGAiEAlmZrgXkAAAA="
+ }
+ },
+ {
+ "ID": "97470ee9856725b8",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "374"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7ImFycmF5VHlwZSI6eyJ0eXBlIjoiVElNRVNUQU1QIn0sInR5cGUiOiJBUlJBWSJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJhcnJheVZhbHVlcyI6W3sidmFsdWUiOiIyMDE2LTAzLTIwIDE1OjA0OjA1KzAwOjAwIn0seyJ2YWx1ZSI6IjIwMTYtMDMtMjAgMTU6MDQ6MDUrMDA6MDAifV19fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiamZQcnRyckp1ZG0wbWxnRXF2ckJXbUFiSzczIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:32 GMT"
+ ],
+ "Etag": [
+ "Ua8fssOygsr4QpDmAGK2+g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41Tf0/bMBT8Ksj7E9rmV5smEhpZm6EO6CBNQWiaKid5CYYkTm23U4X63ffiAEKMIaRIiX13757PL4/kgdUZ8UnCivUGxO7LPU/IEQFFC9xd0nEu5c9dIYVz1Uyr4PTMOiyOj5HBWpW842W5q2jdy6DiPQVS+ctF/z6/FEqIH5usMqqyCNdb8e2mCpIz10alhDI/Z/UD6u+UaqQ/GDy79wvOixJow2Q/5dXL/mBrDRrB7yFVcvCO6QC7loMPbL+WPKWK8fp4ucAWNhLECirKSmyiLdATPOHq5J3SfUarfoH8LUuBpinf1KrtDaukvM5ZsRG6MPEfie711QdZhOfhJD442dIS+RmWY7VmxzQpoWU+nWr2nzRbFVVUQsdYJQCWO0oyb2iajpmPRsPhmJqu49le6mVDx0ptsAybok61FlpFa16nrkk9IxmN08y0wLU8xzassWWPaOaMEhibjmPaWQ5kj+cSQBVMmWy4ZN3ZyCQKgzhczb6v5mE4Dado8Eewt6ybaIakOFrOJ8hGTiMYR1qbxWweh1EwiWfXYXcD51DQdLdY4x3ktJRw1MV2SQWtQIGQxP/1SGpcoLpLsHnG4l2j41P6TYIoCm4Rp0LQ3Rssnl2Eizi4uCT7/asK17TcaJrW6FVnuO0AYhnmqGfYPcs4MIe+4fjG8NAwfMPAiD7F+r3H54jgaHYdkatlGN2SbiuCHATU6SeHABUa/fjPeh7y9s9dtEZS4RqHLpWtjb7XdviYjtQcupY1dl3Pcl2HaLJQ/2Bjjb1MdlsRKqjV05m6CdfRttBGvpAQxDmYz+aniP4F7Ftol2gEAAA="
+ }
+ },
+ {
+ "ID": "2c05b964dcd7b199",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/jfPrtrrJudm0mlgEqvrBWmAbK73?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:33 GMT"
+ ],
+ "Etag": [
+ "83dkhuH3Ku7WZ0KbVzyuHA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7DMAyF38XcdlLRLoYq7aKDShvVpNIVJoEQSlv3b0nTJQ6oTH133I0r5zifj48vcGr7EgLI2/rs0Ix3NdLL/EjROkmWy6B7i+ABkqiZfFiWp8Ztl7FbHd/9OH/7Hd02XK+ZsEWDSkBwgapFWVoIPi7QC4U8VvlfTNA4zCLb7aNDFu4Tbildzq00SqIwi55g+pw86HSeYoUG+wJnv8HoDgvazVFto6UclegXJSq9ILQE14nrb1clhox5dqXylayj87fZHFWYx6slU1IXglrdM/h6AF5EmoRM9Q9nhXv415uRTROjC7QWZ1P/tuBRq0EicSIyDj0oBB+8bemmpz/bzJrMTQEAAA=="
+ }
+ },
+ {
+ "ID": "0abf637163c0e021",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonc71a90b68cd12e72943028236ad46be814413dfe/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:33 GMT"
+ ],
+ "Etag": [
+ "qV6Ty3CsePmRIjlSQFwLWg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oXhpmFVBo7F6cG5AZ5ZuUEB7qV+4Sn29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5FKhiamFiYWZkYmpnoGSrU62ARjwRAA2mrJiJYAAAA="
+ }
+ },
+ {
+ "ID": "531f33a22b0b1228",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "289"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJEQVRFVElNRSJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJ2YWx1ZSI6IjIwMTYtMDMtMjAgMTU6MDQ6MDUuMDAwMDAzIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJ0RUhoNXBSakJQUjNWQ0lDS082WHlHc1dTcmsiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:33 GMT"
+ ],
+ "Etag": [
+ "RXC7X9hj/Ft5Q+5/2gKyFQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41Ta2+bMBT9K5X3cU14GgJStHaEdqhd1hDSdpqmyBhDnAKm2MkUVf3vu0DbTVtXjS/Y955zz335Ad3xOkM+Snlxv2Pt4d1WpOgYMUUKsMa3gXvrbbbamcKL91gzi4vD2WI6BQTvWHIjyvJQkXqUsUqMFJPKXy3HKvy0wU28/XgVW9dBFFx8cW4P5/Jm2d4BU7Iyv+T1HfA3SjXS17Rn9XEhRFEy0nA5pqJ6sWt7U2tasWVUSe0VUQ2yltobsh9KQYniop6ulpDCTrJ2zSrCS0iiCzBqRSrUySuhx5xU4wLwe04ZoVTsatXlBlGoqHNe7No+MPIfUJ/rbwe0DC/DIDk62ZMS8BmE43WPTkhasg75VFX0j252LKKIZANinTJmuk6aedgwbCN3HIwnxHBtz/Kol2HbpBYzdYsAT3USPYvUonb1zLUc1zYJNXHm5baNU+aAhTguBLWc1LJyOsHoEepqGVFsxmUjJB9qQ0EcnibhOjpbz8NwFs5A4EfL/0TdxBGAkng1DwANmKblAmBdL6J5EsanQRJdh8MELllB6GF5DzPISSnZ8dC2K9KSiinWSuR/e0A1XIA9dLB59iWHpm+f6v9oBmpJ9Dnssn/BXJNy14P2wwGZuuGMdGtk6kcG9nXb1/FY7z4LPT5+Byps0RAYLVZh/BUNppjlrGU1/c95AaP3vv0InvcRgLCRICQV3GE/qOxk+hF0e8L76g3smubEdT3LdCaoB7fqL5/lYXT8awm7iKxitXqqaVhGKHUQ28kXUPfSV/N5ND8H70+MoY2fEwQAAA=="
+ }
+ },
+ {
+ "ID": "eb0bcbc6d2d530a6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/tEHh5pRjBPR3VCICKO6XyGsWSrk?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:33 GMT"
+ ],
+ "Etag": [
+ "nx1vnOWlIZlpLTw4I5vkpw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PQU/CQBCF/8t4hQSieCDhQGsjjVWwFDEaY5btFArb3bU7pTaE/+4seJp9s9+8eXOCQ6lzGMOm3P40WHc3W6RX/0jRNYocF2u0Q+gBktgyqX+HRz1fq/hD2SRr7+LR8WDbyYQJJ3dYCRifoChR5Q7GnyfQokIeKwbfTFBnvXiYZlEWP0fcqUzuOy+rJJkGSQTnr3MP9maTYoE1aoneztZmj5Jin9TtjFJdJXQ/x8r0CR3BZeLyS9FsN7LpPlikt29hHD7N79+7R7de1gemlJGCSqMZXC2BF5EhoVLTclQYwr8OOjZd1Eaic+hNB9cFoamsQuJEVDfYAyn43llJV33+A4RNWM5MAQAA"
+ }
+ },
+ {
+ "ID": "b9a271f14e108d65",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon70d736742ac25d9f445be6367a67bee36b33fc85/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:33 GMT"
+ ],
+ "Etag": [
+ "fxmspMvMESqTkEM0r+XTCg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qnVeQWF/iW+boGF4Zku/oaFGlHhDin29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZhBiaWhmYWBmY6hmAgLFSbSwQAgA/ounPhwAAAA=="
+ }
+ },
+ {
+ "ID": "ff0899ea448a3ea5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "269"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJEQVRFIn0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiMjAxNi0wMy0yMCJ9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiQTJEbjVaZEc1aFowSUhZUmFETEhWUjloRVBHIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:33 GMT"
+ ],
+ "Etag": [
+ "nXLLlyvkavk2JcTUG++7jw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SYW+bMBCG/8rkfWwTAgQIkaq1SljKFEUdId3aaYqMOYgbsCl2UkVV/vsOaLtq66p9wvieu/fu/D6SLRcpGZOE5/c7qA8f72RCTglomuOt+D6fF4f9lu631hcWr2YnJ97dw9kZErzJUhtZFIeSil4KpexpUHq8WvYvrKlwbtOZs7kdhJc3EZ3OL68jfxNczTBTQZHNudhi/kbrSo0N41m9n0uZF0ArrvpMli/3xt4yqlreAdPKeEPUwK6V8Y7sp0IyqrkUZ6sltrBTUK+hpLzAJpoCvVomUp+/UbrPadnPkd9zBpQxuRO66Q2rMCkynu/qtjAZP5K211cHsgzmwST+cL6nBfIpluOipWOaFNCQT1OF/9hmk0U1VdAR6wTA8twk9R3THJqZ6zrOiJre0Ld95qfO0GI2WAObYp5uJNosKqSgpjtiziiz0yGktk+9lPq+n4BjppRZbpIxJ7PczCRHnKsGqmHKVSUV72Yjkyi4iIN1+Hm9CIJpMEWBh5r/SX2LQoTiaLWYII1MVXOJWLOLcBEH0cUkDq+D7gXmkFN2WN7jG2S0UHDare2K1rQEDbUi4x+PROAPZncbrJ5j8aFq16fbL5k2asdX8Wta7Fpg3x2INTDd3sDuWQNyPP5EFB3TFSFfV0F0Q7qrCDKoQbD/fBvMaKPvG/7Zewii+1BIafxHLzDVyLTrbjzB20lNx7Oskef59sgakRau9V8x3x6Q09+GaypCCUI/zdQZD0ftxHbqBcIgPs8iXMww+gswia9k/wMAAA=="
+ }
+ },
+ {
+ "ID": "7248799baf41dd7c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/A2Dn5ZdG5hZ0IHYRaDLHVR9hEPG?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:34 GMT"
+ ],
+ "Etag": [
+ "YJwb4caWBuH1VqWhai1ccQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3W6CQBBG32V6qwk09aIkXkAxYkMapVWjTdMsy/Bjl11khxhCfPcO6tXuyZ755tsB/iqdgQdpVZw7bPunAmkzXhK0nSLLR2O0RZgAkijYPLxf0hcp9kEXubvzvhSVK+VmPmfDyhJrAd4AeYUqs+B9D6BFjTyWO79sUN+MEPpfC6baZCN9bOPYD+IFXH+uEziZNMEcW9QSx6imNSeUtBpb2tIo1ddCTzOszZTQEtwmbq/+c6hnx2w5K4/OKjokIoyjXfJaLtZLtpSRgiqjWdx+Ai8iQ0Il5sI1wYUHBz2Hrlsj0VocQ537gjdTNwqJG1Hb4QSk4L9GFd35+g+lhsOHSAEAAA=="
+ }
+ },
+ {
+ "ID": "98a9ea63df2755dd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anona168c58f3d4ed39a7da999be51dac26bfc5f26f1/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:34 GMT"
+ ],
+ "Etag": [
+ "vOyD2fkNLNp00/0rQoTvWA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qX+Ve6GKVl+/n4FRgY6BsUBeaHlIU72toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZKNXGAiEAFeEMeHcAAAA="
+ }
+ },
+ {
+ "ID": "eafe3b51c0cf5dca",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "274"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InR5cGUiOiJUSU1FIn0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiMTU6MDQ6MDUuMDAwMDAzIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJ2WG81VkNXdkxtOHFSazhWMHRiVWpDQWxFNWoiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:34 GMT"
+ ],
+ "Etag": [
+ "GMRSv6/xOoU06NMVKRtBFA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S226bQBD9lWr7mpiLuRikqHEdEqE6Toux06qqrAEPZB1gCbumtaL8ewdI0qpNo/LC7s45c+Zy7tktr7bMZwnP7/bYHN7uRMKOGCrI6fXiMlq2jvbjSqx0Z3G5/hCp9+fTkxNC8I4lb0RRHEqojrdYimOFUvmr5aj9LOz17Lqdl5O76Hay1lWy2s2mRWDviCmxyOa8uiX+jVK19DXtSX2UC5EXCDWXo1SUz+9aa2p1I3aYKqm9IKpR1VJ7RfZdIVJQXFQnqyWVsJfYbLAEXlARXYLjRiRCnb6QesShHOWEb3mKkKZiX6muNsqSiirj+b7pEzP/nvW1/nZgy2AezOI3py0UhN9SOl716BiSAjvkY1fhP6bZsUCBxAGxSRBN10m2nm0YlpE5jm1PwHAtb+yl3ta2zHSMpj4G4qlOomdBJSrXRMuCBJOtk1lg6oltJKbnjD0bHEhN3dZhkliQsQfqq0FQeMZlLSQfemOzKJjGwSY83yyC4Cw4I4HvDf8TdR2FBIqj1WJGaMLUDRcE62YRLuIgms7icB0MG5hjDulheUc7yKCQeDSM7SM0UKLCRjL/6z2r6ELsYYL1Uyw+1P34VP9ncXgZdJU/x9dQ7HtAOxyYYfu65ev2SO++MXt4+EZ4ss2QiX1aBdEXNjxFmGGDVfqfCyJGH33d9U8GJCBZkISkojsZIpWdTD/zzhi8HMp1TXPiup7l6BPWgxv1V8zVDXb0y3VdRiyxUo89De6jVgexvXwGUZB2tAgXFxT9CVQdw8UEBAAA"
+ }
+ },
+ {
+ "ID": "169ee25ff277e0be",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/vXo5VCWvLm8qRk8V0tbUjCAlE5j?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:34 GMT"
+ ],
+ "Etag": [
+ "hLnzuafks7Zo8lfk6yriow=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U4CMRBG32W8hWS9QDckXAAhkWQ1ugoajTGlO/vbdpbtLGQlvLtT8Ko96Zlvvp6gqVwGU9hVxb7HbrgpkF/CJUXfG/ZytOQ8wgiQVSFmmbjfXuWNv/+k2OTN3dBVdJzNxPC6RKtgeoK8QpN5mH6dwCmLMpZHP2Lw0AZ4Wz+uhCxlgZ42STJfJCs4f59HUNMuxRw7dBpDVNtRjZrXoaUvyZjBKjfO0NKY0TNcJi6vhw+abJfvh8TG+7SJtxHvNvVyblaTWixDWnFFTsTNK8giJlYmpaPUhFv458Ugoc8dafQeQ2h0XbAk2xpkacRdjyPQSv76UPGVz39p3CSrSAEAAA=="
+ }
+ },
+ {
+ "ID": "e73c60e3687e7b60",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon72e44abebd6f4a20b51b296395a6ac2050a8b4af/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:35 GMT"
+ ],
+ "Etag": [
+ "uaAZrbCrIaQIoDoJ+VKp8g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qXJjpGFSU5F3kmBnrmu+R7aYd5F1ik29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbWhmYWBmY6hmAgLFSbSwQAgCWElj9fAAAAA=="
+ }
+ },
+ {
+ "ID": "46f7f4728a747204",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "936"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwiLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InN0cnVjdFR5cGVzIjpbeyJuYW1lIjoiVGltZXN0YW1wIiwidHlwZSI6eyJ0eXBlIjoiVElNRVNUQU1QIn19LHsibmFtZSI6IlN0cmluZ0FycmF5IiwidHlwZSI6eyJhcnJheVR5cGUiOnsidHlwZSI6IlNUUklORyJ9LCJ0eXBlIjoiQVJSQVkifX0seyJuYW1lIjoiU3ViU3RydWN0IiwidHlwZSI6eyJzdHJ1Y3RUeXBlcyI6W3sibmFtZSI6IlN0cmluZyIsInR5cGUiOnsidHlwZSI6IlNUUklORyJ9fV0sInR5cGUiOiJTVFJVQ1QifX0seyJuYW1lIjoiU3ViU3RydWN0QXJyYXkiLCJ0eXBlIjp7ImFycmF5VHlwZSI6eyJzdHJ1Y3RUeXBlcyI6W3sibmFtZSI6IlN0cmluZyIsInR5cGUiOnsidHlwZSI6IlNUUklORyJ9fV0sInR5cGUiOiJTVFJVQ1QifSwidHlwZSI6IkFSUkFZIn19XSwidHlwZSI6IlNUUlVDVCJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJzdHJ1Y3RWYWx1ZXMiOnsiU3RyaW5nQXJyYXkiOnsiYXJyYXlWYWx1ZXMiOlt7InZhbHVlIjoiYSJ9LHsidmFsdWUiOiJiIn1dfSwiU3ViU3RydWN0Ijp7InN0cnVjdFZhbHVlcyI6eyJTdHJpbmciOnsidmFsdWUiOiJjIn19fSwiU3ViU3RydWN0QXJyYXkiOnsiYXJyYXlWYWx1ZXMiOlt7InN0cnVjdFZhbHVlcyI6eyJTdHJpbmciOnsidmFsdWUiOiJkIn19fSx7InN0cnVjdFZhbHVlcyI6eyJTdHJpbmciOnsidmFsdWUiOiJlIn19fV19LCJUaW1lc3RhbXAiOnsidmFsdWUiOiIyMDE2LTAzLTIwIDE1OjA0OjA1KzAwOjAwIn19fX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6InR4ckZBOGJGeWdiakxkeDZOTVg5S3VGa1VQbSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:35 GMT"
+ ],
+ "Etag": [
+ "vGfUgrpbmydQEq+rnQ4C1Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6VUa0/iQBT9K2b2owJtoRSamJVgMWSVSFvcNZsNmU6ndbQvp1NWYvjve2cKiIK62f1A4M4959wn9xk9sCxENgpY/FhRvvxynwfoBFGBY3hdXESzmBdBugynzuMxz6adoT49PQUEk6zyLk+SZYqzRkjTvCFoKeyZ1xRPfDToBaNlHNxfhk/dydWP/rdq9DC7ToFZ0iS6ZNkD8O+EKEq71dpEb8Z5HicUF6xskjzdvrcWRqvg+T0lomwdCNqCrMvWB2G/JjnBguXZ6cyDFKqS8jlNMUsgCSnQ4HmQi7MD0k2G02YM+AUjFBOSV5mQuYEKybOIxRVXwsh+RirXnR/Icy6doX90tsAJ4EOQY5lC+zhIqESuqxq/003JwgKXtEbMA0oNqxuEfVPXO3rU7ZpmD+tWp9/uk35odgzSpobWxsATMoRi4SzPAsuMIiOyjJ5BzA4J9a6Fu6HZ65hWP6Ltfog7UtJCK6iLUyzoOSuLvGR1bWjoOgPfmY9H84njnDvnEOA3Z29R390xgHx3NhkCGjAFZznAZC/GE99xB0N/fOPUE7ikMSZL7xFmEOGkpCd1264xxykVlJfI/vmMMjDkJqoOFhufvyxU+4T6Rh6EHPpytwSviJDeV2yfpdBMnBayL6+p/vjK8fzB1TVarU62BE9wlsUDzvFynzJw3cEtPGPp3s9kPLkArV2xKvBUXvtSnyVe53GQV4f5dTDQvyX+35nAZ2dGNzipFLJWVGYp7d3mgqmy2Xgh4KLmIYxkaRsrQEr9pZfvCstfGxZRk3jbmANBP5cK10P9HEnRuhUva7fjNTS929DaDUM70k1b69iaeaxptqZJlqLBMauHg6Yzx71F9ZNLI8ppRv7ybABDeT++xZuzCEA4jCs5fbDhTBFVm7oE8lwxtQO6aRlGz7Lg+rQNtSqYiz2fYUnf9hZKRZrSTKxrqm+i/LcpV1VuQeCEyzGp1+kPnswsIpoGAAA="
+ }
+ },
+ {
+ "ID": "dc9687f441d2fdc8",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/txrFA8bFygbjLdx6NMX9KuFkUPm?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:35 GMT"
+ ],
+ "Etag": [
+ "N2sJBMS5YHkEHBaILy1pIg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6WSUU+DMBSF/0t9xWQz0eiSPcDGHAqIhSUaY0yBO8ZGKbYljiz77142M+KcLxoe4JTz3XPSdkNWeZmSAYnz7L0G2ZxloB/bDwqqLrTCVyVKBcQgoFmGTv9C3VleePk8XdlTizlu06+cbDhEh0oWwBkZbMg8hyJVZPCyISXjgNi894YO3VStoPbogY5Rc5G22p+5rmm5Nq78JKOcg9KMVx0fOZ4dRqYXnBixNQ5kqGVeZqaUrOnYMKKOf9uB1A5sM7LH38A6RrZO9B8r74N/z+zKvp5KPWp8HH1o/N/o9jHIUsQU5iChTKA9u0qKJSTaaa+FWoiiaDgrz1Pg4lzjQZAdsfur13JiXseTJouXbrq+8r2nm/t6spoFHF2FSJjORYnGWYi7S7TQrKDiA/uSPvnSVoNDAykSUAraob19wEjwqgCNjXBLwCAJw8s1zfVebz8B5wAJ8LkCAAA="
+ }
+ },
+ {
+ "ID": "8b98df71cc20f03d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonb75ff2f7282c54cd167a6d584579fe39da451147/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:35 GMT"
+ ],
+ "Etag": [
+ "3tKwmoVejW2WF57RGiO40g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8obl3iX5+aHpWaFG4W7mZoHuWf6mxik29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7JCYioZmphamFiYGZmY6hko1eqABaFSiTC+UpJSbSyUjaw3GSSMogdZNgVJFlk8FSweCyMAVWdpk/MAAAA="
+ }
+ },
+ {
+ "ID": "35059da6526c8895",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "827"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUIEB2YWwuVGltZXN0YW1wLCBAdmFsLlN1YlN0cnVjdC5TdHJpbmciLCJxdWVyeVBhcmFtZXRlcnMiOlt7Im5hbWUiOiJ2YWwiLCJwYXJhbWV0ZXJUeXBlIjp7InN0cnVjdFR5cGVzIjpbeyJuYW1lIjoiVGltZXN0YW1wIiwidHlwZSI6eyJ0eXBlIjoiVElNRVNUQU1QIn19LHsibmFtZSI6IlN0cmluZ0FycmF5IiwidHlwZSI6eyJhcnJheVR5cGUiOnsidHlwZSI6IlNUUklORyJ9LCJ0eXBlIjoiQVJSQVkifX0seyJuYW1lIjoiU3ViU3RydWN0IiwidHlwZSI6eyJzdHJ1Y3RUeXBlcyI6W3sibmFtZSI6IlN0cmluZyIsInR5cGUiOnsidHlwZSI6IlNUUklORyJ9fV0sInR5cGUiOiJTVFJVQ1QifX0seyJuYW1lIjoiU3ViU3RydWN0QXJyYXkiLCJ0eXBlIjp7ImFycmF5VHlwZSI6eyJzdHJ1Y3RUeXBlcyI6W3sibmFtZSI6IlN0cmluZyIsInR5cGUiOnsidHlwZSI6IlNUUklORyJ9fV0sInR5cGUiOiJTVFJVQ1QifSwidHlwZSI6IkFSUkFZIn19XSwidHlwZSI6IlNUUlVDVCJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJzdHJ1Y3RWYWx1ZXMiOnsiU3RyaW5nQXJyYXkiOnt9LCJTdWJTdHJ1Y3QiOnsic3RydWN0VmFsdWVzIjp7IlN0cmluZyI6eyJ2YWx1ZSI6ImEifX19LCJTdWJTdHJ1Y3RBcnJheSI6e30sIlRpbWVzdGFtcCI6eyJ2YWx1ZSI6IjIwMTYtMDMtMjAgMTU6MDQ6MDUrMDA6MDAifX19fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoicmhEQXlSM1RVWHdDZEpXeUZYYXlJNEZvRlRrIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:36 GMT"
+ ],
+ "Etag": [
+ "JElTrp2vPaTxLLvpcXstmQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6VUa2/aMBT9K5X3cTzyIECQqhVBmKgoakPoQ9OEHMekbpM4dQxdVPHfd+0USgfrpu1D5Nj3nHNf9n1BjyyLUA+FLH5aUVF+euAhqiEqcQyn514SiNxaX+Lgx2SyzsltIdOr01NAMMUq7nmSlCnO6hFNeV3SQvbms4a4H/ZL3w7mt8+D6PymHN3ictwa8VHwCMyCJssJyx6Bfy9lXvSaza33Rsx5nFCcs6JBeLo7b66tZi74AyWyaB5x2oSoi+YHbr8knGDJeHY6n0EIq4KKBU0xSyAIJVAXPOTy7Ih0g+G0EQN+zQjFhPBVJlVsoEJ4tmTxSmhh1HtBOta9HzTzJt4gODlb46QRsBTkcJrXqv1sFc6kWBHZgIVlMQhGAGCZlgtwmFAl9Zr2+DflViwscUErxCKk1Oq0w8h1TLNlLtttx+lis9NybZe4kdOyiE0tw8bAk8qFZuGMZ8QgtGu7ZmgTHNrYse2uhd1lm4RL2sI4Ch3Dsa0wQhtIXFAs6ZAVOS9YlTwa+F4/8Bbj0WLqeUNvCA6eBfsVdeOPART48+kA0IDJBeMAU8UaTwPP7w+C8bVXtWhCY0zK2RM0aYmTgtaqul5igVMqqShQ79sLymADbCipktvagjLX5ZN6RTNwOQjU5dMlV9Z37F1zVF3eU4PxhTcL+heXaLOp7QhVz/pC4PKQ0vf9/h0cY2U+jGQ8/Qpa+2Lbq3Ao9afAd3fnkFe5+X7U0b8F/t+RwLfXo2ucrDSyUtTbQu3f6nHMWPmBv3XFR1hXc6+HezbLMNt1w65bxonp9IxWz3A+G0bPMBRHhwOjo8oUXc09/w5VRz5dUkEz8pdvEBja+vHk2w4hAMIY2qhSwh7ePNGZ6Wel3j7TBTWdjmV1Ox3X6UK4Gizkgc3tmqj2NnmUIk1pJl9zqiaQurratCp2IDDCM5xWvfkJXIDUAggGAAA="
+ }
+ },
+ {
+ "ID": "db2be932f840a045",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/rhDAyR3TUXwCdJWyFXayI4FoFTk?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:36 GMT"
+ ],
+ "Etag": [
+ "7onp6EW68MtfjjprqRc5kA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QT08CMRDFv8t4XRKNioaEw4Kga4Dg7hJIjIfSHZYu/Uc7hDSE724XjF48tfP6fjNveoKd0BX0YC3q/QFduKmRPtpLjv4gycfDGu0REkBidXQ+GW27o2X3eUqbprFun/PHXdrvR4fnW1QMeifYCJSVh97nCTRTGLFSKPTElI0+CvYiZdNRUabTeZSUqVpptphM0sFkBOfklyzICV3/YUWZZ7PX/5ivcwKNWee4QYeaY5vEOtMgp6xd0m+NlEEx3alQmQ7FQHAhLq9u+5KG/L5crI7D6n0ZxisWsoexGZe76JKGMxJGR+OiiPGADDGZm2PcEu7gpx6E2HTuDEfvsW16ex0wNMpKpJiI3AET4Cx+1Zuga33+BkHFTECHAQAA"
+ }
+ },
+ {
+ "ID": "cf21212b95aa8abf",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonc0ce8391b3cab3a53382a9f6cbfe4aadb50532bd/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:36 GMT"
+ ],
+ "Etag": [
+ "lhvxDnPw0Fo0dy3jEk+n/g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnZJRVuOQFlBu45RukVBpnuWZr5+mn29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbmFqYWJgZmZjqGSjV6kAEE5VqY4EQAFx01huDAAAA"
+ }
+ },
+ {
+ "ID": "33a25680f232b5ee",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "233"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImRyeVJ1biI6dHJ1ZSwicXVlcnkiOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIGBiaWdxdWVyeS1wdWJsaWMtZGF0YS5zYW1wbGVzLnNoYWtlc3BlYXJlYCBMSU1JVCAxMCIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiVVF4cmQzWHR4VFMySEpZUjkwWDk5MVdDek5rIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:36 GMT"
+ ],
+ "Etag": [
+ "C93D59g1oAOUTK6HSr3mbA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41T72+bMBD9VyL2tUn4EUiJVG1pwlY0lnaEbJqmKTXmIG4BU9u0iqr+7zuTpGurTNs37Hv33vnd49G4ZXVmTIyUFXctiO27G54aJwYoUuDtzHfmrl9YfHq5Sj57F0vhVOn07AwRTHfJDS/LbUXqfgYV7yuQarJaDrAsocwjVt8iaKNUIyfD4UFiUHBelEAaJgeUV8/3w3t72Ah+A1TJ4RHmIY4mh+9LTolivD5bLVGnlSDWUBFWopJG9QVPufpwpH/ASDUoEH/PKBBKeVsrPQCyUF7nrGhFR2xMHo1uoBcfxjKIglnSe+Ai6+WCV73rw9j9pk1LRvsZUWQgSdWUIAdyQ25BNkAEXPei8EuY9CwThTKcg9WdTELSErTE/s3hXwzVXUgtYYdYpwD22Esz37WskZV7nuueEms88h2f+pk7sqkDtukQ7FNaousiNa/d7JR4JqGmiU3UdfOxiySu55rEG5nguVk6ym0zNZ7QEAFEwZzJhku2M8WYxcE0Cdbhx/UiCObBHAUeBHuL+h6HCEri1WKGaMQ0gnGEaRPDRRLE01kSfgt2q4ugIHS7vMPl5aSUgMqZ2MYtEinRwomBK0+2DdpkfF0F8Q89Gl7FkIOAmv6nfYfEIAAzgxRS4RkXQaUm6N6qF8IqLWS5Y9s+HY99z/F8bSJXpDzfIteV4BSkBK1kOY7tjxysP0flX8A/9XNWll1RR4ISuoELpvYWnBji8LqsiwjO+PP1K48l701K9jl8lYEXmTSefqELqFsRPXnOoMx2OjXpTNA5180775dJHC4+4bnimT4vVlE0PY8CpNm7CRXUar+p3a9y3LkppfiXUR2GqziYhUvk2FO03TI6MqzOLxe69BuyKSAMoAQAAA=="
+ }
+ },
+ {
+ "ID": "91c39d7c74c6a9ac",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "711"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiXG5cdC0tIERlY2xhcmUgYSB2YXJpYWJsZSB0byBob2xkIG5hbWVzIGFzIGFuIGFycmF5LlxuXHRERUNMQVJFIHRvcF9uYW1lcyBBUlJBWVx1MDAzY1NUUklOR1x1MDAzZTtcblx0LS0gQnVpbGQgYW4gYXJyYXkgb2YgdGhlIHRvcCAxMDAgbmFtZXMgZnJvbSB0aGUgeWVhciAyMDE3LlxuXHRTRVQgdG9wX25hbWVzID0gKFxuXHQgIFNFTEVDVCBBUlJBWV9BR0cobmFtZSBPUkRFUiBCWSBudW1iZXIgREVTQyBMSU1JVCAxMDApXG5cdCAgRlJPTSBgYmlncXVlcnktcHVibGljLWRhdGFgLnVzYV9uYW1lcy51c2FfMTkxMF9jdXJyZW50XG5cdCAgV0hFUkUgeWVhciA9IDIwMTdcblx0KTtcblx0LS0gV2hpY2ggbmFtZXMgYXBwZWFyIGFzIHdvcmRzIGluIFNoYWtlc3BlYXJlJ3MgcGxheXM/XG5cdFNFTEVDVFxuXHQgIG5hbWUgQVMgc2hha2VzcGVhcmVfbmFtZVxuXHRGUk9NIFVOTkVTVCh0b3BfbmFtZXMpIEFTIG5hbWVcblx0V0hFUkUgbmFtZSBJTiAoXG5cdCAgU0VMRUNUIHdvcmRcblx0ICBGUk9NIGBiaWdxdWVyeS1wdWJsaWMtZGF0YWAuc2FtcGxlcy5zaGFrZXNwZWFyZVxuXHQpO1xuXHQiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6InloQ0lIZlE3Qk1DZFRybWtQVzRWTVNPVUlGSCIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:37 GMT"
+ ],
+ "Etag": [
+ "0TgKaIUR5jswYPUNAEZANg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/4VTbU/bMBD+K1b2YSDR9GWwQqeKhTZARFsgL6BOSMV13dQ0iYPtgCLEf9/ZaQraGFPywb577p7nzncv1pplC6tnzVn8WFBRfnngc2vPogrHYG2F8QX2Iv/gQT5Pr6KJ4/5yJnG/Dwimo+SKJ0mZ4qyxoClvKCpVLwrscjXwzpfX3ZPxYBGKdH11u38zDi4j7/QcIiVNliOWrSF+pVQue81mzW7HnMcJxTmTNuHp1t586jRzwR8oUbL5AWkTVMvmJ7THCSdYMZ71owAkFJKKGU0xS0CETtAQfM7Vzw9S2wyndgz4J0YoJoQXmdLaIAvh2ZLFhTCJrd6LZbS+O1h32Z1qNNCQkgQLijB6woLheUKR4gi4FijDKZUIw58hLAQubR0zdAcjx3cBlc8qhOP7zvSuaLW+kSD0vcmZOdMfG4aTgkGyOgfiS6RWmiRH7VZrQ7IUPDXmkmKBOq1213AFbviOp492tBGhwB25g7DinTlnZzvajy79oeujkynKinROBRq6wQCNvLEXaqLdKvTUvxyj+/rtGnkxTxhpLLDC93YhccVkTu2jdmtGCiFopqrY23MX6jYK+0ajNu/WZd6uGFnVPctzjYLWPXOxkIhlKFjhNZXaTL9KlCe4lMdVibqWisCU4QRIvmGNIO01wqPJxA3CnW1LdjW6RlTyTA5v8kertIz/N0DiNE+g/Hf8byXCUOWCccGUnh5vErq+Mwi9G7ea2RGNMSmDR5jaJU4kfd2zYPDDMqeAvo5cf2pVJp8uKfSUUD2Mm8Xx/rGwlokw3s/3tl4hAMISAZFUcJeKEalpiKDGHbJUy2kfdDudw2736Pvh/qFlwEL95YMPfNu90RlpCsOwqSkY+N5VaL1uyAq5BYHTh5eCRQDvb7hqkLvGBAAA"
+ }
+ },
+ {
+ "ID": "8ea9728555391751",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/yhCIHfQ7BMCdTrmkPW4VMSOUIFH?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:40 GMT"
+ ],
+ "Etag": [
+ "AG6V181pQnvs8nraQiGJ9g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2OS2+CQBSF/8vtVheIoUjiQkiLNGgF1C6aphnh8pB50JmxDSH+9w60q/s657tngLbhBXhwaaqvG8r+oUKdjE2K6ka1MqUTXCHMADWpjHITOmfLtbqEfyuXS5I04cuqWq+NQuU1MgLeAGWDtFDgvQ/ACUNjUzVpDQuJxM9pNQPdd+MlO6bRPjQzE8U4709xvPHjJ7h/3GdwFZcUS5TIcxzJnRRXzHVUTExBac8InxfIxFyj0jA5pmtfB9G2TB79XVAcJWsPb8vzLns9Rc9bo6IiJ7oR3AhPGZhHWmhCU/FjUoPtwv/C7w31IEWOSuFItZb2ynacxeLvUyBYR1GbaFre8P4LCaf5JFABAAA="
+ }
+ },
+ {
+ "ID": "d41a0c97d8bf2538",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/yhCIHfQ7BMCdTrmkPW4VMSOUIFH?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:40 GMT"
+ ],
+ "Etag": [
+ "AqO2IhLIdCfeR4N7J3xGEg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/4WQzQ6CMAyA36VnD7ghGx5BD5qoRHgBhSYuGUxZORDCu7uhxhhNTE/t96V/A1g6kbKkSgvLAcoWXWqaQtUIS5gvBGNSiDiSoYSZl1v6Yi4cw6b6JDIIAsYdIUMnnfSENmtNidZi5a2QxzyKGHPGrcO29/P/q28jUVo/cSgCHkr5wrk2tHP3AGfisTVhjQ0V/dXvl6fHTVbA+Ntuujq9KF1tzdkXmfd8h2560NTLlVeH/RrG8Q7AcM1sQAEAAA=="
+ }
+ },
+ {
+ "ID": "f035b8e7c491adb6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?allUsers=false\u0026alt=json\u0026pageToken=\u0026parentJobId=yhCIHfQ7BMCdTrmkPW4VMSOUIFH\u0026prettyPrint=false\u0026projection=full",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:41 GMT"
+ ],
+ "Etag": [
+ "0JlHaFzTGLbfPR8XTgQtaw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/+1Z6W/bOBb/VwRtP6RAGlC35EGBdRylccZHKinNFNtAQ0u0rVaWXB1JvEX+930kfelwjmIWM7uYfAhk8h18x++Rj/whkgLPxI6ILuMLfP5v78NgMr1yzN+82ccC379/Lx6L36IkBIpJNPtekmz1j6/pZBDlBczAVy52/vVDjChBPk/jeLXAybuQLNJ3BcmLzrV7kgdZtCx8oPUtGUkmNnTFCkNNnmpkEigTYsiGGk6noUV8qV0dV+WQKclIEhCx80NcZulXEhT9A4o5B599pf44DXARpQmwXrvi47GYF7gAneLZeGSL/CeYHwU5XUeQEUbtRQtKI2mGLJuGYVmyZHLirGjMqTJVRJKwOaOpMFOkBY5PV2DIVZYGJM8JNQTBDHMJ1XuYZDdzGsXxdjjAwZxcRIXYKbKSrK1akKTwVku6Btce2D2P2rvE4OXicu2+1bzXv5h+NE6HvdDLFt+ubtRPQ3d83T+/oPYx57oVl5A7HJfMKb/yULpe17OH9sjjDgm+nWd4QXjmMAcNogSWIElrf/XSuFyA/y3mo/WkwX5spiQEhpKHYrvwL8mXQhASkCt0XSGf428kXxKwxKdjdPbcGQ+F69HIdr2jIl2y8fwtpd5Q3FzYjs1l9EfCERfJxQv3aRbyASbn9016vluWkzgK3oW4wL+f5HixjEl+sqefMr0VH28fwbNBmkyjWZmt8+vHLpzrj/8NY47FECAWJTzx8SR+ISKp2JxwCn9CiGzok9DSJEmVprquaSaWDNVSrMAKNVUOFCIjBdOMpioYF07SJESWpIeqgieaaQUacMihKSuBbhlIDxVdCScaDvQpTWWGTnIW5cs0j9ag7jk2pKPfP/dHtn1mn4GC+yyqU904fSDynOtRD6iBZplFKZDRIPVHnu10e17/E50oczIgMxys3O+x2JniOCdrnF5hmucFyXiq01gA9zZcIoMap+AgBFhzMHYdp/sZ5nGW4VVtzvWc/uiD+Pi4x/4JEMdoGAP7xXXe8QnRXiwwOGQ3MIyqv0cpnlcGxnF0V6Nx0+W8NtTP8YTEcXWwocwlEwwJg5PK6CDCiypfMa+RDHFRzMl9ZewMJxGJK0OXOIBNosZI0spINyYPOAlJ9rTZl2VcX2fdVack+YoXUfK8IxoWtnjQXkTxqjLSA+F1QemstqiW8FziVUiSmr5pjWhQBjivOiZqcLWGi2qsee8M38HOXxEGpQRH1eh0cZZWRXXv8DPROlvFNfUj3MyOKJjjRipQZFUcHEdfa0H+FAUFgBk/R9dNinmarOqBxsHTUW4xr5HFN7A31/maadyb4yxOCzh+VOSHWT04LaBoSaMhztNXY7AZ5Ms0ry6omWbdJMxqFlOu5bzuyyZoGpDsJrOaae1YbpSdZi404d7ETAuyWqpnM/Nay0ITXPYdiVfPY7lZhtoyZlAmdZPrKdREUhtGB+U3Ug9N9BLUuAFkKCmK50qFs6pX/0ZJc/GirPnUxQnUoVlaS6SkWQuaZfSKJCROl+Q57/fmGZxdoTDXVtzI8u6CxNR6epTb7uYky9LsZJpmCwA5CX12vvWLDEObcnh/3+3hNUGQsDme/RTryzQ/c7K47vFDelYGrDGonFxiehI/XlNvueA0pKuV9QT8kP4CymkUE/bZoG0xc9uYHSaG0LT5hTc6PmsYXuXZLL33g7RMnmLbWHULB7IwWzllsj0FQs9JO7y0LIbgSFGWNMtUTJU3p+u+6+O17XzetJkla6AqDecjO2FmPllQzMLxEc7S77J0khb/bDlln0CFOJkB/V0UEBywtZ8EKa8aL+zSZcnSTUNTNF2dyqquyjKxwsBEMjGCCTEVH/13u/QX6f9junRDV4xDXbphylp7l26qZrXR3m/BJVWxFF2X5f1unbcDtBDvwclFqCP0k2VJ/RBt+nS2FpYuO31IU/hKauOyRO8R7nFUONS87t1M7KATWTV0yULb/wonGeZsXpT1fZ4hfniSh81zHvBhuNMj8YGNVAlp+ySMbUvChXASSEawmOwv2NyObqQxjOxTrpe5T8mFMkrWv+1LRIqJLE3e/JfWJBvxVZ617IM8XBHlyefldBqTcVnAEljkqW9U02ydc5f79y8ZCaDrzh1wCIzoSDYlTdqN34CugtB0lta1Bnhjlh35epBaDlstCa/aZjflQ+yNh1cD2+MgIEtewddwhdaX9rt5OdlMiW/kDs3HY+GN0knKxYRk8Cl1VtDuAyW7H2i7Hjgpc8zbWPYlWRLygzKjN0fAxi8fyPcSx0dvpGNBRpLxVrylRWi9ku6HD479gbfW1eUgofNecC+6zpnPNisfSI/eyMLYObMd4fQzLFQ4s92eMOgP+54gIVSVzDr3plQY8caCTzfoGUHIT1mggPN2r967SOoIPIQbTEqHMGlJ7ZhULMpKQ+NSVUw/Em+bOFUkVTY1Y/e/ilNFacHpQR6epIynilNUxSlqoBRVUYraMYpqBULSG6Cto3uDq6c4uU6tFcN6/a+GYqMVxYe5uC7jEI4l9BM4/msgGG2Q2pLeL4CcxCDnjMdeBXFoB7nXA06qAU7aBxyAgV4gwpGZhE9uoEBD2KmTeoDEeAkkDG+6JG92YBcaZDamyDS2S4BklMyuk4g5Fu27fTMoi3QJjBsiUbA7vyfu0Q+urnnTLqmqgRS+I0xow5bMvAgaC7oXtq12dyu/PjJmm+NTyC5Weez3j1Ftxbh2t7otzZW700aZpj44/ArQ6ts/+mXA/u3KsV23Px49/TSg1V4GZG3vacA69DJQvfTepTa7FN/mNt/06hn+/PX44Q2Q8/I9kO6jwnu2Ab7uJYBfUwuePbwSzq9HPQ+cBGiiTQe0JCQLgNGPEuhHEhz7/tEDN/BLiZAS8FaGfRP2KnD08PaXL8naE09I+Su67O0vf/KLg66bCgqQ4utTlfiqhgJ/YlrED4mGDW2iGhqS/+9fG/6+8/j7zuMn7zwsy5D+lDuP28f/AGojk2LgIAAA"
+ }
+ },
+ {
+ "ID": "d821c0f7903cbf6b",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "272"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJudW0iLCJ0eXBlIjoiSU5URUdFUiJ9XX0sInRhYmxlUmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAxNiJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:41 GMT"
+ ],
+ "Etag": [
+ "lx1UaOxunlsjqNJkyvIxCA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SUWvCMBDHv0v2Ok1SUWvBBx0iDudA69MYEtuzRtOmNtFZxO++a6cT5jb6FO5//7v73ZET2cokJB5Zymi3hyx/sGKpgDwSsCJCXR35XLwe94kym93keZsfRsenXreLDlnUmbVWKo9FUgsh1jULxnqhsMKAXTiMdzhz3EWr1WGtZoexTgOfBWOM18s5/1h4C0cYUKuxTLY4aG1tajxKr6D1SOtIgUilqQc6/tbpwaFppjcQWEN/oaMXOkOrYNIS09BKtKVpCivIIAmAeCdyARn9cSmsuUCUjipA1zFlQQWqMx4xWEMsCpyVBBUa4r2dSCJiJPx6sGWeFtHMn44mQ6y55ffxLT2a+IPhYErO79gVM/0cl0CdkTIc6yTyIfspT/XHNQoyEFbqxJdlc95sO47bdhlnbqP4csdUZvcGt8HauDoalDD2RYcS9wjvenDu3FD9Xn88KCp0UDZEaT4j508CGiX17wIAAA=="
+ }
+ },
+ {
+ "ID": "73a490efd4070511",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "298"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiSU5TRVJUIGRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS50YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDE2IChuYW1lLCBudW0pXG5cdFx0ICAgICAgICAgICAgICAgIFZBTFVFUyAoJ2EnLCAxKSwgKCdiJywgMiksICgnYycsIDMpIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJISmIzYVhpenZpOXU4cmhoeDVBakw0V2tGWVoiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:41 GMT"
+ ],
+ "Etag": [
+ "K9+lCo/1Y1GNWEmLF0NT5A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S227aQBD9FWv7kKCCbwSDkVCLIielRZYKJikVElovg1li7xLvGpVG+feObYKqNqXhhfHOOXPOXJ7IAxcr0icxTx4LyA/vtjImTQKaJvj6xX+fXkvLmTu34X2QjW/sMOoMBwNE8JKlNjJNDxkVrRVksqVB6f5san76HLfpN/5zz/2il282PzrD7fjq/uFm/h2ZCtL1mIsH5G+03qm+Zb2om4mUSQp0x5XJZHZ6t/autcvlFphW1iuiFrpW1hnZD6lkVHMpBrMpWigU5EvIKE/RRFmglctY6o+vlDY5zcwE8XvOgDImC6FLb1iFSbHmSZFXhUn/iVRefwvIKJwGk8hYUU0V6KVrO75ju72l5/m21/Ft22/j39K2bcfUNE7hDMTxjEtBM2gaosgaC7HQC2388bsbjmfB1Li8oBdNw2k0MYoxcquIYdRuoO8VtsVF5ToqRUvHx+mO/rHVklU3USHe0hBSqpYqwv+bI89NNMFlznU9uSiYDK+j0V1Q72sMCWWH6SNubE1TBQjHpUeHHdonX2fBZE7qpwmsIQfB3tgWMqrs+Zt9OR8E4gGhkNL4jWNkqpRhOdTj5Flpx+l0XbfX7dmO63mkAuf6r9xVu4u5082UFSEDoY891bdDno9ihTqBMDmZheEovMXsL2wZWfrCAwAA"
+ }
+ },
+ {
+ "ID": "16bc24eaa6d416e2",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/HJb3aXizvi9u8rhhx5AjL4WkFYZ?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:44 GMT"
+ ],
+ "Etag": [
+ "StvP13MfFXywrsSOVDXYSw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/0VPy07CQBT9l+u2JBo00SYsUF41itiigsbF0N62AzOdOnML1Kb/7i0uWN3HeeScBnaySMCHjcx+KrT1RYb02i0hukqR41GawiF4gCQyZka0X1z1n9PJqj5YF728j1br6DAYMMPFOWoBfgOpRJU48L8aKIRGlp2GB1SX3RUtw2A+hdY745U+w8F8OZ6OQ2i/Ww+2ZhNiihaLGDvv0potxhR0sV1ulKq1KHoJatMjdAQnxQmdPW76YiV/9/KuurV5frwZbp+uP3aT9SezlIkFSVMw8S3iKECGhLqv2WRhTYzOYWdy+W/4YHSpkDgB2Qo9iAWXnUkCPxXK8YMLjLQapilnwyQ0B64PfWj/AFcikQ9jAQAA"
+ }
+ },
+ {
+ "ID": "b56a11fa465cad17",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/HJb3aXizvi9u8rhhx5AjL4WkFYZ?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:44 GMT"
+ ],
+ "Etag": [
+ "Uq90DVYFtVFjwA6j6epTXA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7VWXU/jOBT9K1WENC+w8kc+7EjzwEBXi7SdorajeRihyiS3kNk06cbusAjx3/faaWiahtKR4Kmx7z0+17fn2H7ytFEm0yZLtBc/eUkFOCyLWbYEL/ZoEDEmIkEoC0Pv1CZXZi/m8whjUKTdiE8ExYgpjcq/PBrQ11WZgNaQYhbByL9rqB4tr/u4zlXhxT+evEK5daaExIOrYrU2mJo1GFfDSO9UEDC/rqA7zwXOP6jMTOy2zn/deTH5gxDBQt8PmSBS0ogHQVgnjbTL8GgbNFL/vQFyGQ6E3UtbTPVEsyppJ9SrNgn1CjYhKZe4X9gpl3MSRCKgjMswlD5jL2nN0n4H2dR8CFlzWuRDlb3N6JLafFvUAbYNasul79eLRQ7jtcEqnCZsgPVGpqssz1+0UkFSVqmeYMN2Z74jhwFUjsdxcqUqhajc6UZv/he76RwMpNd9UWuBtR1cjEfXfw9nQzcHK+3E+E9WpJvYtzq0vm2i3gklg/jz4JP6hIETSu2AejfPp2/hWI27dTjmcOwYHK9xicNxh+M7uO+Tq54qTwcntsez8WA+x+3eASHz0nUawQ7+4jkaDy5KlYNOoLEd7bcdIzLssx3jTFqo7fHUkrkiiHfzXlbsE1rLif6HOdGnnDFOfeLLQIRRJPacGLzixMjneB6FAROSBeG+D2WfD7GjhPmR5FwIn8ko7NiQyj4f1hRUCu5HFIm7NuTBO/qQH+3DgBw0YkCOdeJkeH7ZEfifk/HobWWzeFDvqtE1e0XXjEa9uvYl3dc13dc17WiY7auYdi4P9mHXBz2gvU19vF+0h5CbsnmfbHcNzUPRkW0k+mT7Oqrmcqhe2ZIPVO073R49mn05lHfES7fi/f0znbWVj6oEfNctFRbe+/jCGORZAa5OyNUKQ07wgRDNq22al7U5mEWs0BJZcfetyIxuCc71ppm0LVGJyX7BNs1upU1AaUj2GAQJ6JEcATuChIXUf3+Sm82KKAWT2Zfyfltffe1uI1/a0rzFARYzy6By50JvxYlK7uGvzHjxQuUarHwXUEGRQDpTtznUaltV5U9IzJVdWt+Xef64VMVZCsvyDFntuZcqozTUGZvvOSNUUsLEHC9TEgaSEMnxZ04Icc93u74DuK8D6TR0DSrWy8tlfr5YYCmQTsoHvXGXtQosoTCzx5U9kq++ToeTGf5zfXt+3lrrqUZi5HL8deg9P/8PRf2Ik7cMAAA="
+ }
+ },
+ {
+ "ID": "c3cb40688d39d8a3",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "389"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImV4dHJhY3QiOnsiZGVzdGluYXRpb25Gb3JtYXQiOiJDU1YiLCJkZXN0aW5hdGlvblVyaXMiOlsiZ3M6Ly9zaG9sbHltYW4tZGVtby10ZXN0L2JxLXRlc3QtdGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAxNi5jc3YiXSwic291cmNlVGFibGUiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDE2In19fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiSkkwbkNkUms1dUFENE8ydGpIVTRVeFZQRzgxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:44 GMT"
+ ],
+ "Etag": [
+ "/9v6gMxQA4aEy5pYLCmfrw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/61S0W7aMBT9F+91JE4GIYmENsS6jqljGyRVp2pCjjGpIbFT22Ggin/vtQuTtjK6hz35+t5zzzk58QNac7FAKSp4ed8ytXu1kgV6jZghJXT9ZBOVn7ffhl1yses1369G9VL9HAwAwe2WvpNVtauJ6CxYLTuGaZPmM+/TGIvRYrrutcP33S+hWX3Mu/n2+utlHMCmZtXyios17N8Z0+jU94/qXillWTHScO1RWf/q+5vQb5RcMWq0f0LUB9faPyP7tpKUGC7FIJ+BhVYzNWc14RWYsAQdJQtp3p2g9jipvRLwG04ZoVS2wlhvwEKlWPKyVY4YpQ+IbY0i1NhSy1ZRlpGiYvZ6MD/+S2hAtiCGaPaEONTzEAdJgMN4HkUJjnoJxskbOOYYYxuksexuwVVn4EGE9iABSlw4t7nisFba7E/FWdy7s/Myr0f1Bv1JrVF6+9/If/zG/kGqmkDCaDS7tt8EPz7bNZAxurjJpsNRdmhO2ZIpJug/pg8bbnr+5R4fEQDhGYGQNnAHb1RbGaqYG2e8toaCXj8M436MuxGOkQMr82zWx/jI1DoWW1nINJ9MxpNLtN8/ApaOOW6lAwAA"
+ }
+ },
+ {
+ "ID": "e9b0b15fd08cbecd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/JI0nCdRk5uAD4O2tjHU4UxVPG81?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:44 GMT"
+ ],
+ "Etag": [
+ "/9v6gMxQA4aEy5pYLCmfrw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKi5JLMksLslMLlayqlZKLkoFcvPzQjJzU5WslAxNzY2MLMwtDEzMDCyUdECKi0ow5MwNDJRqwZIlpWBTQCyQkqBQPz9PP3el2loAZuTgdWgAAAA="
+ }
+ },
+ {
+ "ID": "0244d20d8817220d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/JI0nCdRk5uAD4O2tjHU4UxVPG81?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:45 GMT"
+ ],
+ "Etag": [
+ "/9v6gMxQA4aEy5pYLCmfrw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKi5JLMksLslMLlayqlZKLkoFcvPzQjJzU5WslAxNzY2MLMwtDEzMDCyUdECKi0ow5MwNDJRqwZIlpWBTQCyQkqBQPz9PP3el2loAZuTgdWgAAAA="
+ }
+ },
+ {
+ "ID": "14475bebfc9e4837",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/JI0nCdRk5uAD4O2tjHU4UxVPG81?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:45 GMT"
+ ],
+ "Etag": [
+ "LAShRajm9MLk6iSygk76pQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKi5JLMksLslMLlayqlZKLkoFcvPzQjJzU5WslAxNzY2MLMwtDEzMDCyUdECKi0ow5MwNDIByyfm5BTmpIM1BICOUrAz0TGvBWkpKwWaDWCCNQaF+fp5+7kq1tQCA6jeufgAAAA=="
+ }
+ },
+ {
+ "ID": "d807e5db8203c367",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/JI0nCdRk5uAD4O2tjHU4UxVPG81?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:48 GMT"
+ ],
+ "Etag": [
+ "1fvX/kW8+O++3NtPczhbhg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/21Qu67CMAz9F89FSinQ0pGXxABIXJgQQ9QaFCkkVeIiUJV/v05ZuBc228fnYXfgSZLypCoPZQeVQ26tOagbQgnpOB8Oi7wQo4koIInLjj6wXAjG0NT/kfG0mDBS2VujMcruoziUKW8/yMmKomeNbG9626NTK6VxbltDnOcEKZwTUKZpafYk5BFkGYQEyJLUP9rSJs6mImMbhx7d/aXj5ZWTnDowso9U40W2mgaNalArg/GWd3Y4/+Gv62+c0D+A2v5TsYrKi912CSH8AmMQp2lJAQAA"
+ }
+ },
+ {
+ "ID": "a0e766714ed10443",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "451"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICogRlJPTSBjc3YiLCJ0YWJsZURlZmluaXRpb25zIjp7ImNzdiI6eyJjc3ZPcHRpb25zIjp7ImZpZWxkRGVsaW1pdGVyIjoiLCIsInNraXBMZWFkaW5nUm93cyI6IjEifSwic2NoZW1hIjp7ImZpZWxkcyI6W3sibmFtZSI6Im5hbWUiLCJ0eXBlIjoiU1RSSU5HIn0seyJuYW1lIjoibnVtIiwidHlwZSI6IklOVEVHRVIifV19LCJzb3VyY2VGb3JtYXQiOiJDU1YiLCJzb3VyY2VVcmlzIjpbImdzOi8vc2hvbGx5bWFuLWRlbW8tdGVzdC9icS10ZXN0LXRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTYuY3N2Il19fSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJ2cGh1Y1lCOWhDNWlUSTFEVUkzQWVtOGFYUzgiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:49 GMT"
+ ],
+ "Etag": [
+ "rFoh4jm3dD32JbvK3npiOQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41T72/aMBD9Vyrv21QgPwgkSNXWQaiyMqqG0K2aqshxnOA2iVPboUIV//vOCaXT1lXji4nv3bu753fP6IFVKZqghOWPDRW7D/c8QaeIKpzDrZjzzfC+tNOZbX1Ntpd2VbOr67MzQDCdJTe8KHYlrnopLXlPUakm61V/W28acvvF20wdFgXmbB3Y57R08Y+VC5mSFtmCVQ+Qv1GqlpPB4KV6P+c8LyiumewTXh7vB1trUAt+T4mSgzeKDqBrOXin7KeCE6wYr87WK2ihkVTEtMSsgCY0QU/whKvPb1D3GS77OeC3jFBMCG8qpXsDFsKrjOWNaInR5Bm1vf72B638hT+NTj6ezMOrbydEbiErBVJWtTkRTgqq8YfZgn9oqrOwwpJ2iDih1BqPktRzTHNoZqOR47jYHA892yNe6gwtYlPLsDHkKV2izcIVtEscb2xYRpwZjhMP7cSNPcPAsTu2XJzhJHXTDO1hMkGxojMmay5ZNx2ahv555MfBPF76/syfAfmTYH+ivocBgKJwvZwCGjC1YBxgWo1gGfnh+TQKbvzuDRY0x2S3eoRXyHAh6aHdGc1Y1RJKLY6WDQ7JG0HoWjC4/IlybZu3nJA8tmevZYotw/RMw3Lj0cgzRg4M69lwxIZhjvqa+A78SDZgBV0iY7RINf0zqnAJL9Md0Nau1l+rKAyWFyDQa7wpX8N6vgs/RPs7kLBrd85FiZVWb3WjHSO3V/VxsLbcjBasBBkFgE71djywekFxyqo85E+AQybaw+8UgcejrtD12g9vUXcV0owKWpH/9BFktNH3V/RlWwAI+6KnUfANviXdi2h7aP+yVgTTGVuWO3YNz7QN1IKF+itmWybEjiuiGWlJK3WYqVsVtD8Ua+QRBEGw07JVfv8La8KkwbEEAAA="
+ }
+ },
+ {
+ "ID": "eb1ea54f8b1d9635",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/vphucYB9hC5iTI1DUI3Aem8aXS8?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:50 GMT"
+ ],
+ "Etag": [
+ "nxLdGvELu0X51a1jS2hoMg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QTWvCQBCG/8v0GqFRBBvwoDbYQCptoqCUHtbNmMTu7qTZiW0Q/3t3bcFLTzMv8z7zdYaP2hQQwb4uPzts+7sS+dUnGdpOsXWhIWMRAkAWpXOa77RYnuK0u9+OQxEe82FFz+V06hxWVqgFRGc41KgKC9HbGYzQ6DEfAuC+8SpfZ8lq6bSmwuvVJk1n8zSGS3AjOn0DktU6XsbZf8T7JYAj7TM8YItGop/ftHREyYk/zVakVK+FGRSoacBoGa7EtXpqqk7u5g/VYlyvk/Bxk4xmqCdim0+cS5EUXJNxxk3ulgMmFiqjL3cbjOBPz3vX9KUlidaibxoOfycsSDcK2a3EbYcBSOE+9FQzRAehLF5+AHL/Qu5/AQAA"
+ }
+ },
+ {
+ "ID": "b31be1c84d590c29",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonfc597020_f055_43b8_900a_8728afabd8df/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:50 GMT"
+ ],
+ "Etag": [
+ "J1d+8bL5TCVRVrD4oDAKYw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7GaZoWyT5mIY4hwWFFbmY5Ls4ekeW29oCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsA5muVKsDYRkp1caC2Ai5RLicIYZcMlzOGCQXWwsAn0oY6LAAAAA="
+ }
+ },
+ {
+ "ID": "2448ca961dc642a7",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "556"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJleHRlcm5hbERhdGFDb25maWd1cmF0aW9uIjp7ImNzdk9wdGlvbnMiOnsiZmllbGREZWxpbWl0ZXIiOiIsIiwic2tpcExlYWRpbmdSb3dzIjoiMSJ9LCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJudW0iLCJ0eXBlIjoiSU5URUdFUiJ9XX0sInNvdXJjZUZvcm1hdCI6IkNTViIsInNvdXJjZVVyaXMiOlsiZ3M6Ly9zaG9sbHltYW4tZGVtby10ZXN0L2JxLXRlc3QtdGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAxNi5jc3YiXX0sInNjaGVtYSI6eyJmaWVsZHMiOlt7Im5hbWUiOiJuYW1lIiwidHlwZSI6IlNUUklORyJ9LHsibmFtZSI6Im51bSIsInR5cGUiOiJJTlRFR0VSIn1dfSwidGFibGVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDE3In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:50 GMT"
+ ],
+ "Etag": [
+ "CpCiKYaxKmdPFI2QP3QIuA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42TYW/aMBCG/4v3FYgT1ACR+qGjtIrKWBvSqdNUIZMcwcOxU9vQIsR/3zkNRWq7jU+W7967e+6NsyMrLnMSkTkvntagt18smwsgLQKWFRgfVkN+85O93JT57VUc3N127+L1xfk5KrirM0slxLZksp1DqdoWjI1yZpkBOwuoP/Bp0J+F4YCGZwNKB108ZpRSv1PP+YfE7+EIA2Ix5nKFg5bWVibyvANop1CqEMAqbjqZKt/i3ibwKq1+Q2aN9wmd19AZ7xRMr8Y03km0tSiBBWiQGZBoRxqQ+C9OYU0DUStOATqMqQtOoNqjidkSSuZwFhxEbkj0a0ckK5Hw9cCW28rdpmkST66x5phfl8d0PElH16OE7B+xK2a+bnEJjFNSX8dKFino9+FEPR9umQZmuZIpr5v7Z70g6Pf6Dt75By8V1x8F/S7t4eooEMzYbyrnuEf+oUfXD4+oo4d0lEwuxnVXC1oycYnuDpVc8GL9OsQ5YtRaZ3CvuXOFFO6BffZm5k/12f6v4WEnMxvy2GoaXyldMut+o+kPt7/ZfK/caPP2NS5B8JIjIYpa7sWveDUGlnNZNMb5ZI92C5U10OR+SvZ/AF7QcQe4AwAA"
+ }
+ },
+ {
+ "ID": "6f2fc31083e53cca",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "236"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICogRlJPTSBkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEudGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAxNyIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoib1I1MHdnWUd0ZHI4Q1k0b20ySXZ2TTVWd1JpIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:50 GMT"
+ ],
+ "Etag": [
+ "ASjDhj92AAEgxMpVIRAoOw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXW+bQBD8K9H1raoNBxwflqLWskmElDgqxqn8hA5Y43OAI9zZrhXlv3fBSVS1adQnYHdmZ5jdJ/IgmoJMSCbKxz10p087mZEvBDQvsTpd7ubbXWBNp2H587a9j+KpvDteXiJC9Cy1lVV1qnkzKqCWIw1KT1bLsYyZeSzX17ro/NnakbUVHQ637P4YC2QqqDY3onlA/lbrVk0M41V9XEpZVsBboca5rN/qxsEy2k7uINfKeEfUQNfK+ED2ayVzroVsLldLtLBX0KVQc1GhiX7AqJOZ1N/eGT0WvB6XiD+IHHiey32je284JZfNRpT7bhhMJk9k8PrbC1mGN+Esufh8cRXf3V4UXHMFOrVMGlDT8lPXDUyXBaYZ2PhITdOkY82zCj6AUA+VCzQmmkE36fG95ks+0T/20rPO+gMizQAsz82KgFHq0I3rMuZz6jmBHeRBwRwrt8EybY68wdLA4o1s7CJjSHPSDfXc1LGpk2YWdVPmgO/ZbsYK3yfPmE4HXMNcqFYqcU6IzOJwmoRpdJUuwnAeznH4sRN/on7EEYKSeLWYIRoxbSckwvpEo0USxtNZEt2H5z3eQMnz0/IRN7nhlQJUxmNITi2GQr6vwnhNzqUYNtBBk/9nWMgYuh/f8utZIRAPC4WUxm9cTq56mSGDfkmi7u1Q5lmW7/nUdJhDBnCn/+oxL8De2y31E6GGRr/80/mmyPOL2F69gbCJmS2ixTV2fwFhic3E2gMAAA=="
+ }
+ },
+ {
+ "ID": "2f8027403a19d1c3",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/oR50wgYGtdr8CY4om2IvvM5VwRi?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:51 GMT"
+ ],
+ "Etag": [
+ "DxRabi0owJ4KP4G8paI66w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QTU/CQBCG/8t4LQkiENKEg2BTq0hwARNiPCzttCzudmp3Sm1I/7tbNOHiaebNvM98neFT5Qn4sFfZV4Vlc5Mhv3aJQFtpti4UlFsED5Bl5pwP30LuVZ/qp+HzahhOChmNx/V06hw2PqCR4J8hVagTC/77GXJp0GGX4AE3RafWGxEtQ6cNJZ1ebheL+9kigNa7EpW5AtFyE4SB+I/4aD040l5giiXmMXbzi5KOGHPUnWYPpHVjZN5L0FCP0TJciEuVxKhfZ7uQk3Iy3w3JDKLT6WX0VgvlXJpiyYpyZ9yu3XLAxFILqt1tcAd/eta4pquSYrQWu6a3g98JczKFRnYrcVmhB7F0H3pUDH4qtcX2B3sdNuF/AQAA"
+ }
+ },
+ {
+ "ID": "1e2eaf6b1918c6e7",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon3db5bd94_f176_4314_b216_54e8736b5d88/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:51 GMT"
+ ],
+ "Etag": [
+ "4j12MRVv3xOz3coQxRWq6w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbZBka+QaFlRlX+FcZJ+cHVgSFF5qV29oCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsA5muVKsDYRkp1caC2Ai5RLicIYZcMlzOGCQXWwsAg8Vx0bAAAAA="
+ }
+ },
+ {
+ "ID": "7026c07edca1695e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0017?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:51 GMT"
+ ],
+ "Etag": [
+ "CpCiKYaxKmdPFI2QP3QIuA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42TYW/aMBCG/4v3FYgT1ACR+qGjtIrKWBvSqdNUIZMcwcOxU9vQIsR/3zkNRWq7jU+W7967e+6NsyMrLnMSkTkvntagt18smwsgLQKWFRgfVkN+85O93JT57VUc3N127+L1xfk5KrirM0slxLZksp1DqdoWjI1yZpkBOwuoP/Bp0J+F4YCGZwNKB108ZpRSv1PP+YfE7+EIA2Ix5nKFg5bWVibyvANop1CqEMAqbjqZKt/i3ibwKq1+Q2aN9wmd19AZ7xRMr8Y03km0tSiBBWiQGZBoRxqQ+C9OYU0DUStOATqMqQtOoNqjidkSSuZwFhxEbkj0a0ckK5Hw9cCW28rdpmkST66x5phfl8d0PElH16OE7B+xK2a+bnEJjFNSX8dKFino9+FEPR9umQZmuZIpr5v7Z70g6Pf6Dt75By8V1x8F/S7t4eooEMzYbyrnuEf+oUfXD4+oo4d0lEwuxnVXC1oycYnuDpVc8GL9OsQ5YtRaZ3CvuXOFFO6BffZm5k/12f6v4WEnMxvy2GoaXyldMut+o+kPt7/ZfK/caPP2NS5B8JIjIYpa7sWveDUGlnNZNMb5ZI92C5U10OR+SvZ/AF7QcQe4AwAA"
+ }
+ },
+ {
+ "ID": "e97e3aa755c88575",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://www.googleapis.com/storage/v1/b/shollyman-demo-test/o/bq-test-table_20191028_66906590093659_0016.csv?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 204,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "no-cache, no-store, max-age=0, must-revalidate"
+ ],
+ "Content-Length": [
+ "0"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:52 GMT"
+ ],
+ "Expires": [
+ "Mon, 01 Jan 1990 00:00:00 GMT"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Server": [
+ "UploadServer"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin"
+ ],
+ "X-Guploader-Uploadid": [
+ "AEnB2UqiWfcy5JSDn0peycZ-pq80XYA9xgPaFfnXMl9juv2sZEdN6UZwvV56nFdaqFnACUVRwWLOD8Ey7FwCkusdFZczRTtn_D8XRj6Km944atJ7yRzugJM"
+ ]
+ },
+ "Body": ""
+ }
+ },
+ {
+ "ID": "6807fd7b35129d13",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0016?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:52 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "19daa71025199c7f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTgifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:52 GMT"
+ ],
+ "Etag": [
+ "BNEF5WsGLdGY5cUQAQtE0A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S3U7CQBCF32W9VXZbBUoTL4quhKSC1BpjjCFLO5TVtlu76w8hvLvTCtaIGtKLzZw5Z+bLpCvyJPOYuGQmk+cXKJcHRsxSIIcEjEhQ74/4RftWD/x4cNeObibexHDmnZ6iQ1Y5vVBpusxEfhRDpo4MaOPGwggNZmozq2cx25l2Oj3WafcY6x3jM2WMWa16zz8Wy8EVGtK5L/MnXLQwptAupVvQVqJUkoIopG5FKvvS6atNi1I9QmQ0/YWObug03QeT1pia7kVbmwKYQwl5BMRdkQ3I8I9LYWYDUTv2AdquqQN7UK3xiNECMlHhzCWksSbu/YrkIkPCzwdHLouqug6D4WiAmab/kummPxyFfMADFDIVV0LAr7gX8vPvkRKiJhHws3FwjvXu6plSaWPsj8c+90Zk/YDfYbW3v8QTYYeRuvRVnoRQ/pQD9batohKEkSoPZT3fandt2+k6lm2fdKof+r2Q5a7BOWZdPCwaUqHNpYolosa7MxyrgQ29vs+rhIrqgSjdXJP1B/nb0HFNAwAA"
+ }
+ },
+ {
+ "ID": "6d7c1016f011922d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0018/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "105"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6IlBVUktIQThKWjh0bTVuSkQ1ZkpIVVhCZmhJcSIsImpzb24iOnsibmFtZSI6bnVsbCwibnVtcyI6W10sInJlYyI6eyJib29sIjpudWxsfX19XX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:52 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTMK04tKnHMyQlKLS7IB3KUagGmFzWCLgAAAA=="
+ }
+ },
+ {
+ "ID": "e370c7a558c19ce2",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0018/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:52 GMT"
+ ],
+ "Etag": [
+ "OnHzgA3+l3ESC+Sx6N2oFA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8r753lUpTsaa+cYuwY7awdXmPkZ5bs52toCVZTklyTmBOWXFwOVGSjVAgCmwRjgUwAAAA=="
+ }
+ },
+ {
+ "ID": "f383c4982718616e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0018?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:52 GMT"
+ ],
+ "Etag": [
+ "BNEF5WsGLdGY5cUQAQtE0A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "365d79896ad9ed62",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0018/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:53 GMT"
+ ],
+ "Etag": [
+ "nCZ+muwhAbUbUWE2zKcV4A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnOUdp55aWZzgmhSaFhrsaVXknh5k42toCVZTklyTmBOWXFwOVGQD5RWBmdLVSGpgsU7LKK83JqdUBM6NjoQx06dhaIIqtBQBvgOV7kQAAAA=="
+ }
+ },
+ {
+ "ID": "b8656343ef3e6714",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0018?alt=json\u0026fields=schema\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:53 GMT"
+ ],
+ "Etag": [
+ "BNEF5WsGLdGY5cUQAQtE0A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWKk7OSM1NVLKqVkrLTM1JKVayiq5WykvMTVWyglA6SiWVBSBecEiQp5+7Uq0OQr40txgh7+kX4uruGgQUyM1PAQkEuQa4Ooa4uiBrKUpNRugIcnX2D3IB8jGtTsrPz0EodPL393F19FOqjQXCWgCN1fK3tQAAAA=="
+ }
+ },
+ {
+ "ID": "f456a1ff29c84278",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "306"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7ImRlZmF1bHREYXRhc2V0Ijp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifSwicXVlcnkiOiJzZWxlY3QgbmFtZSBmcm9tIHRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTgiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkdUYmtiWGxjSjNZVXVMQ3gxZHk0Y0RCRlU0MCIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:54 GMT"
+ ],
+ "Etag": [
+ "+GAmcoPW3jua6evKKlP1VQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TXU/bQBD8K+j62BKfv+1IqKWJQSlRBIkD5ck6n9fmwPYF35k2Qvz37jkBoZbSPtm+nZmd3Rs/kjvRFmRMclHd99BtP9zKnHwioFmFpx9Pjxsuz6/c254F8HB2Vp/blxdHR4gQhqVuZF1vG9YeFtDIQw1Kj9er0Wma3+Xfa/7NvV7388lPu9h6fPr1ZO1RZCqoy7lo75B/o/VGjS3rufuokrKqgW2EGnHZvJxbD4616eQtcK2sN5pa6FpZ77T9XEvOtJDt0XqFFnoFXQYNEzWaMAKHncyl/vKG9EiwZlQh/kFwYJzLvtXGG6pw2Zai6rtBmIwfyeD11YsZFS0ftKyBg7KTzYFmeQ2ZQ+3Ypk6UBUFMAz+mNHbxkVFqR6hbYFvRDqqpwRvF/fSzv2zdsJhmCnaILAdwwiAvYt+2PbsMAt+PmB16sRvzuPA9h7vgUJchb7A0sFgr26IoAXgMmVtGbubFYZzFfu5klPuhH0GIxIA84ewdMA1ToTZSid38ZLJMjtMkm51kiySZJlMU/9GJ31FXyxmC0uV6MUH0MG7J+lpPd/7NsK9H2b+/szNqo8i/9vNkIEKiHXMvs0WaLI8n6ewy2aVhDhXj29U95qFktQKEY6TS7QaXTy7WyfKa7I6WUEIHLf/PS0HGUH3/j3gOJwIxnthIafzGEHBl2gy7NmEQjbFj+6HjRGFkezQMyADu9B81h5oovSTSKEIDrd7PtErmySQlT/tmvXoBYRHvZjFbnGL1F4aeSQEgBAAA"
+ }
+ },
+ {
+ "ID": "9b2d48dffcd0caa1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/GTbkbXlcJ3YUuLCx1dy4cDBFU40?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:54 GMT"
+ ],
+ "Etag": [
+ "4ycYBFDlOo4/UbZf1jjWtw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y1P0U6DQBD8l/WVxjbyRNIHaW2tIVVpiVbjw3EsFHp3i9ySSgj/7oE+zU52dma2h0tpMgggLYvvFpvupkB+HYcYbavYOqjJWAQPkEXhlH4nT+FmrZ7Jv03Sj3xRVW98XS6dwsozagFBD3mJKrMQfPZghEZ3NoEH3NUjOxzj3X7ruKZs5Pskiu7D6AGGr8GDitIYc2zQSBzd6oYqlLwbi9ozKdVpYWYZapoxWobpYtpuj+klfVfy6e6UtNHqZ5F1vlyHm8SfO5UiKbgk44TJAVwQEwsV09U1hQX887Bzpi8NSbQWR9P5X8CKdK2QXSNuWvRACvfuY8kQ5EJZHH4BgoM0VEwBAAA="
+ }
+ },
+ {
+ "ID": "c43448bf0ff8e50e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonddfeec9e_3f83_4979_95b2_0c5758e72c36/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:55 GMT"
+ ],
+ "Etag": [
+ "JL8cJwenC9svu+inOTD5Kg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7+Vgke5Wn5jlbFpeVamfm+Ye4mHqn29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7LKK83JqY0FQgBW4/RhbwAAAA=="
+ }
+ },
+ {
+ "ID": "bb3d39d5fa0cc00e",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0018?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:55 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "74f0637283ab5fc1",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "217"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0IHdvcmQgZnJvbSBbYmlncXVlcnktcHVibGljLWRhdGE6c2FtcGxlcy5zaGFrZXNwZWFyZV0gbGltaXQgMSIsInVzZUxlZ2FjeVNxbCI6dHJ1ZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJndlBHYVA4cjJrVU52OUd3NllraE1IazN5M3MiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:55 GMT"
+ ],
+ "Etag": [
+ "X73OV5Tv0r9QFoPVRlG7+g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S72/aMBD9V1D2cYM0zg8IUrVVNGVIHWtD6FZNE7KdS3BJ4tR2QKjq/74ztNW0ddW+RI7v3b3n9+7B2Ygmd8YOE+V9B2r/7k4y54MDhpZ4+33of70Js+2Jiq8v5NVNWk2H78vTU0QI26XXsqr2NW36OdSyb0Cb8XIxKLdXU3o1UmSznG/j6S663ay/fN74e19jp4aquBTNBvvXxrR67LrP7INSyrIC2go94LJ+uXe3xG2VvANutPsKqYuqtfsG7cdKcmqEbE6XC5TQaVArqKmoUIQd0FeSSfPpldEDQetBifit4EA5l11jrDacwmVTiLJTh8HO+ME5aP3tYJ+Kkns7qfJeoWTd+/H8on7bsUrwfk4NHWtatxXogV7TDegWqIKfvUrUwvQ85MlRhmgOLBllFViGJzdm/0jBduFkDUfEigGQYcTyOPS8wCuiKAxH1BsGsR/zOA8Dwn0gJz7FPmMpDl20kY0XMMZOgggIhaDwaRgzQhiP8RMFPivIiOQ5cN95RD8UUAPnQrdSi6MnziRNzrJkNbtYzZPkPDlHgp0Sf6K+pTMEZelyPkE0YlolJMKsh7N5lqRnk2x2kxyTu4SS8v3iHrMzqgMkxvSzfYu+ONfLJL11jlcpFKCg4f/pF3Ycqm8v7/MeIRA3CYm0wX/Mh2tLc7DA5iRqK8cLh4SMhiMv9IlNEsHK/FULoghrL8tjJ0INjXl60yK5TCaZ8/hE1ukXEBbRsvlsPsXqLwpYrH3LAwAA"
+ }
+ },
+ {
+ "ID": "52618b87671a91bb",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/gvPGaP8r2kUNv9Gw6YkhMHk3y3s?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:55 GMT"
+ ],
+ "Etag": [
+ "V4KEpQbJglN3jc319Ba0fg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBBG32W8hQSsMULChRgCaG1KsSbGeLFsp7/bTt0daBrCuzsFr3ZP9sw3356hKpoE5nAost8j2v4uQ94Nlwjd0bCTo6XGIYwAWWVifj68rdrd4TUzgVdqbzpbqkmaLRZiOJ1jrWB+hrRAkziYf5+hUTXKWEc2EYX7dqD9R7QN1sI1JQMHse8/L/0VXH4uIyjpEGGKFhuNQ1prqUTN26Goy8mYvlbNOMGaxoyO4Tpxfc1O4VqFT/a+ioPTbN09flX5+6byes+JZUgrLqgRMd6DLGJiZSLqpClM4Z+XvYSGljQ6h0Po5LbgherWIEsjtkccgVby3U3BN778AdROBytLAQAA"
+ }
+ },
+ {
+ "ID": "f2e93786cf940883",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "218"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0IHdvcmQgZnJvbSBbYmlncXVlcnktcHVibGljLWRhdGE6c2FtcGxlcy5zaGFrZXNwZWFyZV0gbGltaXQgMSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiandjbWN3VU9RZGYzampJZ2F3ZllhNndReUtwIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:56 GMT"
+ ],
+ "Etag": [
+ "HOI3lzRokig7ymOOsO8yfQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/91S607bMBR+Fcv7SxNaNCiRqm3aKq0aouptEirVOHVOUre+BNuhZIh333EKu2iMB5iUH/E53/kux37gO2lynvG1LG9rdM2brV3zI44BSqp+Ho9O1Pep3cnyrNHjsR/3m2IyGBBCxim/sUo1GkwnR207AX3IFrNkuxda7BfjSV6cbLejEvbFFZzuJ82XiiY9quJCmh3Nb0KofJamz+pJaW2pECrpE2H1z3p610srZ7cogk9fEE3JtU9fkX2nrIAgrRksZmSh9ui+oQapyEQk6Di7tuH9C9SJBJ2UhL+TAkEIW5sQvRGLsKaQZe1aYp498Nbrbz8xKllme+tyVjir2fI5Uaeq10qKTg4BMg+6UugTv4Ed+grB4YopqWVgXdKpnLROhkg4upwPpx8+zkdfh4cYF1iCaGa3FKQA5fHxiNMu5k2FhJ4shtMrfihNsUCHRmD097TL0T/ukLcTbff1q3zeKgFpryTkA519kMJHGeGwbc+ljna6b896vf5Zv3t6fHzOW7ALf/d6p/EBmvzFzpNG3fKjc9ZN0dcqxCOp+daLNHegZD5pb+EPl7dPJY3eQxnpZ40JcM9aqowtDN5XtBnM2TVfXnMGgS27Wbe/StioYGEjPaMPWIC1QiZzNEEWEt0RQy+gQoIgM6CR7WXYsBuqJ2XCblp8Ehs3jB7MBh0hwbDlr8YqielaI5Ru+V/kWR2uKxr7NL4c8sfHHz+eSg9yBAAA"
+ }
+ },
+ {
+ "ID": "b7d9391f6792a10f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/jwcmcwUOQdf3jjIgawfYa6wQyKp?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:56 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WQwWrDMBBE7/6KRecgEuih+BZoKYY20DbpxTH1xt44AllypU0bE/zvlRVDc+gPBARiZp7Q7J4TAEHOWSdSOAcRZGVrCupuPp9djJa8x2b0xHtvGE8QX6SwMXTqqGKqYSvyrQBkyBfp4r6QkO2BD8pDOAiMO02gajKs9orcDMhX2FFACAy2BD+KD1AGXzYSysjLMSjBYYBcINFA/hcUUkz1Yhkf2uVRwzTHDVSPFWvbojJjw0bbHerrzBF6GzNlvlGr+vVIrr8mtK2Q1YX5+i9Y910cv0MXvmZyYmKGeBfTEj0jH8climz1sXzOHj6Xb0+bl8fVeuSHZEh+AVVsNvkrAgAA"
+ }
+ },
+ {
+ "ID": "217f01f654f99eb5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "218"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0IHdvcmQgZnJvbSBbYmlncXVlcnktcHVibGljLWRhdGE6c2FtcGxlcy5zaGFrZXNwZWFyZV0gbGltaXQgMSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiQXVqOFdTYklGZzhzT2FXMXRLSE12aHBhdUpQIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:56 GMT"
+ ],
+ "Etag": [
+ "GuDFYbMm+EaIyFjg7wr/WQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/91S607bMBR+Fcv7OZqolUa7SGhDo2zduKy3IVSqceKcJC6OndpOoUK8+44D3UVjPMCk/IjP+c53OfY9v5E64wlPZbFu0G5frUzK9zh6KKj6sTk6vkxPq9dDGG2PV0X/1sYX44MDQsgw5Uqj1LYC3cmwMh2PzifzaXTYrAYX03R0XAzcOVx0/ZdPp5uyhubzV5p0qPITqW9ovvS+dkkc79SjwphCIdTSRcJUP+vxphfX1qxQeBc/IxqTaxe/IPtOGQFeGn0wn5KFxqH9jhVIRSYCQcea1Pj3z1BHEqqoIPxGCgQhTKN98EYswuhcFo1tiXlyz1uvv/2EqGSZ3Rqbsdyaii12iTp1kyopOhl4SBxUtUIXuRJu0NUIFpdMyUp61iWd2kpjpQ+Eo7PZcHL4YTb6NnyMcYIFiO10TUFyUA4f9jjtYratkdDj+XByyR9LE8zRohYY/D3tcvSPO+TtRNt9+Sp3WyUg7ZWEnKez81K4ICMstu2ZrIKd7pt+rzfoD7r7vf193oKt/7vXfxseoM6e7TxpNC0/WmvsBF2jfDiSmmu9SL0BJbNxewt/uFw/lSp0DopAP91qD3espUrYXONdTZvBjF3xxRVn4Nmim3QHy4iNcuZL6Rh9wDykCpnMUHuZS7R7DJ2AGgmCTEOF7Fb6kl1TPSoidt3io9C4ZvRgSrSEBM0WvxrLKKRrjVC6xX+RZ/l4XcHY0fnZkD88/ACS32T0cgQAAA=="
+ }
+ },
+ {
+ "ID": "0d4f35a94931296e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/Auj8WSbIFg8sOaW1tKHMvhpauJP?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:56 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WQwWrDMBBE7/6KRecgEuih+BZoKYY20DbpxTH1xt44AllypU0bE/zvlRVDc+gPBARiZp7Q7J4TAEHOWSdSOAcRZGVrCupuPp9djJa8x2b0xHtvGE8QX6SwMXTqqGKqYSvyrQBkyBfp4r6QkO2BD8pDOAiMO02gajKs9orcDMhX2FFACAy2BD+KD1AGXzYSysjLMSjBYYBcINFA/hcUUkz1Yhkf2uVRwzTHDVSPFWvbojJjw0bbHerrzBF6GzNlvlGr+vVIrr8mtK2Q1YX5+i9Y910cv0MXvmZyYmKGeBfTEj0jH8climz1sXzOHj6Xb0+bl8fVeuSHZEh+AVVsNvkrAgAA"
+ }
+ },
+ {
+ "ID": "05d1a03037919769",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "217"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0IHdvcmQgZnJvbSBgYmlncXVlcnktcHVibGljLWRhdGEuc2FtcGxlcy5zaGFrZXNwZWFyZWAgbGltaXQgMSIsInVzZUxlZ2FjeVNxbCI6dHJ1ZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJBeFJaeG1EU2pHcjhhazk2dzNqUTgwQWpYc04iLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:56 GMT"
+ ],
+ "Etag": [
+ "q+pKf6Cx7KHbgpJ/XzZNKg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/+1Sa28SQRT9K5v1i8bubkELlIQoaYkiBMPL1NbGzs5eloF5LDOzFGz4795ZWNNGbPS732bu45xzz70P/pLJxG/6MUtXOejti4WK/RMfLEkxunqd9Wa1i0299zFOs0/R1Y/rQS9ttbCCuS4zV5xvBZFBAkIFFoxtTsdhezO63ojL8eKDbpDlee3+zWLYOG0vrswAOw3wWZ/JJfbPrc1MM4pK9jBVKuVAMmZCqsSveLSuRplWC6DWREdII1Rtomdo33FFiWVKtqZjlJAb0N9BEMZRhAMItIqVfX8EOmREhCnWrxkFQqnKpXXaEIUqOWNprgtgv/ngF1ofPdyoKNm7VzrxZloJ766cKMjymDMaJMSS0BCRcTChmZMlmAyIhjuPM8GsV0GeTDOlmXWA3cGkM2pfTLpfOvsx+pASuh2vcBCrc9id+GjFZJsBFg+nndFXfx8awQw0SApO3sHK7h9W6BcdRfb5TZamYiHaikTG4t9YRo2joRqK9IQJJ6dyVq9WG/VGpfb2/NQvirX9LXdWcTmQydHMgSMv8EFrpUdgcm7dF9lMoYXJNeF4n08E/r3z2CfAGJI6+u4ey7Mk5uBJIqD5D0v8Jm8meuvlhsnUQ+EyIXgJ42Hfe1mePuUqTw53//TmE0VNpMu9RWV7YFY8Aol6EDR4HH11GzqDClvQoJv/luwtud0fjdN++XnQ8Xe7nxVTqh/3BAAA"
+ }
+ },
+ {
+ "ID": "a5019c8a6c744397",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/AxRZxmDSjGr8ak96w3jQ80AjXsN?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:56 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/92QQUsDMRCF7/srwp4U3KQHT3srKFKoBbV6qcXOJmMazCbbTFYoZf+72XQL/Q2ehvde5pFvTgVjJYbgQ1mzUxJJSq8wqfvZ7O5stEgEevTKhfsFaxSL0FhkDlqs2a4x+tBjOFZd31gjKwUROEHbWSROe/hB6hAC7j7dZh2OrCfjNKMITkFQ7O1lyW72MXZUCyGt7xXX3muLXPpWXMqF8pJEwG8M6CSKy3pFByvQpf+k0uravd3yciLIhJQANlmzCfV/0GUK5VswboTQ1jdgr7OAQD5n5gxYTtmQ53Y6UmqPPeU7rD7my8XD1/z16f35cbUe3w/FUPwBjqyvuS4CAAA="
+ }
+ },
+ {
+ "ID": "c88f844ac82188ae",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "218"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0IHdvcmQgZnJvbSBgYmlncXVlcnktcHVibGljLWRhdGEuc2FtcGxlcy5zaGFrZXNwZWFyZWAgbGltaXQgMSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoib1N0aGp4UU10cFlSb0xRVWxGWDN1a1ZoY2Q0IiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:57 GMT"
+ ],
+ "Etag": [
+ "Bk69o6oiPAZo3pY3wYd0pg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXW/aQBD8K+j6Wmz8DUhRmxKnQqKoGJOWvpDzeW0ObJ9zdw5FUf5714agqk2jvtm3Mzuzs/tE9rxKyZgkPH9oQB7f7URC3hPQNMfXT3t/JHzBv17/EE69dg7rdFDnV1eI4C1LbUVRHEta9VMoRV+D0uPV0hBLvd39XHzR9ToSs8WquP3uNPu7LUtdZCooshmv9sjfal2rsWm+qBu5EHkBtObKYKK8vJuPtllLsQOmlfmKqImulfmG7IdCMKq5qK5WS7TQKJAbKCkv0ETboC9FIvTHV1obnJZGjvhHzoAyJppKt96wCxNVxvNGdo3J+Il0Xn/7aEdFy72DkGkvk6Ls3b9M1K+bpOCsn1JNDUXLugBlqC3dg6qBSrjvFbzkumehToo2eNWpxDQpoFU4pzH9xxZaFnZWcEJsEgA78JN05FmWa2W+73lDagXuyBmxUeq5NnPAHjgUebqV6Fi0EtUA/MQeuH4aZK7jZXYyAieA1AInGVgD2w6cYeC6QUaeMQ8JVMMNV7VQ/JQJmUThdRxuprebeRjehDcocJD8T9S3aIqgOFrNJ4hGTC25QFib4XQeh9H1JJ7ehafNzSCn7Lh8wN1ltFCAyrj++FhjMGSxCqM1OT1FkIGEiv1nYMjoqm9f78shIRBPCYWUxn9cEFOtTJdBuyhetnYsL7DtYTC0/MDySQeW+q/a0PKwdrmetiOUUOnzTMtwFk5i8nwWa9QFhEXMbD6df8bqL+hoVmfMAwAA"
+ }
+ },
+ {
+ "ID": "6a0a5ced86b911e8",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/oSthjxQMtpYRoLQUlFX3ukVhcd4?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:57 GMT"
+ ],
+ "Etag": [
+ "7ydy5G4pgswmGn4VZcQr4A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PXU8CMRBF/8v4ConGNSYkPIDRlWQl7iLEj/hQ2mE/aDtrOxvcEP67s+BTe9Izd26PsK+9gQls6/Knw9Bflcj5cCkwdpajHC35iDACZFWKed+b/i5N2jIeXOqTzafOQzKbTsWIukKnYHKEXY3WRJh8HcErhzJ2oGBE4b4daPVWLJapsCMz8HKdZbN59gin79MIGtoWuMOAXuOQ1gZqUPNiKBorsrZ3yo8NOhozRobzxPmVVlw1v/kLtx8FZfnaPr3fdvtNpU0iliWtuCYv4noFsoiJlS3oIE3hBv553kvoayCNMeIQen1Z8ECutcjSiEOHI9BKvvtc84VPf3onWkxLAQAA"
+ }
+ },
+ {
+ "ID": "d5f7cb5b525894ab",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "218"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0IHdvcmQgZnJvbSBgYmlncXVlcnktcHVibGljLWRhdGEuc2FtcGxlcy5zaGFrZXNwZWFyZWAgbGltaXQgMSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiTnRObHdjNnUzQWhvUTdIeGgwWjJEcE0xU2t4IiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:57 GMT"
+ ],
+ "Etag": [
+ "IUHNop7Qw2WQ5e4CIrS8Iw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXW/aQBD8K+j6Wmz8DUioReA2llJLgGnUvpDzeW0u2D7n7hyCovz3rg2JqjaN+mbfzuzMzu4TOfA6I1OS8uK+BXn6cCdS8pGApgW+RturWDTB6mjfrDxwF5HcjKPjbIYI3rHUXpTlqaL1MINKDDUoPd1ujFjH5ZH5rTPfi1Vw9bgf/bSXzTdrc3hEpoIyv+b1Afl7rRs1Nc0XdaMQoiiBNlwZTFSv7+aDbTZS3AHTynxD1ETXynxH9lMpGNVc1LPtBi20CuQOKspLNNE1GEqRCv35jdYGp5VRIP6BM6CMibbWnTfswkSd86KVfWMyfSK9198+ulHR8uAoZDbIpagGty8TDZs2LTkbZlRTQ9GqKUEZak8PoBqgEm4HJa+4Hliok6ENXvcqCU1L6BQuaUT/2ELHws4KzohdCmAHfppNPMtyrdz3PW9MrcCdOBM2yTzXZg7YI4ciT3cSPYvWoh6Bn9oj18+C3HW83E4n4ASQWeCkI2tk24EzDlw3yMkz5iGBalhy1QjFz5mQxTqcJ+Eu+rKLw3AZLlHgKPmfqJt1hKBkvY0XiEZMI7lAWJdhFCfher5Iou/heXPXUFB22tzj7nJaKkBlXH9yajAYstqG6x/k/LSGHCTU7D8DQ0Zfff96Xw4JgXhKKKQ0/uOCmOpk+gy6RfGqs2N5gW2Pg7EVOMGY9GCp/6p5Ex9rr9fTdYQKan2ZaRNeh4uEPF/EWvUKwiJmFkfxV6z+AtKVAE3MAwAA"
+ }
+ },
+ {
+ "ID": "8a1dffe8652e2abe",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/NtNlwc6u3AhoQ7Hxh0Z2DpM1Skx?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:58 GMT"
+ ],
+ "Etag": [
+ "J7IuKE5wg9PbtrdujlXuDQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U7CQBBF/2V8hQQ0SmzCAwgRtDZQJDEaH5bt0Ba2nbo7m9I0/DtT8Gn3ZM/cudvCMS8TCGCXp38ebXOXIq+7S4zOG3ZyVFQ6hB4gq1TMt9HSv88f6/R5tWOb+IP58rP1eCyG0xkWCoIW9jmaxEHw00KpCpSxmmwiCjdVR5vPeBm9CheUdBxtw3AyDedw/j334EC7GPdosdTYpVWWDqh52RV1GRnTFKrsJ1hQn9ExXCeurxFHptZP/mGS0Xq0OGWD7/tZ9THcHE9iGdKKcypF3G5AFjGxMjHV0hSG8M/TRkJXljQ6h13o4LbghYrKIEsjth57oJV8d5Hzjc8X4VUu4UsBAAA="
+ }
+ },
+ {
+ "ID": "9d0b2861bc3d934f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "366"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im1vZGUiOiJSRVBFQVRFRCIsIm5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifSx7ImZpZWxkcyI6W3sibmFtZSI6ImJvb2wiLCJ0eXBlIjoiQk9PTEVBTiJ9XSwibmFtZSI6InJlYyIsInR5cGUiOiJSRUNPUkQifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMTkifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:58 GMT"
+ ],
+ "Etag": [
+ "pxZTK0i42E7Y/YDIRyKAYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SW4/aMBCF/4v7CtgJl1ykfYBirRAUqmz2gVYrZJIhuJvEaWxaIsR/30kKTVW2FcqDNWfOmfk0yom8yjwmPtnK5PsByuqDEdsUSIeAEQnqxfFLOGdyYHNnTdfTWVDNx+vk4QEdss7pvUrTKhN5N4ZMdQ1o48fCCA1mYzPLs5jtbkYjj42GHmNeH58NY8zqNXv+Y7E8XKEh3S1k/oqL9sYU2qf0CtpLlEpSEIXUvUhlv3X6w6ZFqb5BZDR9h45e6DS9B5M2mJreRduYAthBCXkExD+RC8jsH5fCzAWicdwDdF3TBO6gOuMRoz1kosbZSUhjTfyvJ5KLDAl/PTiyKurqKQxmy0fMtP1Dptv+bBnyRx6gkKm4FgL+mY9DPv0zUkLUJgL+cRVMsb5dvVUqbY2T1WrBx0tyfsGvU++dVHgi7DDSlAuVJyGUf8uB+nmtohKEkSoPZTPfGjq27Tqu5VrOoP6hj4Usbw1unzl4WDSkQptPKpaIGt/MsK1+CxuOJwteJ1TUDETp+Ymc3wCZcxW1TQMAAA=="
+ }
+ },
+ {
+ "ID": "9d43a1b74286b21f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "226"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld18wIn0sInZpZXciOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIFtiaWdxdWVyeS1wdWJsaWMtZGF0YTpzYW1wbGVzLnNoYWtlc3BlYXJlXSIsInVzZUxlZ2FjeVNxbCI6dHJ1ZX19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:58 GMT"
+ ],
+ "Etag": [
+ "+qYcgJVq8LWs7UopTGBiDA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RUWvbMBSF/0rQHrfEstMktqEP62pKhjeo47SUUowi3zhqZMux5AYT8t93ZZKutBv0SZyre+/5jnQgW1HlJCQrUexaaLovhq0kkG8EDCuw/nX3wIufdzs/vtezparTmytx/f3yEjuEndMbJWVXsmqYQ6mGBrQJc2aYBpN51A1c6vnZdBrQ6SSgNBjjkVFK3ZHJXgTsM4qLNMh1LKotrtsYU+vQcc44o0KpQgKrhR5xVb7WnRfPqRv1DNxo5x8MzolBO5+BcfrQ2nnD1FcSWEMDFQcSHsjJbv6f1Dhzsuo7PmN7tukHXr2P+CB8AyWzpmsBMtckfDyQipXIQfaqye1gV1u1SJP57xvUpcqtTqLb5TyJrsnxCfdUbXnVIRxe2EwoY1UVKTTvy4nanxVvgBmhqlT0du5k5nn+zHf98WSM15Jp80vlAsHyDy0Xs+Av2t08ukdlU9kk/bdZ4iiOfqQDG2OwblQ5eDz/6bBuV1LwoX26ULOyxi8Z6Q3bgq6BNfCE21oNMRSMd4udJKFpWsCYUvEeGbcvF+T4ByKRxMzUAgAA"
+ }
+ },
+ {
+ "ID": "436b8a54244551c3",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_0?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:58 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "e67506591a5733d1",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "227"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld18xIn0sInZpZXciOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIFtiaWdxdWVyeS1wdWJsaWMtZGF0YTpzYW1wbGVzLnNoYWtlc3BlYXJlXSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:58 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WQwWrDMBBE7/6KRecgEuih+BZoKYY20DbpxTH1xt44AllypU0bE/zvlRVDc+gPBARiZp7Q7J4TAEHOWSdSOAcRZGVrCupuPp9djJa8x2b0xHtvGE8QX6SwMXTqqGKqYSvyrQBkyBfp4r6QkO2BD8pDOAiMO02gajKs9orcDMhX2FFACAy2BD+KD1AGXzYSysjLMSjBYYBcINFA/hcUUkz1Yhkf2uVRwzTHDVSPFWvbojJjw0bbHerrzBF6GzNlvlGr+vVIrr8mtK2Q1YX5+i9Y910cv0MXvmZyYmKGeBfTEj0jH8climz1sXzOHj6Xb0+bl8fVeuSHZEh+AVVsNvkrAgAA"
+ }
+ },
+ {
+ "ID": "4d42ed2d58302eac",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_1?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:58 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72PwW7CQAxE7/mK1Z6hclIaNTkjjsmFniq0Ml0XkDaxFDtFCOXf2Wxz4As4jWbG0jzfM2MsDQMPtjb3aKL9YU/RbWCz+g86EsHTnNmG1fzy2Pva7PEYyMiZQ7h12K89dbxWEq09KgqpKyCvcig+XVlWUH5UANV7FAcA+Zu6vwtdXW6XkQQhceM7ebPQvAwgDXnu8NLPO6fARwzP3UAonLqedTcj2KWckh6WR0RRR0ms7d7t2q9mOx9O2ZQ9ADSd8r1uAQAA"
+ }
+ },
+ {
+ "ID": "6f03df53ad536142",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "227"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld18yIn0sInZpZXciOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIFtiaWdxdWVyeS1wdWJsaWMtZGF0YTpzYW1wbGVzLnNoYWtlc3BlYXJlXSIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/9WQwWrDMBBE7/6KRecgEuih+BZoKYY20DbpxTH1xt44AllypU0bE/zvlRVDc+gPBARiZp7Q7J4TAEHOWSdSOAcRZGVrCupuPp9djJa8x2b0xHtvGE8QX6SwMXTqqGKqYSvyrQBkyBfp4r6QkO2BD8pDOAiMO02gajKs9orcDMhX2FFACAy2BD+KD1AGXzYSysjLMSjBYYBcINFA/hcUUkz1Yhkf2uVRwzTHDVSPFWvbojJjw0bbHerrzBF6GzNlvlGr+vVIrr8mtK2Q1YX5+i9Y910cv0MXvmZyYmKGeBfTEj0jH8climz1sXzOHj6Xb0+bl8fVeuSHZEh+AVVsNvkrAgAA"
+ }
+ },
+ {
+ "ID": "c1d50d0d7bfeccf9",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_2?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72PzYrCQBCE73mKYc66dKIbTM7iUS96EhnanfYHJmlIt4pI3t3JbA4+gaeiqhrq61dmjKWu487W5hVNtH/sKbo5zCf/QUMieB4yu2Y1J761vjZbPAYycuEQng22U08NT5VEa4+KQuoKyKscioUrywrK3wqgmkVxAJD/qLtf6eEKO44kCIkb++TNSPM1gDTkucFrO+ycAx8xfHYdoXDqWtbVgGDHsk96GB8RRb1JYt1s3WqzWy+Hwz7rszcBPx/MbgEAAA=="
+ }
+ },
+ {
+ "ID": "99480a915206a471",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_3?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72PwYrCQBBE7/mKYc4qnahhk7N4jBf3tCxD6/RGYZKGdKuI5N93MuawX7Cnoqoa6vUrM8bSMPBga/OKJtoze4puA5vFO+hIBNspsw2r+eFb72tzxFMgIxcO4dlhv/TU8VJJtPaoKKSugLzKofhwZVlBua0AqnUUBwD5St39Sg+3tvNIgpC48ZW8mWn+DSANee7w2k87beAThr/dQCicup51PyHYuRyTfs+PiKLeJLEejm5/+Gx20+GYjdkvLaOUVW4BAAA="
+ }
+ },
+ {
+ "ID": "6eadd20692bbf5fe",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "226"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld180In0sInZpZXciOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIGBiaWdxdWVyeS1wdWJsaWMtZGF0YS5zYW1wbGVzLnNoYWtlc3BlYXJlYCIsInVzZUxlZ2FjeVNxbCI6dHJ1ZX19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/92QQUsDMRCF7/srwp4U3KQHT3srKFKoBbV6qcXOJmMazCbbTFYoZf+72XQL/Q2ehvde5pFvTgVjJYbgQ1mzUxJJSq8wqfvZ7O5stEgEevTKhfsFaxSL0FhkDlqs2a4x+tBjOFZd31gjKwUROEHbWSROe/hB6hAC7j7dZh2OrCfjNKMITkFQ7O1lyW72MXZUCyGt7xXX3muLXPpWXMqF8pJEwG8M6CSKy3pFByvQpf+k0uravd3yciLIhJQANlmzCfV/0GUK5VswboTQ1jdgr7OAQD5n5gxYTtmQ53Y6UmqPPeU7rD7my8XD1/z16f35cbUe3w/FUPwBjqyvuS4CAAA="
+ }
+ },
+ {
+ "ID": "bd3421b0c3910834",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_4?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72PzYrCQBCE73mKYc66dDQbTM7iUS96EhnanfYHJmlIt4pI3t3JbA4+gaeiqhrq61dmjKWu487W5hVNtH/sKboCisl/0JAInofMrlnNiW+tr80Wj4GMXDiEZ4Pt1FPDUyXR2qOikLoZ5FUOs4UrywrK3wqgmkdxAJD/qLtf6eEKO44kCIkb++TNSPM1gDTkucFrO+ycAx8xfHYdoXDqWtbVgGDHsk96GB8RRb1JYt1s3WqzWy+Hwz7rszdre8QvbgEAAA=="
+ }
+ },
+ {
+ "ID": "67649221d810896a",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "227"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld181In0sInZpZXciOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIGBiaWdxdWVyeS1wdWJsaWMtZGF0YS5zYW1wbGVzLnNoYWtlc3BlYXJlYCIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Etag": [
+ "AayGkjmb0HWH04d30mJUJA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RW0/jMBCF/0rlfd3GTqCXROKhrCooyvLQCzysVsGNJ6mpHYfYpYqq/nfGUcuudkHiKTqTmTnfGR/IVlaCJGQty5cdNO03x9cKyHcCjpdYn/D2Zvus1+z28ZZdigum71Z3k6sr7JB+zm6MUq3mVV+ANn0H1iWCO27BZREL45BF42w4jNlwEDMWX+AnY4yFgcteJeyzAS6yoIpUVltct3GutgmlZ5ygNKZUwGtpg9zo9zp9jWjdmGfInaUfMNATg6VfgaFdaEv/YuoqcyiggSoHkhzIyW72SWqcOVl1HV+xPdt0A+/eRzxIvgHNvWkhQQlLkl8HUnGNHGRvGuEH29qrxXI+u79BrY3w+n6VppPrdEqOv3FPtdPXLcLhD0Y6mZqqXELzb3lu9meVN8CdNNVSdnbhYBRF49E4jIehv4vi1v00QiKY+K9lFF7+QXuYTR9R+VQ+SfdsnniaTn8sez5Gr2iM7j2d37Rf79ZK5n1/usByXeOTBHbDt2Br4A084badhRRKnreLF0WSgisLmFOZvGPG9asFOb4Bhlx+/NUCAAA="
+ }
+ },
+ {
+ "ID": "42ab895aa873c3e5",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_5?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:36:59 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "9fa5bd2794888bb6",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "227"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJkYXRhc2V0XzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRfdmlld182In0sInZpZXciOnsicXVlcnkiOiJTRUxFQ1Qgd29yZCBmcm9tIGBiaWdxdWVyeS1wdWJsaWMtZGF0YS5zYW1wbGVzLnNoYWtlc3BlYXJlYCIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:00 GMT"
+ ],
+ "Etag": [
+ "Yjxnnay3Cv7KElkpCkyZfw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42RX2/aMBTFvwryXkfshPEnkfrQoqhCy/oAdNNWTalJboIbx05jA40Q333XEXRVtUl9ss71vff8jn0klVA5ichGlM87aLtPlm8kkM8ELC+x/vPpRSnejeb76ddYVs286n4Vh6sr7BBuzmy1lF3N1TCHWg8tGBvl3HIDNg2YH/osmKWTScgm45CxcIRHyhjzPZvuBRzSCS4yIItEqArXba1tTETpBccrtS4l8EYYL9P1a53uA9q0+gkya+g/GOiZwdCPwNA+tKFvmPrKEgpoQWVAoiM52y3+kxpnzlZ9x0dsLzb9wKv3CR8k20LNnWkhQOaGRA9HoniNHOSg29wNdo1Tq/VycXeLuta503f3SXJ9k8Tk9Bv3qF190yEcXjDSy0Srcg3t+/JSHy4qa4FbodVa9Hb+eBoEs+nMD8PZF7yW3NhvOhcIlr9rCVgwGv9F+76If6ByqVyS/tsccZzE8/XAxRgUra4Hj5c/HTa7jRTZ0D2dZ3jd4Jd4ZssrMA3wFh5x285AAiXPutWzJFHBpQHMKXXWM+P6+xU5/QETr3kl1QIAAA=="
+ }
+ },
+ {
+ "ID": "1b0f287462dd84a6",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_6?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:00 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "dfce3a3b888918af",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/t_view_7?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:00 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72PvY7CQAyE+zzFams4OcAFkhpRhoarEFoZ1vxIm1iKHU4nlHe/zV6KewKq0cxYms+vzBhLXcedrcwrmmgv7Cm6Faxmf0FDIngbM1uzmiv3ra/MAc+BjNw5hJ8G27mnhudKopVHRSF1C8jLHBYbVxQlFJ8lQLmM4gAg/1D3fNC3W9tpJEFI3DgmbyaatwGkIc8NPtpx5xb4jOF/1xEKp65l3Y0IdiqHpKfpEVHUXhLr/uB2+696Ox4O2ZD9Al7ZKV5uAQAA"
+ }
+ },
+ {
+ "ID": "daac2b78d5b82095",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0019?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:00 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "e620ab3008a70dfd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?allUsers=false\u0026alt=json\u0026pageToken=\u0026prettyPrint=false\u0026projection=full",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:01 GMT"
+ ],
+ "Etag": [
+ "UDEdqWFU40uhL7e9V31qtQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/+19CVPjSJr2X3GwE1FV+1F03gcTE7sGDJgbH1zVFe5UKoUFvvABmI76719KsgHbkoBue2zPAhWFrTzevJ73zEz9uWK66nplfaW8lXPvzrfLBPSqB9zIMwzvuqf/+tfK6sqt33BtDse/vuuZdv+/bprOgd/p2pSGeeyeqGtTat6ahs0CKUdIcM4xB+y72b7a4pcE75/19gtPzeyxn7/K750Dra9sWVtLZ2X9x58rflB5p9qs1fp11fjumnrze9d0uuvl4tpR96j2oFkPZ6vNU777WAVXaKt1CIu3j/ENiyouGM+0TUOblfU/V1rt5o3R3XwCmahEmJpOrdbUqus3g36Wiyu/Vlc6XdW1FFa2jo9yK9FXOyy+7gRUdduEuUt+3byMjIB2aESUud2dSKOS2TTTcCdSGOI2pdvsqtpG3zb7pN3UptMxQbOBTQkHIKCbnOUlZcOv1Z4fa6WrZtfvrqx32z0z6FXdNLqlfitoQzF3kNssrfyyHdbNhudf99qDYfjzhergw0rH1OxQZx6abTfjtZv1zB/Dyfne6jk1X393VVetdVS9VTOdtU5V3ZpOy6i2+SNT8+t+NwNtk1w7LX4jGj7l1N45i0HNHRPlqDjGIM4cV1IICfQYo1QoyInEUkuXEqSxQQCrYFwCEmEp1Wg2gGEOAoS53COYesiRBnPjQoMdAAFCHAtOCPeCBRDOsdnyO61mxx8sjc1CLlvKVfLblaNcbiu3ZQk8tP3xXOeFvM1UKpSPNm1um6fV9ps2WzCG+aNSrpDdLOXPgoRexxyYa6X7xbvayrqnah3zK1yxg+k5LecKl8PV2AuX3si6/BVW0a6YuvJtBSvBYH1vN51m939jhnHNV/W1a5v/3tdGad3sNbprulm31aQDtVnsVm8eTw+7rctC8+C0XNu+wL3bs6p2yQyAmk5tOkBlHLIkoDIBaTxQmcDsE6ifQF1YoGYfC1eP9a3izU5bqFvJHvDNqQDZm4vO0QyAmk7tLaCadrvZLphOr9YNyNpJ7ISZ/ca9qtlOjtTw/gVsy9Ut3qzeEkxiVFcmXFyZhqqb9Q9g4ffGj1K7n+l1/MZ1xra+4SoLqOLpQeZrtdttddZ/+03Xmj137brZvK6ZYIZ+G1b+m9vUnd/aw4H9bVj8e+eu9ptp2PbYSr+/fvrt59pwlN7Bv4gEifyLQpDAv4KUfyMHeSecAo73Fpo+V0vsagmHJdK0P4ckGJKfq/NhvL0bcV508tvXonOszmF3f/fwvtpSvb2TWTDeVGp/k/GehixgpJq7waOXdVHsN7rqMRNWtZ4pW1OxZZtu3MzvKz9+X8mobuYHXIfi51om72W6Vb+Tsf/UYBn5rtVrfM837dWM6WjVMjZLtLoyD363mvnDPl+7Xsv8EeZfCxL+yFhuVTVtm1M1Mj9eEj7ENRFL1voQlwlcM0j5a1zzRxxU1mOg8vPjXPNdSsh/4lyn8Lwl7M+cGNbNg67rh/Lxqevhm5v8tXrwLhV7OO3vt2bAsNKpfTKsRIYFgExkWAAl+JPClE+GtTBz/cmwpsCwru9PdtSJaKPb8tG93Hlgl7fVw91b3MedGTCsdGrT8UFRjGASuClhCeCmRKKl9EH9JdYyTx8UJI7jAMIMUoZ4WFHpIORoaf9jBDseEsh1jcbz8UG9x2ieB053Ss6tc1HTe/iy3DvYfIRun+itjSD2NAOcplObDk4J4IlWA0FAxOPUAvidQZ3ww0lNNUIJEbDZAGsArGeOe91WL+iuPywUNuKwM0IIs0ETxp5TgIMlp/xuIehX9v56ZR2sQTH6i6Ish50wfQW9LnKoHlOLhOlhETt07isq0YNhneB1hqjOYYaohpD5NOu2r+Z1Uwkd/cXPuYY107GCgwanFYwo0iEYX+jBwZNh3RCO5AnLveSJqgnzdKo9z6uZaLLCqQ5SYhOKrdf8tm205Y6dgh2JQYnBk3NLoxvFXAOGoNrKlqrlG7aaYd1Bf2rGKgEncalDFrCyeXx4cpArRYvdtCIlZABCy54CntTpOcOklX/A9XD9ra5sF44PIw2iggCUECBRYUwCRqXVSbH9UwEAipWfAT8YVBiysoka7YPScaZSsW26NgBUmtGi/vnrZ6BKBPy9bkHpxgsqC6qa3zBhs01NtWxSuMoJEkNwFWvNASJIALiWBYLfuC43/HA0wOuxGj6EoRYTlrbD1w1ZcYqQfKf4dOwXS7lkVa1wpcS17kXEhtpwMOMDvueG8i2aoI9JuMHnlHkCcES4vWNan7W8GPEf17OPqASh6hmqBO9oyHxVANf1jNHSVLAncIVILiuSOqgCNOVUGG4LsimLf9d4yho/W1H7g87+hbl+a3x+LX+oq1mg4OH6cqfrtsXmJWnWUf7+/pCePRT8WcSkU6lNR88AVlQl6RmAJnknoZ35RG4F0RQVDcAJiFM0gAhjUROKBuSMcECFQJgiSeCoosHiFI2kIpG0ZZOKxhpH1iCyYGCAC4IhpqOqB+aTukdymYhMWCZGHYGUCYa41aukAFgiOKGOiHh1JK1gRFK8rY7Qd6gjNFEdIejD+giO00fwXPSR1cw/0HqjVx/qJe/hgmtvChf+DuUloDwbBSbE85ggDTePzViBgaPeg2cNxrIfQTl7hyITtnI5FBn+MUXG9uxdikxUQea/M1NdjfNVdbDrUFuMVDzLhCuWLZKKgyCrUGIEx8yhrhCfu21GVJD7VrWnLzdkdZP6pTzcKudx1tSFuiiKGagg6dSmooIACXHSthK7UkN35aQKAiQHydvipqmCAEkIi1FBgF3tI/rEQGIDOfoLx5wdI/6RgbBOLjPQDiaUEDimcozkGMrpEQUDxysYCI7+Tvo7xjWTQZvTCkYk+aSCEeglo79oXOWY1DjSCr14Vv4PqCC6cz9P9QG/bER9Fl9hxGDRtYewkdNSHl4kWDAdHxH17J0B0lFJH1CZr5T2NLXcFoGKByi1UtoRFatEqIrgSChPOa5w57kndtDcLeP5jWhZhdLGDlsgopu9tjblth+C4zrY/RUzVL85d+Hf729qTGwtBKGddLua6iog4fmm5nZey5aBO7M7WA6lQv5oJxTsw/QQ0oPkoH87uYJdSYEADZu73WxbeAajVzwLVm7n/rj13LGQ3JYJw1XBarcZbLlbv3Vg+ZfFQKH5MMDbr1+LqMDs5UFj0y3c0l52ixyj7s1umZQfz052BJyBApNObToKDGEg6QAOIBzE74sFVAr2wihttaHAC7mXeey2lY78cC+4t4t426+ZzWCkw9UMg3XoN16JO4wnuY4EkUQLpiqqJ4rwvyzXgffve8tvRYzf9uV16YDHvSofmU3jZeI426t+RAv7L7Ku6dtoISceHVtbbFrsYbzqafOeV7WPsIoRuOcuSgHbnD/gd/ccrC78p3tf9kS7Wn2k2ZsDcn67fXk1A8CnU5sO4GHylk4ASejKiwE8ASHP+VvB2VC7fMNeseoxibNXIMUizl4BAjFr4iBr0UjIMaVs1GCBcQZLcqFBkHLSbTqd+CzAGFAuKERYWogQhCYMFhJvsKSWjGiSOIslrtyIyTJaKoXaiM1CpmizvHry77FZgrRyjO0BMuv/ynxRX2zCPyAMvsARiyWhHIrKOWE5FJZD7ymHo3I6LIfDcvjvW0irrzAH1zObTWWtA22GsIPxsENAxroJEEaB1zWU08WAWNgIEPDx6UAxbqG9QiKZGRIJxAhhSACRVDDOxXu3SgBOsOVHjCIhEWWTOJTxngNrhBAuMRaCIMnZ+N4JGYfDiASUAhMeRJPGYYjn4zugIBWIFPwN70FoNr65stG4+wslrGsEeey6JhJOrms4ua7HYnAQTa7isZhblGUmixamrL1B+8YdZUMf1JurNiw5sWxHAY2ZGFu2XMQt2+RSA9+aSFq2YEk9XgOmPLJ44cvi/ThPR9PxelExuesHgXd7vVZXrAXk35uXbEFXXhOAkIEJCtY+hO+kQdE7iCAGyfSJ/Ns3NA1avByBQBYOUKNX36rXsp4Xbp8feGfwyqTbMH9UzBVi3IZhn9/lOIxqmFJskGW+Rj5o24Fvvzd+7/7ezYz9nGUPyrli5qtV+FYz8Nuq/eTYTyj8pO0n/G0qrssZ2f/LHgrs6Lbf6lZsuyrS9lUozrB0XYo8ahyNHcMRJ67nudJUZuFb+yj9aRjfXEoEE7xtNo3EhwuDFEpS2dHsTzCsDgasONJNc69qvbCj+9H0FEvZUu4wd1SKOqlvt9sWhhFHCzt9EEopCAdjsNms9ep2TGXY70EiD78Mk6DVjbrmsfvcmADOmWhPZLaYeXUMohI8C1JDMVw+OsoVS1+7zVb4vPMtyD3Mcb6bK+SiOvJHma9RlYPQRXAAI3oQ1hN7ePuPuNPbQaFvgSv8A4GSBe/MnDeTAgmZS7ByqJCa2hLIFQhrFsTPXcyCHRhKs/nGbyJ/lwrWede0R0Ipz9M1UEfDHBGw/hxGULKFQvYyUE/abdUfSxsGX369Kn5mERfmCQuE3yKa91HCSq5eVyH3HT449Ee/HzVVdeTBcc2/H8tTbLaqY4/yHeWYWm304QSxonGUXTCqMfL0wEqJ0XLBObnRVqput2oeRp5tqYZvaiOP9pS2jH+soGmOPMnWzKNquFYHS+32Xq823s7xodowjRtV9xtvD8RED2NGMFf3a/2RJ5u28vGKmtdjjYqZnj3Vd01jjJ43lumgp1VndGD8iVKx0xVQHBu9LXVvpflIZZaVBBrCyDPVbo5Wlb1Xb8zWVr82Rv5ITa4OX1fVxFIIkDUywDX/ZmySz3zdtWBWb+XLNrrVZqM/PtFKp89yTPcmVvF5YBSMlZtcxptV1bZKc9eM1u+2xycnBhQxy+gwPDX7QQxOTvJeszPaoMlllm247bEeB6Va1fGxnATNBCSzjeuxrsVjeYLtTK6FSbhPYiYGWTHcc3LlxbKFSXDl7k2t/zaWJ9lQ3Io56DXGuzy+hCaRFIfRg96tGZ8a/z2oKWq7Qk23+xarKPTHuf8ESyuqem9sTIuqYfnQdXNsITUmecEkGz0xDVNrtsxbo79ZbVvd1TLmsRZPrPJs4E5RkSr3LM3D0+RrXhiztMZwJdRvK0GQ2KTI9xcZPlbR8LT6Xyj6PspvaBblzUhJb/d0qOyPaC6DSHp3tJTVhhgZaY+OlPR35PT8mhnZWpLWzWdjKznzz1+x4xIZL5XQYPjQyLabD5XQek0pNuxVsNnFbfcLvcazFhjY19Zqa/YGPjZIpcCCrCy25Y2gZIJTTBnxEGEEISNdLQAyXDtG4MosTiB/lP50LG9r3vMky5sLFHt/JZeCiJStfQRLzBh6537dt8Pflh6geDJeYZ8jOBJ4GO5/JZxBCZ7/x2NHk+OODCWWGZxNnjwzNLZdFwI6Eb8Y268bZYmJYExG2URCwFtMRChEQoA72MyMhv+PHwJKCG8nlHkjuI2IiI9cpAUoGEAC0oU4q4yGG3NxsDHXCS44+Qdc71tzfxi7iL2ortdRkRkbfgrckhXda1vkB6s5cj6Yu56qfQ0CGQhA/m0k5JHd2SnkdrJJgfPibrawVQmFVcVm/foPlDkubOUKmY1L29DMVq64mTnIH+ZLGQjAt7eDKWF4453R8dEYYmxsPMCkhPGYxO+NjWNIkKD85f+xXfVx2+oTy7zaEj+j0Pgog4Ds3aHxtJKJ1wjYcmz8ZzzMGIvi5FIvW/jjrxoAfwHHi4FgMB5lBHFRxkTIRXtcCsfHpRHEgRfIfRxwcAxw8N2hy9cCNDGEyV520D9HlTB678UF6G/s3H/dupgN/IRwgCOJkB73i1r78bBfHDMe860+s+YR3+kEm/7IRv+ote/y9ucuTgq5YjF/fJTu7qdj3n5EX7n7ZZK3f9SR/bJcQ0f383qNBNn4qn3b5Z0s1KKykVwLZGPmX6FQ+5h3P3I9Z0q5w5PMdvlos2QHySIkMCSsmWHa2has+A1rYzRUrVL5+hh18PceAFhH5kn42YSe/q+P3/75e2MwEim1LOKQffvnnKMIjAkMNMAV5hFTIRToiiOkqbiGKk4dwilA//ERhE8/xqcf4y/6MaTkcBH9GP3qZn7XO+Ubh5tuqV2/PTknZ4fF43J+e3cGXot0atPxUTBBEncHMPsb56MQAACUcp9JnI/ib+s7sRrDuH6xWcifJOoXVgZtVv2auxe+9mgFvW+PUCBQvn/PbBldU22TUZl71fbDSzu7zYydPjeMgncyyv5rZEKGsRaU2cptHmStbHpmp0nS9p8DChs927bnOjJNL7wC1BYPROWASHQhk30cSrxA3oW0irnSKzr/yiyiTB5287zq6+pwzFpB3D8YumDPQCfjNzLFl+0AXzqZVk31O/8TdXHxty6EXVyi/QvLvp+rXd3K9gu4VL542HT3zvvbF6qfJ9vN7dLtDLhxOrXpcGMqQMLVDjZNioS9WgyEvuSFv212ALL/tTbdWtAHW1m9tRp9L/acYqhPrdk/1q6dM4w00EZgCR2slYMVxVggJT2mHc8QpSyIAMXIcRdVibdDmq7Dpaqwz5MzqUSW8oeWtWYPT0Y0wGjOsoHgmizyUWPheSnEqrCpDX9eOymqbwyhv9bwv92SUBme3GUV1TjcZvXnq/GIS4zorL8EklU4mq/m8FWalcbsO8DfEchAug7IOqD/D4B1y3R+DZqzcEy++9jezgpnu3/t3By4j+zo8ELu97Zvyyf1GTD5dGpTYvIQo0QmjziKZ/IUy2Vj8nPm4Q6nnoc8jgTSlGgXMq6YSwWhXHoGS1eRoEr+ycM/efjMefirwU3ZSDu6+8mJ7jj5IP/XEf8fG5gYom9X5Q4m9e2cZmUwFP8pYuf+oknPNs/vD+rirnArzkDXKd9sZms5ejMDsZNObTpiJ/nWFZvGQYJtQXiKp+dT7MSIHY4MIcoxjss8ohBwKHSQZFZ8K6Y0AhQo4RC1sCcI0sVOIDtWYlneEOxDhK+B4AevLCjAs2irQa/cHVq9Avndy4LaOtg9K8hq7mRnBgBPpzYdgFsTNRHgWOLYa5WCFJp+7vQT4GMAV5AJTYWHXWJcLBV3lZTSMRS6Ft/M8TT1EPPgcgJ8K6CWCvAXab6o2O7mdqu0VbjZOCngs8385v4xu+jvdM6L7Vk4BtOpTQnbiCVjO7IM47BNPoX3B4U3cDlmnCCLZOpKjxDqGIYDy5HbSjFzMPa0oMuL7bcFeIy2vuCy/MY7aXfb7b2eWwf12nXu7r69cV7POvsczwDv6dSmg3fEecJrJmya4CQe70iCpXjt3OLgXXOoJHCsQHchMhxJggESCDPlEuYYAQmB2PXMcuI9zfkx4gT6wFnfFFt+9V25fi4oE6lfZTf2qjvVo+PN7sVpndWKl+VGsd3cLjVnwETSqU2HiQQvT0lkIiD+XTU2BYJ3vhPvk4kMdvthKAhDiBoOsQYEEgWRlALwoA6tIVQYarnEFv+AUXxQa3j28S0k3kEuVy75oHWcu7w536D11nlBPW70OhcPjRngPZ3alPAOecKLqG0ahgmBJYjJp9LwMSOBuZw41jDg2CpqQkLXdaxpAF3hIe1ZbUHbCpSRy4n3jctSrpiO9au6vF9UWPMdUuTtIj0rVs3JDReGHlVVo5t9KLozgHU6tenAGlCScHuyTeMs9vbkIEUmv+/lE9ZxYtxVlBNFsWLaEMkcQTwsJXWDt9wRJYwGjnGs7bWUsH5+q0IKrrMbm4sK68PrC1oFu0/1/qW/W949e3QbzVL3qsO6s3iTZDq1qcBaSIGSpLWQEsXD2qbQd16K/gnrCNbS0xh4RnqeIYg61qAnQjOmofaUBzUSRLiOo5YU1hvHxwfpoA4mc1FRfXNd3y1ubNRY63L7GnvH9St9fv5wmb+pbs/CcZdKbUqoRgwmohrz+CCckAR8BuE+5rijBhMsOMaEEKkUB5AwyASmnnI8YkfWBK9hmvaLn/9NqD4qH+YK+c03Au1rGAx+FhXfu9fdmz44JHsthZ5Ojmrt2mmd72+DnjyaAb7TqU0H34KFwbZYfAsR/+6iIAXN+zbVJcO35zLFPQE84BEFg133hHsc4cC55mrP86z+RFyypIG47YPjbHge8g18LyquH/Nbpau78qaf3WO7WaY3Gtum2zzeL1A2A1ynU5sSriFK2pRtwQvjA+wBrD/l9seMbCU1NEhx5rkYeRBI7GEDXEew8BUOVDpWlrMl9Z0NTjmnonpRMX173dC1uzPZa9xv9fdO/CfCOyWdvTm8PZwBptOpTQfTnOAkx5ngDCdgmjMmlwjTQXjm63OM5uuXmDjMl2/zvlVbOwYIbiHueh4DrmFQC8Koa9eOYJoz5HiUKzwn1AeTsYiIPDmvlqo612ve+SV84jx1zls+vmMHJ1enM0BkOrXpIJJJmOjzYlIm+Lw4QMsUoQp2WS08IomjDRcecAWS1LUmtFWpPS0VDC5kQMFpM+x6c9ulvrCILJGnXdwuHbO94t5+bqfc3+m293b9Zn5vFohMpTYlRMKkV3PatGjTaQwi7QpZpo2lb4FxzlhUgAniKOE4kEuiFAKIa4cLC0LkcsdggB1bdk6HzRcVizvZs/rDds0/rVbbtQPW6hye8LOTzetmdxavyU2nNh0sUgYSbVDKkqSj/btMB4M3s8XS1y9es/kluJQl3Gwwb/wZbI1OzYRBUmsDOcfcsXaqIxkgCGigGJAQyjnd2Lao+PM2VK/eP7+nMndf9q/Pt/a6l+Bo+3hfPs4Af+nUpoQ/IJPu6xbULosE/EG5TPslv2Q3Nr/MGXCOA7iArhQaIeq4jmuNQCkAEUIRbJNcIJRD+Jx2XS8q4A4PzktGlbecbB0UD+/O0KE8KBWeLvqPTzMAXDq16QCOUJSofBJG4zco25TlUj4L5dyc8YaQEcyhrlXoAYQaUFcbxDSFBGGNHG3lHnMdoD7x9hpvpezRw+YV7jfpw3brrm+1vYZXcC/uPHQ3A7ylU5sO3qw9kbg5gYCEE8I2hS2T+yUIm81ZvBnjAM8AV1iIceICHryW2vM85QHNAXE0Q0C6+hNur+F2sFfuXApQyLVp9Tx/gXju8uy4etg9q5IZwC2d2pTglnxoV2DC4vfj2xSxTOINzju0oB0LMUWQ8mwe6UHtecBDCHFkjTZbqcORQQZ/gm0kgA/2Wr3ccfWo19l5wvjpen+rLjdKeHd/YwZgS6c2HbAhwnAS2BBNAhuiYpl2yYcHOr8OvkTXV339EbwB5+fcAwqQUOY5lBkBOaJGIgWlhSHBBFHpGotCLbma64tzFxGIvVLxkBwfdt1uscSd+163yqvugTz0CuUZADGd2nSAaKc/0YsJBU1QMqEQy7Sv/UcEu9UM/rmaId9WM19/0NUMs1/4t59zRiLVLvIAYZwG2+WEsaDTniaQYQEggp4CTBkIwScSR5CYY3mx8Vjyr73W3sE99590sdXfPDvf3+3PAInp1KaERASTkYgRTkAiJsskEn98HQAxACFZzQQwnDsEGSQSaYEh5MAKRSAkJtxAxLEwQAmijAeQEZ/CcBSCauv06UmcUX6NdffSoHtpTlBJlq+vvBlAMJ3adCAIWLIJCHiShxPwlFeALh4EByqoxeBq5kcAwZ/zVkZdAaiDiJRU2TpcKQHASBptOaKWEkroWQBid55nvhYRf+fnuthvFtyzwlHj9MZ/MPmjje1zr8z2CjPAXzq1KeEPiMTjGgDBhO0tAC3VIctnVXTOqJOEOQxSRyDoQBcbyTxs/3KiCDNWIQWQCgfreV64vYiou37aYw/5tuPue81Hp2eeti/7G97JgdquzgB16dSmgrrgruEk1HHJSPzG6/B9U0uEulDvnLegg0xjK+coB4xDHGwgIhgQL5gAhYTRiHIHON6cQg0LCznnhFc79bsbv/CQhec7Ilv2d+WGf+ifzOKur3Rq04GcEDwplM6F5PGCjgd60RJBbvSsQ2YhN3M6Vr0EnhTMlnNcAQ0nxmWuG7z2TXoQc4FcSZT4ROTolb387Oqi13C3HkqwtEfvn9yrJ7iFH86aswi2p1ObEiIRTjL9gkh8vOnHBUFiiRA5etZhMRHJseNag9AwgzCh0PM4VdoD0GjXwx7RUHBNqZznUeJFRKTcK+URu2yVLtF+59LRhzR/7PV2m547i+1m6dSmg0jOYNKluvYn9HrGINL+LNP+6uEdz4uOSsAlZ0h4ruV5mkOuEUMAWZMRQsBcRTwKpK3iU06OopLttYsn8O60cdO+1vnc6TEo5re3r3qt1uUMUJlObUqoBDjpTCDnKOHWSptClklz/fqlamq15pfVzILD0nGk43paMuoQxTzPc4nGzFNUOIBJAIUG1Fqbn8HDsYuscu2dVvmyuIMd75yYo6Pth7MNxaW3OYujuunUpgNLhliisGQExr8uyqaQZToM8eMNNL4J13m7XLWkUknFJKaKMI5d7QZvrRUqQCvyXOgYjT3tfMJ1VLfl2MvVLktXW2SrfAk23NpNq/x0SG/p8Sx021Rq04ErTXG52sWUIEWp1bmWCK5vgHHOWHRdKymlLU2x8ozQmhIIAGGMe8rlGDhaYweSeV5Jt4hY9Hf6j129/ZB3Qbdzbi4bdO/u7ESA3ews9t2kU5sOFonAiVgkMmEHnE3hy6TRLuA5Xk8LF3kCUOkwigzghAjoIaG45zoKIccamZ4083wx2yICsNO6vkEXD0fddmdb9JqnVw/Zjn+4q2lrFpewplObEgAxSNoLbtcEShCGhCzVxrdFOMgLHM6wq6y9aP8Z7kCHEY6V8TwEtaEWjVJ41JnT4YuFRZzZvtrilwTvn/X2C0/N7LGfv8rvnQOtZ3F1RTq16SAOc5AYfsSCxW81tSlyma5FXYCTvBii4E3C2GBXusbFyoozizloKNdEeiI4hOF66P+cvffz1/8HcD1BVEf1AAA="
+ }
+ },
+ {
+ "ID": "5ba1e040186a509d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "72"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkYXRhc2V0UmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6InRva3lvIn0sImxvY2F0aW9uIjoiYXNpYS1ub3J0aGVhc3QxIn0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 409,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:02 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/62OsQrCQBBE+3zFcbUBCxvTBZJCsDIWioisuSUG77KS3YAh5N+9nFf4AVbLzCxvZkqU0tj31OtMTV54WZNBrzbr7eprOGSGZvF0bnsEM6ry3bJwpgoQYBTFD7J2dNClBh2lgiyZ0HMkHRmhgz3iErSKZf/iB44hB223YBpLd7C/mccyhcwML9vWIKhjOod7jUNZQAYOW/aHMi/Ot/K0q47V8j0nc/IBXE/GKzIBAAA="
+ }
+ },
+ {
+ "ID": "3f51c74fed4229c4",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/tokyo?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:03 GMT"
+ ],
+ "Etag": [
+ "jQy5ZIFyGuC20r9/b3P8NA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32Q0WrCMBSG3yW7tY12KrMgzG1OCptuRRA2dhHTY42mOV2SOor47qbSyi7U23P+7z9fsidboRISkqVIfwvQ5V3CLDNgSYuAZanbbD7L3lf0Wk6K56CtB3R5//EwHQ2HLiEq0qxRyjJjyksgQ8+CsaHFbYkuYECu3oTautja2tyElDaH/BQxlcByYXyO2XlOdwHNNW6AW0MvdNNa0NDmSD2IYQUaFAcS7ptZVAk2ubo1uiJNDi3COAdjSPi9JxqlayKLOJqP4+opOXDB5ERjkbt5XbbQwoI2jj0Ts8X0BjD7U1fyhQH9VI4zJmQl7Yw8jUu0jxdcfcEyP3XATnBw0lgoW/3i/954PHq5IRIDS04mPy3CNTArUM1FVpGdXtBt9/uDzqAb9F2BZMa+YyJWApJrEeSnBrdiRjBPobZrcFyHHI565pKMZAIAAA=="
+ }
+ },
+ {
+ "ID": "631f39fb888f780a",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/tokyo/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "242"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJ0b2t5byIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:03 GMT"
+ ],
+ "Etag": [
+ "+bJ8klHWphVhtHWFgb1OYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SW0/CQBCF/8v6qNBtCb0lPEiCgEFMsJEYY8i2Hdq17W7trpeG8N+dFpBENPq0mTMz3znTdEMyLmLik5AnL69Q1WeahTmQCwKaJaifh9dulk+WZXqf6snyKgnN24dkMMAJ3uypVOZ5XTDRiaGQHQ1K+1pmtey2oJVFTc+klruybY/afY9Sr4fPilKLIkNBvp5xkSEp1bpUvmEcknQTKZMcWMlVN5LFl268WUZZyWeItDJ+sDdippkCbLY5jDaHMv4Vpx1awBoqEBEQf0P2TtNfbsWdvV070ToeODvlb9stfoYohYI1fmsOeayI/7ghghUYYfcgsi6b6i5YTOdj3Dn2Xwt17E/nwWg8WpDtE2KxNawxJurNdVjOpEgCqL7LC/l+qKIKmOZSBLylm33HslzHtXq25zW/xUfJq9MBt0cdSpv9nCl9I2OOh8QnDKdvHqMGl8PZqNmQUQtEiSnOOkJWOgXEmGT7CVEHXgygAgAA"
+ }
+ },
+ {
+ "ID": "48e52d277c16733d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/upload/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false\u0026uploadType=multipart",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "multipart/related",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImxvYWQiOnsiZGVzdGluYXRpb25UYWJsZSI6eyJkYXRhc2V0SWQiOiJ0b2t5byIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMCJ9fX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkU2VXEzQ0tFSUF2eWd3a1ZhSmtKeUdGM0tTYiIsImxvY2F0aW9uIjoiYXNpYS1ub3J0aGVhc3QxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo=",
+ "YSwwCmIsMQpjLDIK"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "no-cache, no-store, max-age=0, must-revalidate"
+ ],
+ "Content-Length": [
+ "851"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:06 GMT"
+ ],
+ "Etag": [
+ "\"CRkpyt4RXWzE4lvoHDbioIbWdUA/xmHnQLYqH_Wlyye14GtMpmSxHzU\""
+ ],
+ "Expires": [
+ "Mon, 01 Jan 1990 00:00:00 GMT"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Server": [
+ "UploadServer"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin"
+ ],
+ "X-Guploader-Uploadid": [
+ "AEnB2UrzKSoGj78wjQVTKbY4hO-qYtcaD40Eki4F3p4LJ4N61G8LmDShmPvDmIL4XTVICJlF5i5PlUabE4elpixSO0ncEQGhVOkuR0wFbGSzr4EXZ2dY3jU"
+ ]
+ },
+ "Body": "eyJraW5kIjoiYmlncXVlcnkjam9iIiwiZXRhZyI6IlwiQ1JrcHl0NFJYV3pFNGx2b0hEYmlvSWJXZFVBL3htSG5RTFlxSF9XbHl5ZTE0R3RNcG1TeEh6VVwiIiwiaWQiOiJzaG9sbHltYW4tZGVtby10ZXN0OmFzaWEtbm9ydGhlYXN0MS5FNlVxM0NLRUlBdnlnd2tWYUprSnlHRjNLU2IiLCJzZWxmTGluayI6Imh0dHBzOi8vYmlncXVlcnkuZ29vZ2xlYXBpcy5jb20vYmlncXVlcnkvdjIvcHJvamVjdHMvc2hvbGx5bWFuLWRlbW8tdGVzdC9qb2JzL0U2VXEzQ0tFSUF2eWd3a1ZhSmtKeUdGM0tTYj9sb2NhdGlvbj1hc2lhLW5vcnRoZWFzdDEiLCJqb2JSZWZlcmVuY2UiOnsicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsImpvYklkIjoiRTZVcTNDS0VJQXZ5Z3drVmFKa0p5R0YzS1NiIiwibG9jYXRpb24iOiJhc2lhLW5vcnRoZWFzdDEifSwiY29uZmlndXJhdGlvbiI6eyJqb2JUeXBlIjoiTE9BRCIsImxvYWQiOnsic2NoZW1hIjp7ImZpZWxkcyI6W3sibmFtZSI6Im5hbWUiLCJ0eXBlIjoiU1RSSU5HIn0seyJuYW1lIjoibnVtcyIsInR5cGUiOiJJTlRFR0VSIn1dfSwiZGVzdGluYXRpb25UYWJsZSI6eyJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwiZGF0YXNldElkIjoidG9reW8iLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMCJ9fX0sInN0YXR1cyI6eyJzdGF0ZSI6IlJVTk5JTkcifSwic3RhdGlzdGljcyI6eyJjcmVhdGlvblRpbWUiOiIxNTcyMjg3ODI1Nzg1Iiwic3RhcnRUaW1lIjoiMTU3MjI4NzgyNjM4MiJ9LCJ1c2VyX2VtYWlsIjoidGVzdC1yb2JvdEBzaG9sbHltYW4tZGVtby10ZXN0LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0="
+ }
+ },
+ {
+ "ID": "3c720ce75409fd7b",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/E6Uq3CKEIAvygwkVaJkJyGF3KSb?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:06 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7WOsQrCMBiE9z5FyGxBsDh0E23FFtpB6yIiqYlVmubHJFVK6bubxAy+gNPP3f3cd2OAEGZSgsQxGo0w8gqUGRXNo9nX6JhSpLEeLkCjG/SCxiiDGqk7cD50RISUdRBqpnScLKvnYp0nu9VraN7tkWRtNmzTRb6vsS90QGX6Tk4jT/4LzJVS6MhD2M6GQ034byYZUeAyATq1OOzDyd2zH6000b1yu8rDJS2rYmMfp2AKPmIs+VVGAQAA"
+ }
+ },
+ {
+ "ID": "97a660ea20cdc134",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/E6Uq3CKEIAvygwkVaJkJyGF3KSb?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:06 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7WOQQuCQBSE7/6KZc8ZgdLBW1RGCnowu0TEmpuFq498ayHif29320N/oNNjZh7zzegQQnnXQUcDMiqh5BVKrpS/8Gdfo+GIrNIeTUCSG/RtGZAICoJ3EGJoWOuWvAFXcpRBns23y/zprePtfvUaqnd9ZFEdDbvQi7OC2k7DRFV5MppY+L94preEhj1aXVsJKJj4zTrOEEzWggw1kdpwMvdsd6NkskczLT1cwjRPNvpxcibnAzE69qpMAQAA"
+ }
+ },
+ {
+ "ID": "7cdcc164620922ff",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/E6Uq3CKEIAvygwkVaJkJyGF3KSb?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026location=asia-northeast1\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:07 GMT"
+ ],
+ "Etag": [
+ "lyWpxws/2QMsU18iWvctrg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41STU/jMBD9Lz63kpMoadIbLKEqsEVKy15WqHKTaWvq2Fl7Aoqq/Hc8CQsse+E04/fefPjZZ1YavZeH1gqURrP5mSkjKoquPEItKNtLUJVj899npkUNbD6GCcOuodN6UyxXC9ZPPvi2dh/8crXJF3nB+sd+wipwKPUwbSN2CmhAY80TlLj0c5k7GqW6WuhpBbWZopf7TpVA4WBUoDl1hrpT+YhQtg15kAU8TLdJkvEkzjjPIh+2nIec9X70k9ltxo3u7i+u2IgUsAcLuvzmIr5iYPPk4U/04zZfXjx3h5fTL3FzuukW19HteudVypRvfjLhpJhqY/EIwmFAUx160rtQOppZWhjdkIN1QTwLw3SWhvEsjdkgtviVS6I09Bzo6iszC+JkWGB8RKmbFq+lAkciT7wDlx2OIDUyLXq4MC+ERO/AX01E0E5UBZTG0k9gnO6BBoVaK4M/CcpIZMGBfR7u8+DEAT5/mgr2olU4bWQDSmr6QO5Tcf/4T/ng8n8lb+61g3OUUeOr+1XuH/gVzSBnc8wCAAA="
+ }
+ },
+ {
+ "ID": "ba6c7c6be72a9d8a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/E6Uq3CKEIAvygwkVaJkJyGF3KSb?alt=json\u0026fields=status%2Cstatistics\u0026location=asia-northeast1\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:08 GMT"
+ ],
+ "Etag": [
+ "lyWpxws/2QMsU18iWvctrg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QTQvCMAyG/0vOCroxNz2KCh5U8OMkHuoapVDb0WaKjP53m4mi4q193g+SNOBJkPKkSg+jBkqH8WvNVl0QRtDP8iQp8iLJ8iKDDpsd/WqDtEiihkb+Knk/G0RFWyG5XJmqppnS6NkUhTcY3+kJucjWFPHa3pikb/DypIyOQq6xtE4y6UHoAFkSeqMtLRgN2eTQo7u2++y8OMfR9g0Y0c4o8SRqTd1KVaiVQV7uIxwOX/G5/BcJ7UGobi/HLy6erJZTCOEBT5K5PVkBAAA="
+ }
+ },
+ {
+ "ID": "86bf3e07b40bf422",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/E6Uq3CKEIAvygwkVaJkJyGF3KSb/cancel?alt=json\u0026fields=\u0026location=asia-northeast1\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "0"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:08 GMT"
+ ],
+ "Etag": [
+ "lyWpxws/2QMsU18iWvctrg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S227iMBD9F+8rkJsIAQmtui1F9EK1AdqHVYVMMgQXx05jBzZC+ff1JKUXtlvtk+0zZ2bOHM+BbJmIyYCsWPJcQF5+e5Krcyoi4CGoTAoFpEUMRgaHz6gmCJomBuXlQ/Z7ryz3561aOAF72EU6T4ZDw2CYpTaS8zKloh1DKtsalB5QxWhbyFxvgCrtdEb+4tk7vx5NznZlst/e06vtVTm+9K5n2EgBX98wsTXFNlpnamBZRymdRMqEA82Y6kQyfcWtnWtluXyCSCvrEwWWGUFZX7T9zmVENZNieKLV6ImkWLOkyOs4+sMljfFU0QZSirc1Ax4rMvh1IIKmYJTXR4voMsPXbB5OpmNStd7iRare4pPpfDQehaR6rFokNoKZqLvN6YoDNngZbvIPh02lmGqqoGFouS0lVsf0BsHb0rWdvmO7wdL3+7bf7dt23zPH0rZdm1RVvQDzRtHN3dkFaZAQ1pCDWZX/E2Iy6ujXn3z02xBPHTddlTZB40KksGeUQ+MGq61zuj3XDXqB2+0FXVKTc30a873AxaUV8Wmk53T9WkDziUxkhb5kHBSScIuPwI9SNyAWkoU2cCj3iHivwJHjIbSicQiRzHETiI1zaKkpn3GpbxHqIykHBfmunmehaALvlyaGNS24bmcsA84ELpB6l1w9fkivXf4r5cW9onYOb1j44m46Mh9c/QE0RaazBwQAAA=="
+ }
+ },
+ {
+ "ID": "24f68961550a6945",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "234"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICogRlJPTSB0b2t5by50YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDIwIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJSNW5CZ1ZueFBGZWZIVVdBWURNcWFUOXg2UWwiLCJsb2NhdGlvbiI6ImFzaWEtbm9ydGhlYXN0MSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:10 GMT"
+ ],
+ "Etag": [
+ "OrgyU/g97aXX5QqqN+vvFw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41SXU/bQBD8K+j61jbxV2znIqGWJk4bCUwxDh9P1tlemyv2XeK7BCLEf++eA6iiFPXJ1u7szNzsPpBbLkoyITmv1xvodh9+yZx8JqBZjdXTrt4trZqG7OrKP1uv40/b7fzu8BAR3EypG9k0u5aJQQmtHGhQesIUZwMhO30DTGlnmPjiW30h7n/OofqxvDy6np2sWUrvg7MGaRQ01TEXt0h2o/VKTSzr2cqwlrJugK24GhayfalbW9dadfIXFFpZbziw8AnKekf2SyMLprkUh6+8op+Ngi6DlvEGHRm2QSdzqb++oTPkrB3WiN/yAlhRyI3QxiiyFFJUvN50vQqZPJDe+B8/5Dw6jqbpwceDeXJ6cqDl7U4ONcsbyFzboY7tjrMgoHbgU9umHn4y23ZtpC5RmYueODV4Q/qUxuIfKzFTTDMFe0RmQ1mVLoRebo8czwlsGozysV061IOq8kdeTisXezjXW+qnmJACKIAbOv44oIHjjCFnENijkhaVO/KqEMLQD5zCrcgjRtAB0zDjaiUV38dApkl0lEbZYp7FUTSLZihw1/HXqMtkgaA0WcZTRCNm1XGJMBPbIk6j5GiaLi6i/bKOoWbF7nyN66pYowCVcf3pboXBkLNllFyTfSmBCjoQxX8GhhN99/3rfT4kk8+rU0JVpbGJ2yqU0ewDMVvjrfHm+KHrjsOxS/2ROTwEd/qvHg097L1cj2GEFoR+euD+isjjk9hGvYCM9WUcL+Lv2P0N2CWYbuYDAAA="
+ }
+ },
+ {
+ "ID": "da5a1aff2d195bc0",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/R5nBgVnxPFefHUWAYDMqaT9x6Ql?alt=json\u0026location=asia-northeast1\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:10 GMT"
+ ],
+ "Etag": [
+ "esJ5K4XKAwibt61hOFrYow=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QzW7CMBCE32V7DQdEQWokDtDyVyiFFNqiqgeTbBJT2xvsjSBCvDsOrcSlp/Vo59PM+gQ/0iQQwlZm+xJtdZchL+tHhK5U7PwoyDiEAJBF5p3ontvT+89p7yC33Gnmr0O7oUO36x0uzlELCE+QSlSJg/DrBEZo9Nh1BMBVUau3VTSZj7zWlNR6vp7Nev3ZAM7BjSi1uxGT+WowGkT/Id/nAHa0jTBFiybGukBhaYcxT+rbXE5KVVqYRoKaGoyO4Upct1Hb9LN3c1wMMR2vP3qbp5e9WD0cO0vlXYpiwZKMNwonRcOQ5RyF46avCkwsVEQHfym04E/3K5+wsBSjc1gntFq/cY+kC4Xs+7EtMYBY+P8aS4YwFcrh+QKvQZsSjQEAAA=="
+ }
+ },
+ {
+ "ID": "831ec5d31c4b6ea7",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_0edfd2e73b0413160964b80d193eff543b9f2b04/tables/anone9ee27158696118ebae604d9cf243f7e77561c2f/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:11 GMT"
+ ],
+ "Etag": [
+ "/o/kZYpxDmoS1f6gNLc8Mw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rr5+tnR0UWVLjk5gcbppml+/kkW/iW29oCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsAwonKtXqQFgGSrWxIDZCLgkuZ4ghlwyXMwLJxdYCAMuw+s+wAAAA"
+ }
+ },
+ {
+ "ID": "09074aeb9313113a",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "389"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImNvcHkiOnsiZGVzdGluYXRpb25UYWJsZSI6eyJkYXRhc2V0SWQiOiJ0b2t5byIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMSJ9LCJzb3VyY2VUYWJsZXMiOlt7ImRhdGFzZXRJZCI6InRva3lvIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDIwIn1dfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IllOSGZ0bHhZc2xPdG1SR0lUMXRtbTRrN09uRSIsImxvY2F0aW9uIjoiYXNpYS1ub3J0aGVhc3QxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:12 GMT"
+ ],
+ "Etag": [
+ "6SBcDB56SppJ5NMfqb0l+g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7VSy27bMBD8F+bYWKKUWLYFGC3yQOqilQvHORhFYVA0JTPmQyFXQQXD/96l3OSQpEEvPZGYHc7M7nJPdtJsSE5KWT+0wnUn97Ykp0QAqxHNbi/41cUwu22aL8PiW/VQUvWhnk6RIcMrv7VKdZqZwUZoOwDhIWdesoGxDraCeUiiVfG5AvVr5dUc9OJmtkxA6/PdaG6uUcYLVX2VZodiW4DG53H8FCWqra2VYI30Ebf6GY8f07hx9l5w8PEbCWJswcfv2H5UljOQ1kxfZMU8rRduLTSTChMFtYGzpYVPb/hEkumoRv6j5IJxblsDISiqcGsqWbeudyH5HoGmC6e3reNiyUolPMl/7MmfRmZ/mSZqbRgwL44MsLvOIgZB4IiE2zqlySSh6XidZROaDSeUTs7wWFOaUnL4iSKoJU0fpzcPWf67dUIOh1OC21h2DTqSy/n3FTkiC1EJJwz/xyD4oq++/5ee1orEl4tFVw9YxClw3y/EieM0pA7RkuEoTcej8Vl6TinpyQ5e18bPSm2vEm6Bsrgrillxg/3+Bvn3Q1ZRAwAA"
+ }
+ },
+ {
+ "ID": "967c41c59669a7cf",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "387"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImV4dHJhY3QiOnsiZGVzdGluYXRpb25Gb3JtYXQiOiJDU1YiLCJkZXN0aW5hdGlvblVyaXMiOlsiZ3M6Ly9zaG9sbHltYW4tZGVtby10ZXN0L2JxLXRlc3QtdGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMC5jc3YiXSwic291cmNlVGFibGUiOnsiZGF0YXNldElkIjoidG9reW8iLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMjAifX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJFTlcyQmE2RVZBbEd3RlgycjdkSUF4SnU3V0YiLCJsb2NhdGlvbiI6ImFzaWEtbm9ydGhlYXN0MSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:13 GMT"
+ ],
+ "Etag": [
+ "WIC1y6tbfvxlfMjMGAeaiA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/62Sb2/aMBDGv4v3dvnfBoiEuhQBYlp5wdJSqZqQYy7BkMTUdihRxXffOS2TRmm3F31l5/zc75673DPZ8GpJIpLy/LEG2XxZi5R8JaBpjtH5ZOA1oU6z3b7IbtY34xgoj/t9VHCTpVaiKJqSVtYSSmFpUDqiilOrElKvgCrt2cPp3L+m4fAuLsZPo3tfdpaTeP+97sxHiFFQZD94tUHYSuutihznaMXOhcgLoFuubCbKP3Fn5ztbKdbAtHLOOHCwBeV8UPaqEIxqLqr+iVf0UyuQCygpL9CRoVlSpEJ/O1PH5rS0c9TvOAPKmKgrbYwihYkq43kt2yokeiaw15Iyba5K1JJBQtMCzOdrJ5N3xomwJdVUwYtCi00jMKZN+kvE3Ba+6/U81+8uwrDnhpc91+0FeCxc13fJARmI4lVr51ZyTMvNpM8NL31sT+vfXJupHTlFKxI9fBr811/0kZAlxRGSwc870xP+5qTZ4hDJ8D6ZxYPkNTiDDCRU7D/Hixnt68d7elwZFJ4uDVZVGh/RKFOmJpPQahNeGnfeZcf3u51uEPiBWTEUS/3m7eIiOJLqlmJuRjK7nU4n0zE5HH4DIw4ffK0DAAA="
+ }
+ },
+ {
+ "ID": "9c60fb43e6feb7cb",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://www.googleapis.com/storage/v1/b/shollyman-demo-test/o/bq-test-table_20191028_66906590093659_0020.csv?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "no-cache, no-store, max-age=0, must-revalidate"
+ ],
+ "Content-Length": [
+ "263"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:13 GMT"
+ ],
+ "Expires": [
+ "Mon, 01 Jan 1990 00:00:00 GMT"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Server": [
+ "UploadServer"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin"
+ ],
+ "X-Guploader-Uploadid": [
+ "AEnB2Uo178pkItYH0gtI_l6a_PIVICS-ooYmWEWX15rkmmT5aKj0nROMYOzIzWiAES5yuABuYVomOS1NHZcWho0Z8YRvtdzU9HfsG9nsBpgj21g1zrnPslw"
+ ]
+ },
+ "Body": "eyJlcnJvciI6eyJjb2RlIjo0MDQsIm1lc3NhZ2UiOiJObyBzdWNoIG9iamVjdDogc2hvbGx5bWFuLWRlbW8tdGVzdC9icS10ZXN0LXRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMjAuY3N2IiwiZXJyb3JzIjpbeyJtZXNzYWdlIjoiTm8gc3VjaCBvYmplY3Q6IHNob2xseW1hbi1kZW1vLXRlc3QvYnEtdGVzdC10YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDIwLmNzdiIsImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIn1dfX0="
+ }
+ },
+ {
+ "ID": "f0df3e818409c079",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/tokyo/tables/table_20191028_66906590093659_0020?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:14 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "4eb2caa9980de20d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "72"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkYXRhc2V0UmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6InRva3lvIn0sImxvY2F0aW9uIjoiYXNpYS1ub3J0aGVhc3QxIn0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 409,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:14 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/62OsQrCQBBE+3zFcbUBCxvTBZJCsDIWioisuSUG77KS3YAh5N+9nFf4AVbLzCxvZkqU0tj31OtMTV54WZNBrzbr7eprOGSGZvF0bnsEM6ry3bJwpgoQYBTFD7J2dNClBh2lgiyZ0HMkHRmhgz3iErSKZf/iB44hB223YBpLd7C/mccyhcwML9vWIKhjOod7jUNZQAYOW/aHMi/Ot/K0q47V8j0nc/IBXE/GKzIBAAA="
+ }
+ },
+ {
+ "ID": "6b94036560ff0def",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/tokyo?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:15 GMT"
+ ],
+ "Etag": [
+ "jQy5ZIFyGuC20r9/b3P8NA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32Q0WrCMBSG3yW7tY12KrMgzG1OCptuRRA2dhHTY42mOV2SOor47qbSyi7U23P+7z9fsidboRISkqVIfwvQ5V3CLDNgSYuAZanbbD7L3lf0Wk6K56CtB3R5//EwHQ2HLiEq0qxRyjJjyksgQ8+CsaHFbYkuYECu3oTautja2tyElDaH/BQxlcByYXyO2XlOdwHNNW6AW0MvdNNa0NDmSD2IYQUaFAcS7ptZVAk2ubo1uiJNDi3COAdjSPi9JxqlayKLOJqP4+opOXDB5ERjkbt5XbbQwoI2jj0Ts8X0BjD7U1fyhQH9VI4zJmQl7Yw8jUu0jxdcfcEyP3XATnBw0lgoW/3i/954PHq5IRIDS04mPy3CNTArUM1FVpGdXtBt9/uDzqAb9F2BZMa+YyJWApJrEeSnBrdiRjBPobZrcFyHHI565pKMZAIAAA=="
+ }
+ },
+ {
+ "ID": "db7aaa7371ad5160",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/tokyo/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "242"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibmFtZSIsInR5cGUiOiJTVFJJTkcifSx7Im5hbWUiOiJudW1zIiwidHlwZSI6IklOVEVHRVIifV19LCJ0YWJsZVJlZmVyZW5jZSI6eyJkYXRhc2V0SWQiOiJ0b2t5byIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMiJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:16 GMT"
+ ],
+ "Etag": [
+ "D8VQY/7H2OBqWwpgapMqNg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SX0/CMBTFv0t9FVo6/owlPEgkSAIYcdEYY0jZLltlW8da1IXw3b0rIIlo9Km55977O6dNt2Qls5B4ZCGj9QaK8sKIRQLkkoAREerX7sPdE+3c8Nv++vE9j0Q+WU+jXg8nZLWnY5UkZSqyWgipqhnQxjNqVaq6Bc05a3QbjLvzdrvL2q0uY10HjzljnCNDQ7Icy2yFpNiYXHuUHpPUI6WiBEQudT1Q6ZdO3zjNC/UKgdH0B3saCiM0YNPmoDaHpv+KY4dmsIQCsgCItyUHp9Evd8Wdg52dsI5Hzl7523aHzxDEkIrKbykhCTXxnrckEylG2B+ILPOquvdno+kQd079TapP/dHUHwwHM7J7QSy2+iXGRJ0RW45VFvlQfJdn6v1YBQUII1XmS0tvtDqcux3XaTvcrb7FRy6L8wHXYR3Gqv1EaDNRocSLhGeMZqt5iupf9ceDakMFFoiS0FLUMlWYGBDTILtPYepYRKACAAA="
+ }
+ },
+ {
+ "ID": "63ab22d1d098a54c",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/upload/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false\u0026uploadType=multipart",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "multipart/related",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImxvYWQiOnsiZGVzdGluYXRpb25UYWJsZSI6eyJkYXRhc2V0SWQiOiJ0b2t5byIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMiJ9fX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6ImE3QXZzbjRoOFM5aUpTRHlsOU1YZGRDazV0OSIsImxvY2F0aW9uIjoiYXNpYS1ub3J0aGVhc3QxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo=",
+ "YSwwCmIsMQpjLDIK"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "no-cache, no-store, max-age=0, must-revalidate"
+ ],
+ "Content-Length": [
+ "851"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:19 GMT"
+ ],
+ "Etag": [
+ "\"CRkpyt4RXWzE4lvoHDbioIbWdUA/YskItLki7RmhlqMqcQW0-cwgQX0\""
+ ],
+ "Expires": [
+ "Mon, 01 Jan 1990 00:00:00 GMT"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Server": [
+ "UploadServer"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin"
+ ],
+ "X-Guploader-Uploadid": [
+ "AEnB2UpoBPFra7uyxcm-jPvR-nJL1pjekw763k23sVHosbcuT02x24hn9UUKYz8IBWUniyEMnE98yXWxluVR_hRnbQZlXIwECw"
+ ]
+ },
+ "Body": "eyJraW5kIjoiYmlncXVlcnkjam9iIiwiZXRhZyI6IlwiQ1JrcHl0NFJYV3pFNGx2b0hEYmlvSWJXZFVBL1lza0l0TGtpN1JtaGxxTXFjUVcwLWN3Z1FYMFwiIiwiaWQiOiJzaG9sbHltYW4tZGVtby10ZXN0OmFzaWEtbm9ydGhlYXN0MS5hN0F2c240aDhTOWlKU0R5bDlNWGRkQ2s1dDkiLCJzZWxmTGluayI6Imh0dHBzOi8vYmlncXVlcnkuZ29vZ2xlYXBpcy5jb20vYmlncXVlcnkvdjIvcHJvamVjdHMvc2hvbGx5bWFuLWRlbW8tdGVzdC9qb2JzL2E3QXZzbjRoOFM5aUpTRHlsOU1YZGRDazV0OT9sb2NhdGlvbj1hc2lhLW5vcnRoZWFzdDEiLCJqb2JSZWZlcmVuY2UiOnsicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsImpvYklkIjoiYTdBdnNuNGg4UzlpSlNEeWw5TVhkZENrNXQ5IiwibG9jYXRpb24iOiJhc2lhLW5vcnRoZWFzdDEifSwiY29uZmlndXJhdGlvbiI6eyJqb2JUeXBlIjoiTE9BRCIsImxvYWQiOnsic2NoZW1hIjp7ImZpZWxkcyI6W3sibmFtZSI6Im5hbWUiLCJ0eXBlIjoiU1RSSU5HIn0seyJuYW1lIjoibnVtcyIsInR5cGUiOiJJTlRFR0VSIn1dfSwiZGVzdGluYXRpb25UYWJsZSI6eyJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwiZGF0YXNldElkIjoidG9reW8iLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMiJ9fX0sInN0YXR1cyI6eyJzdGF0ZSI6IlJVTk5JTkcifSwic3RhdGlzdGljcyI6eyJjcmVhdGlvblRpbWUiOiIxNTcyMjg3ODM4MzQxIiwic3RhcnRUaW1lIjoiMTU3MjI4NzgzODg3OCJ9LCJ1c2VyX2VtYWlsIjoidGVzdC1yb2JvdEBzaG9sbHltYW4tZGVtby10ZXN0LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0="
+ }
+ },
+ {
+ "ID": "ad1b952ae18f592c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/a7Avsn4h8S9iJSDyl9MXddCk5t9?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026location=asia-northeast1\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:19 GMT"
+ ],
+ "Etag": [
+ "mDmiAoRARmgRZd3i12V0Qw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41R0WrCMBT9l/tcIa1aG99kiji2DmoHgzEkJrdrNE2kiYMi/fcl7YYPe9lL7k3OuedcTm7Aja7k57VlThoNyxsow0SoltfYsNBVEpWwsHy/gWYNwnIsEbjuEm77stjlW+ijO35t7B3f5eVmuymg/+gjEGid1INbyY4Kg8GlNSfkbud9wdZGqa5heiKwMRPn6V5JMMcsjgxnzp0J6mF8fAndISExjUmSHdKUknROCaFTXw6EJAn03vpkjuW40dPLag3jS4EVtqj5PxfxEwPKFqsvq2d1tqfycb/uFH1+E+LhPHfUs5ThP3kCs5JNtGldjcy6OLha50GfArfBk7c4piGH6OL5IkmyRTbNprMYBnLr/mD++FW6DiqhC5TiNc+Hz+i/AW/HFlTbAQAA"
+ }
+ },
+ {
+ "ID": "a721756572a9b7b1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/a7Avsn4h8S9iJSDyl9MXddCk5t9?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:19 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7WOQQuCQBSE7/6KZc8ZHYzSWyQehPRgQhARa7uptLsP9q2BiP893Tz0Bzo9ZuYx3wweIVQYA4ZGZJjEJB/AxaSCTbD6Gkogsnr2aAaWPKHTPCIpVAQbkLJXTPtcKPCtQBuVxZrtDm/UQbMvwjYt4l6Gpwvnx9fWhnTpdEycKq9OkwX+L57r5aBYq+faWkLF5G9mBENwmQabzES6hKO7t2U3WmY7dNPy8z3JyyyeH0dv9D6Jj6QuTAEAAA=="
+ }
+ },
+ {
+ "ID": "c7e6d1aaeb25de4e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/a7Avsn4h8S9iJSDyl9MXddCk5t9?alt=json\u0026fields=configuration%2CjobReference%2Cstatus%2Cstatistics\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:19 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7WOQQuCQBSE7/6KZc8JHYzSWyQehPRgQRARa7uptLsP9q2BiP89d/PQH+j0mJnHfDMGhFBhDBiakHEWs3wAF7OK1tHqayiByBrn0QIseUKveUJyqAm2IOWgmA65UBBagTZh2/0bddTuqrjLq3SQ8fHC+eG1sTFdCj0Q576r12Qh/wXmSzko1mnX2UiomfzNjGAIPtNgM4ejSzj5e1tGo2W2R7+rPN2z8lyk7nEKpuADCKibOEYBAAA="
+ }
+ },
+ {
+ "ID": "e4089fd3705d633d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/a7Avsn4h8S9iJSDyl9MXddCk5t9?alt=json\u0026fields=status%2Cstatistics\u0026location=asia-northeast1\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:20 GMT"
+ ],
+ "Etag": [
+ "cXKNPdBt6srWqAlr8KNNSg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QQYvCMBCF/8ucK9hGadejqOBBBXVPyx5iM0ogJiWZKlLy3zdTUVZ3L2HyvTePmekgkCQdSNcBJh3UHtPX2b0+I0wgH5dFUZWVqMQoh4zNnv5o6UkaWvWufIxFmRTjpOJwbZuWFtpgYFMSnmB6ozssEnUtJbx1VybiCR4ewegg1RZr5xWTIcQMyJE0O+NoxajkII8B/aXf5zPIUxrtqwMr+xkVHmVraNDoBo22yMv9ao7fL+1L9V9L7A9CbX85rjh4tlnPIcYf/DDKBFkBAAA="
+ }
+ },
+ {
+ "ID": "0cc49f47eb6e9d1f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/a7Avsn4h8S9iJSDyl9MXddCk5t9/cancel?alt=json\u0026fields=\u0026location=asia-northeast1\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "0"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:21 GMT"
+ ],
+ "Etag": [
+ "cXKNPdBt6srWqAlr8KNNSg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41Sa2/aMBT9L95XICEpjyChiRZWsbbpFJhWaaqQiS/BxbHT2KGKUP77fJPSdrSr9iV2zrmPc4/vgey4ZGRE1jx5LCAvvzyo9QWVMYgIdKakBtIiFiOjw0ehlgRDE4vGd1fhD3Zu+jr/9TgR+fAqDBfJeGwjOGbprRKiTKlsM0hV24A2I6o5bUuVmy1QbbodOpjstTzbDhcB/76YliK4uWPsYtczgS2jQWyuudzZYltjMj1ynKOUTqJUIoBmXHdilb7gzt5zslw9QGy084ECx46gnU/afhUqpoYrOT7RavXESm54UuQ1j/4IRRmeOt5CSvG24SCYJqPfByJpClZ5fbSIKTP8WyyjeXhJqtYrX6T6lZ+Hy9nlLCLVfdUizArmsu62pGsB2OB5uPk/HLaVGDVUQxNh1K5UWB3TGwRvK8/tBl3XG676/cDt9wLXDXx7rFzX80hV1QuwbBRd306mpEEi2EAOdlX+T4jNqNnPH/noNwaeOG67amNJ60KssWecQ+MGr63r9gaeNxwM/aF/hu9jg3PzjrMfXFrJTpmg5w9qAc0jcpkV5hsXoDEIt/gInJemAT2LqsJYOFJPiPgvwDHGR2hNWQSxynETiItzGGWoWAhlbhAaYKEcNOT7ep6fmibwdmkYbGghTDvjGQgucYH0m+Tq/q/02uV3Kc/uFbVzeMPC09twZh+4+gMsEqMdBwQAAA=="
+ }
+ },
+ {
+ "ID": "54ebe33ec6730813",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "234"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiU0VMRUNUICogRlJPTSB0b2t5by50YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDIyIiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJMSklsN2g4cnYxU2RpUE9PZGJpdmdvOVduQzAiLCJsb2NhdGlvbiI6ImFzaWEtbm9ydGhlYXN0MSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:22 GMT"
+ ],
+ "Etag": [
+ "JJHM0DwAkWUUvLIFppsJCw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/61VbW/iOBD+Kyi3n04tOAnkBam669JUSwWlB/Sq06lCTjKAt8HOxoYuqvjvN3YSCi1b7UqnfqCZeWbmmVe/WE+Mp1bXitni2xqK7W9fRWydWaDoAqU3N1+G5Or58unh/n4z6F/nubzpPV9cIIJpK7kUWbZdUX6ewkqcK5CqSyWj51wUaglUKrs5uOln/jIoNvYkZXejURqzzUKED7xH0I2EbD5g/AmdLZXKZbfVqqk0F0IsMqA5k81ErPby1sZp5YX4ComSrRMMWpiCbH0Q9o9MJFQxwS/ecEU+awnFDFaUZchIezsvRCzUnyfiNBldNReI37AEaJKINVeaKHpJBJ+zxbowUazui2WIH/xjTaJB1Js2fm9cj0fDhhJPW9FUNM5g5hA7tIkTzDwvJF4nJCR08WdGiOOg6xQjM24cTzVeO62q0f9BS7QVVVRCiZgRSOepA74bk7bt2h4JvXYckNQOXZjPO203DucO6tDOUDJWlAvu2HECPkk8z++EaUwTCEjsprTtuonjJ0AISdNOSq0dlqAAquCKyVxIVpbB6o2jy2k061/PbqPoKrrCAM8Fe4t6GPcRNB3f3/YQjZi8YAJhumz922k0vuxN+39HZbMGsKDJdvIN2zWnmQSMjO2fbnMsjPXXfTT+xypFY5hDATz5yYKhhdF+PL31IOn6vBkljCoVKrFbidQxTUF019hKc7M7vuMEftC2Pc+1DLhQ73S+p3sOPH2rcdqBp/sjFM0+b5H0XSESkBI0aVc7PB65u4wiy39fLE6Nowkh3cZorfK1qpeZ1CyG8ohD4Polh2O549qhbiBlaqwTu9zgxSClYCjNl3G5Bwzp9wOA+TIArEv66sEuBbWHtt85hBirPaT0UUJw8TAXOKDSJMRzkW4Qtn3XQ8L2HlV7d98YlhQ/NCxjuvXoHsdzbNJxDm0rVB3PPjLbR/uxWRlNm8nlej7PoGyZ6bhO3TmpmeQsyyDd1zcRRSrHWLKKeSV5wBgKeCXMaUHRKutzdCOrqDrtDBSkd6e0esDX+qM3Gt4NIrOsUkEuzaRVLwvuvF50uY5rlfXJ7uoxPGt8crp8vZKo/rUz+Lg72/s35+JdAO0bhdNRYzZDmgu8TTNRjvvjDv9woHEzV3ii0tPrg0rIGAeTCmQ0R51ZgI6/X7xJJsplcQJd6Bx3hPHFPWemQuSwfrVQl40mim3gFaaTOYzg287/HeGx8odtVObOHiVMPr4kr6rP9VzZpB1gIbRhjDLkNGVQmNU8xTuhyRK+MFUdaT2B1TVOzSNWDsyvPWNmWI6eqJ8YHF0IPbWwAq6qV6J8ivXBfk999zrkL6UhKq5Gt5G12/0Hm+5KQzwJAAA="
+ }
+ },
+ {
+ "ID": "e106eb4528cc39db",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/LJIl7h8rv1SdiPOOdbivgo9WnC0?alt=json\u0026location=asia-northeast1\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:23 GMT"
+ ],
+ "Etag": [
+ "gMUxIUPc4JEHu8sRsQ9Bww=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/22QzWvCQBDF/5fpNULFQjXgoUrQSOpHVHooPazJmKzdj3Rnog3i/95NWvDS0+xj3o/3Zq/wKU0OIRxk8VWjax4K5E37SJFqxeRHZQ0hBIAsCu8sXvff8X6dPS2ieT2klDajyeUyHnsHZSVqAeEVjhJVThC+X8EIjR7rRgDcVK3a7tJ4OfNa27zVy32SvEySCG7Bnag13Yl4uYtmUfof8nEL4GQPKR7RocmwLVA5e8KM4/Y2Kq1SjRaml6O2PUZi6Ihumyxi9VwO3bm/zeV6tcoP8lzY0ZuZPnqXsplgaY03CpKiZ6zjEgVx31cFtixUai/+UhjAn540PmHtbIZE2CYMBr9xU6srhez7sasxgEz4/5pLhvAoFOHtB1qW6/+NAQAA"
+ }
+ },
+ {
+ "ID": "38b4da3f076c225f",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_0edfd2e73b0413160964b80d193eff543b9f2b04/tables/anon21bce70c66759dbace80b3da433c27ce000dd5da/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:24 GMT"
+ ],
+ "Etag": [
+ "XDOQq9TANTgTh6JbIYVV3Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pHuPgHFlqGOPqFpIdkmHkleUaGhRkH2toCVZTklyTmBOWXFwOVGQP5RWBmdLVSGpgsAwonKtXqQFgGSrWxIDZCLgkuZ4ghlwyXMwLJxdYCAMT08miwAAAA"
+ }
+ },
+ {
+ "ID": "0b243cf889d26577",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "389"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImNvcHkiOnsiZGVzdGluYXRpb25UYWJsZSI6eyJkYXRhc2V0SWQiOiJ0b2t5byIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJ0YWJsZUlkIjoidGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMyJ9LCJzb3VyY2VUYWJsZXMiOlt7ImRhdGFzZXRJZCI6InRva3lvIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDIyIn1dfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6InhnZHRMM2dYU0NOQkZzZTVmV3lJUTVxTEV5MiIsImxvY2F0aW9uIjoiYXNpYS1ub3J0aGVhc3QxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:24 GMT"
+ ],
+ "Etag": [
+ "s/3U35Jk4x2N5CqcJTzCYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7VSXW/aMBT9L95ryYdDgERCq4a2iQpla0e1VlOFjLkYl8QOtlM1Q/z3Xoeyh7ar9rInW+cen3Puvd6TrVQrkpOlFLsGTPvhXi/JGQHHBKI2TK6T9GLbf6RFOtnxi/nvya0Yj5Eh/Su70WXZVkz1VlDpngPrcmYl6ylt3AaYdXHwKFZuloibH5Pi0xcL6fpnO71Md7PPLUUZC+V6JtUWxTbO1TYPw1OUQGgtSmC1tAHX1R88fKBhbfQ9cGfDNxKE2IIN37H9WGrOnNRq/CIr5mksmAVUTJaYyKv1jF5qd/6GTyBZFQjkP0gOjHPdKOeDogrXai1FYzoXku8RqFt/Wt0YDnO2LMGS/NeePDcy/cs0UWvFHLNwZDi9bTVizgscEX9b0CjO4oiOFoNBFg3SLIqyBI9FFFFKDncoglpSdXE6c5/lv1sn5HA4I7iNeVujI5l8+35LjsgVrMGA4v8YBF901ff/0mmtSHy5WHS1Dos4BW67hRg4TkNWPlqcDikdDUf9/iAeko5s3OtaFp2Umk7F3zzl6roopsVX7PcJ36lGllEDAAA="
+ }
+ },
+ {
+ "ID": "25e2498acc5a3272",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "387"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7ImV4dHJhY3QiOnsiZGVzdGluYXRpb25Gb3JtYXQiOiJDU1YiLCJkZXN0aW5hdGlvblVyaXMiOlsiZ3M6Ly9zaG9sbHltYW4tZGVtby10ZXN0L2JxLXRlc3QtdGFibGVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAyMi5jc3YiXSwic291cmNlVGFibGUiOnsiZGF0YXNldElkIjoidG9reW8iLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0IiwidGFibGVJZCI6InRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMjIifX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJmRWNMS09qaXNtbXlyWmdja3lNcU0zb3MxY3IiLCJsb2NhdGlvbiI6ImFzaWEtbm9ydGhlYXN0MSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:25 GMT"
+ ],
+ "Etag": [
+ "Oc6ii0yVq3kOXLEK0C/f1Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/62Sb2/aMBDGv4v3dkmcUP5FQtuE2FSVgsbSqto0IcdcgiHJge2gRhXffee0TBpj3V7slS/n5373+HJPbKuqFYtZqvJ9Dbp5s8GUvWVgRU7ZuewpxZv7fWc7f5hObvg4yMLPoxEplKsyayyKphSVt4ISPQvGxsIo4VWo7RqEsaGfTeT0Zr5Rpiwb/TWX2+Z2f9tBE0pNGANFNlXVlmBra3cmDoKTFT9HzAsQO2V8ieXPfHCIgp3GDUhrggsOAnqCCV5p+65AKazCanTmlfzUBvQSSqEKcuRonsYU7fsLfXwlSj8n/UFJEFJiXVlnlCgSq0zltW67sPiJwaPVQloXGqy1hESkBbjPl5dc/2GcBFsJKww8KyxuG6ScdeXPGRctIx4OQx4Nlr3ekPe6Q86HHTqWnEcROxKDUKpq7dxpRWW5m/Sl4aX79vT+zvWlObBztGHxt/8G//4L/SPqUtAI2fjLvXsT/eak2dEQ2eQhWXwYJy/JBWSgoZL/OF6qaG9f39PTypDwfGmoq7F0SUalcT2lhlabqNK5C7v9KBr0B1fdqM9ZK9b2t7urQedEqluKi5xkcTebXc8+sePxBwHDfButAwAA"
+ }
+ },
+ {
+ "ID": "00795b336d1cb6db",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://www.googleapis.com/storage/v1/b/shollyman-demo-test/o/bq-test-table_20191028_66906590093659_0022.csv?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "no-cache, no-store, max-age=0, must-revalidate"
+ ],
+ "Content-Length": [
+ "263"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:25 GMT"
+ ],
+ "Expires": [
+ "Mon, 01 Jan 1990 00:00:00 GMT"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Server": [
+ "UploadServer"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin"
+ ],
+ "X-Guploader-Uploadid": [
+ "AEnB2Uoiqp6WJaYWzofk2bQElccI6vK-cpV5Imql7uPEcOwRp0cqg31IF4qngoWai6LCTXvp41gQ-_fRo_BMOvPyN7d9DHgRUBYc_-pwqTIPpt3YZtirupI"
+ ]
+ },
+ "Body": "eyJlcnJvciI6eyJjb2RlIjo0MDQsIm1lc3NhZ2UiOiJObyBzdWNoIG9iamVjdDogc2hvbGx5bWFuLWRlbW8tdGVzdC9icS10ZXN0LXRhYmxlXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMjIuY3N2IiwiZXJyb3JzIjpbeyJtZXNzYWdlIjoiTm8gc3VjaCBvYmplY3Q6IHNob2xseW1hbi1kZW1vLXRlc3QvYnEtdGVzdC10YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDIyLmNzdiIsImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIn1dfX0="
+ }
+ },
+ {
+ "ID": "ab39375fa85f00de",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/tokyo/tables/table_20191028_66906590093659_0022?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:26 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "b2ddd272cf682063",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "238"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJleHBpcmF0aW9uVGltZSI6IjE1NzIyODgzMDcwMDAiLCJzY2hlbWEiOnsiZmllbGRzIjpbeyJuYW1lIjoibiIsInR5cGUiOiJOVU1FUklDIn1dfSwidGFibGVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInRhYmxlSWQiOiJ0YWJsZV8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDI0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:26 GMT"
+ ],
+ "Etag": [
+ "VCJ3jzIwFvLeC1eviigbWg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SX0/CMBTFv0t9FdptsH8JD0IwwQwfEPTBGFK2yyhs7VwLOAnfna4BTUTNntp7cs69v970gDaMJyhEC5a+b6GsbhRdZIBuESiaav158OCsP0f7+10EAwt2jKWLl7TX0w5W5+RKZFmVU95KIBctBVKFCVVUgprbxAosYvtz1w2I2w0ICRx9zAkhVtvM+cdid/QICdkyYnyjB62UKmSI8QW0nQqRZkALJtuxyL90vLNxUYo1xEriX+jwmU7iJpjYYErciNaYJrCEEngMKDygM8joj03pzBnCOJoAXcaYQAOqo15ivIKc1jhLBlkiUfh6QJzmmhDxul9V1NfH2Xg4GQ3Q8U1n+DbvVxpR6wSZMhI8nUL5U56I/aWKS6CKCT5lprXV9Wzb9/yO67he/aE+ClZeG3yHePph2pBRqcYiYZoyuerRIe436vSuHw3rhIhNQy3NntDxBKgcG+jNAgAA"
+ }
+ },
+ {
+ "ID": "c25c2e90ac29b7ab",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0024/insertAll?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "121"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJyb3dzIjpbeyJpbnNlcnRJZCI6InNoUUFxZm9lMDNRQ1ByZloxc0w4eEtLRGNkciIsImpzb24iOnsibiI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLjAwMDAwMDAwMCJ9fV19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:26 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42MuwoCMRBFf2UZ20XWNp3oFim0WLASi4kZQzBONA9RFv/dYQVtvdPMOXDvCGfPFhQY726V0nNW0ARaY0HNmVJZhjBQvkYBaMFPrk8ppgxqP4qw9ADVtUA/mQhzZBn1fMfgrRRDPGLxk2RBS6Y6zacoLHihnNGRgP40mu1u0w961QhVUs2i+zPz7wevg9wb8ASitOAAAAA="
+ }
+ },
+ {
+ "ID": "e1cb068c3ff76b8e",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/tables/table_20191028_66906590093659_0024?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:26 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "5dc84b71847cf7d7",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "167"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiYmxhaCBibGFoIGJyb2tlbiIsInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoienQ0QkZLa256NmhGa1ZKVEVQU3h2WURFSGVqIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:26 GMT"
+ ],
+ "Etag": [
+ "HZMdEQeqbQppZ01jSgJgEw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/72SW2/aMBiG/0rk3ZZkoLagSGinpipd1w0SKvWkyXG+GBPHDrbDSCv++2xDp01jvdxNFH+H933yOs+oYqJAMcoZXbWgujdLmaMjBAZTW724+1IkU1jl06a5e9tfpvSSJj/GYzvB3JZeSM67GoteAbXsGdAmnqfhkzn+eP65Ek+ni/Pq5jJLvqWb9e1ZcgFLu6mBl1dMVHZ/YUyj4yh6cQ+plJQDbpgOiax/1aP1IGqUXAIxOjpgGllqHb1i+45Lgg2TYjxPLUKrQX2HGjNuIZxAT8lcmvcHpEOG65Da+TUjgAmRrTCOzaoQKUpGW+WFUfyMPOtvLyjneBHsHkpWIOxSo5hUzLju5DpLZh8+ZZObZMd0BRSTLl1ZqhJzDdsjZD8s6xqw09N5MrtFu9IMSlAgCDizfTCTf1wI8hu++/q9vERkB21I1kgbe9aGEe1siALfzljtcPonw8FgNBwdnw6HA+SHlfm7Nzpxf5MoDnb2Hq3XB6WkmoFuuXFH66Y9CxNrzFkx9ZH+Qbnal2rQGlMnn3bC4E3gpeJgLmDT2GSgCFgBwrCSgQoe/K08oACb4L4f9x8dht+wGPf/1/hxF4BTOPt6naDt9ie0p50qkQMAAA=="
+ }
+ },
+ {
+ "ID": "08a3931fd8e63d0d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/zt4BFKknz6hFkVJTEPSxvYDEHej?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 400,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:26 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/61PvQrCMBDe+xRHZgcFp24FRQoqqK2LFjmbUwNpUpNULKXvbhs7dHB0Or7fu2sCAEbGaMNCaDrQwVxz6tB8Op18iYKsxXvPsUOtHL7BJ0JIFb1Lyh1xEJyUEzdBBs7sKvFxZoAOTrNwlrGhx6dsV3PyGIaF/9zhu7guUKi+6i71FeVYM4RWe02oF0rBdxWZeuyQOkcnvp7nLyGpS39niQYLcmTY4Gn9zIZvrUNX9d+yeHuM1vHiEu1X6Wa5TXp/G7TBB3+aYz19AQAA"
+ }
+ },
+ {
+ "ID": "037ba80101748cf9",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "507"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiXG5cdFx0Q1JFQVRFIE1PREVMIGBzaG9sbHltYW4tZGVtby10ZXN0LmRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS5tb2RlbF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxYFxuXHRcdE9QVElPTlMgKFxuXHRcdFx0bW9kZWxfdHlwZT0nbGluZWFyX3JlZycsXG5cdFx0XHRtYXhfaXRlcmF0aW9uPTEsXG5cdFx0XHRsZWFybl9yYXRlPTAuNCxcblx0XHRcdGxlYXJuX3JhdGVfc3RyYXRlZ3k9J2NvbnN0YW50J1xuXHRcdCkgQVMgKFxuXHRcdFx0U0VMRUNUICdhJyBBUyBmMSwgMi4wIEFTIGxhYmVsXG5cdFx0XHRVTklPTiBBTExcblx0XHRcdFNFTEVDVCAnYicgQVMgZjEsIDMuOCBBUyBsYWJlbFxuXHRcdCkiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IjJKQ1kwbjFMUWVOTUgzNzVuOXM5NlRydjBFayIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:27 GMT"
+ ],
+ "Etag": [
+ "Sbv6TksWcTHiS+tCdkhiVA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TbU/bMBD+K1H2oUMreQPaplK0VV20dQphNCkTUqXgpNdgmtjFdqtViP++cwIVYh3jk+2757l7fC8P5oqyhTk0c1reb0DsPtzx3OyaoEiJ1iTf9tKV/FWk32nySY0Xq1t6NQoCRFDNkre8qnY1YccLqPmxAqmGs8TyfoyvHeZGlxCffz/pnzFf+r1UbJ1whUwJ1TKibIX8W6XWcmjbz9mtkvOyArKm0ip4vbfbW89eC34HhZL2gaQ2qpb2G2k/V7wginIWzBKUsJEgMqgJrVCEDnAseM7VlwOhLUpqq0T8lhZAioJvmNLaMErB2ZKWG9EENocPZqP1xcWcs7maq/E0HKWhcX7xNYyMm0M5FkQRCSrzHNd3HW+Q9Xq+0zvzHcc/wSNzHMe1ar6A6k3ITZvv4mc6uYgT42P7nKuWqXZrCDoVZUBEJqDsdPd+8jujCtqPBO7ejp0QLEMzBI51esCcSaWPchd0sBhSEaY6LerIGL0QkIRROE6NDulo89LtGp7l6GtFcqieUbMYZRujKHpNy/e0E2vwinaEjVhgDSlr1Kckr0C34GlcJv8YU81qi94g3tMApCgdvSH8vxnmYxdFUC6o0qMwidNwOhqnk6uwHcAISlLsknscwSWpJCAcpzjFJiH6chZOr83WNIUlCGDFO7+FjMb79hI+7wMCcSMwETZPUSxjIXWaQkBbTlprOe5Z3/MG/cFpv60DgoX62+f30LdfAh0RamDq6U/tGmTNGpiPTyk3cg9FyHQWx5P4G3r/AN85IDuZBAAA"
+ }
+ },
+ {
+ "ID": "4768ba8622cb9b2e",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/2JCY0n1LQeNMH375n9s96Trv0Ek?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:37 GMT"
+ ],
+ "Etag": [
+ "pcxo4Hkib3GG9z+RBIypTw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/yWNyw6CMBRE/6Uu1QTFRyBxozGgURMQFy5LuWKh9FZaH0j8dyuuZpI5J9OSksuM+CTl+e0OddPLwUS/EoO+C6NtKJQayICAobklFXvhJCx56gaB9+7Hy02jkudiYYkC0xguUINkQPyWqBoLYGbzO9BXFKKpqBxmUOHQgDZ/o1vH29XZkaNdBId96M6n0tPeLKkfzrq0lEBGDUdpwdORfDpthZUSYOzPhQoNny+eToOdygAAAA=="
+ }
+ },
+ {
+ "ID": "4757002d0fa2bba1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/2JCY0n1LQeNMH375n9s96Trv0Ek?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:38 GMT"
+ ],
+ "Etag": [
+ "niNAoZehTSAO9vVoA98g0A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/yWOXU/CQBBF/8v4WpKqEW0THgoxQaIoXybytiyXdmG7U3enJA3hv7uVp7nJnDl3LnQybk857Uz528J3dyVk0YclQmslxNGwC6CEIKqMpDPzgreo1qviMzt/c5G9lGkxGkXiyLslDvBwGpRfqPF8hJa3viBUbG1XKzfYo+aBIMjt4n/7MJv8pO7+fYH5x/Tx+cllIRuu/Tl9PUXKslZi2EVws6JrQsKi7LiLki/PGiGgl6Q34YTrxkLiB+JbJKSVrjA1QvlB2YDrHxR4hKL0AAAA"
+ }
+ },
+ {
+ "ID": "95e1257270239ff5",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/2JCY0n1LQeNMH375n9s96Trv0Ek?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:38 GMT"
+ ],
+ "Etag": [
+ "HRm7ADrqvWPGSVogti5ulw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7VVy27bMBD8F54TgKRelG9NIqAF4lpo1VMRGIy0jllQj1JUAMPwv3cpRnESOe2h8UnkzuzMcgmu9qS30qreqrIniz0pDeC2bQpVA1kQFiWci0SECaWMXDiysXMsjRGDpnqDRCIQAhHbWqmvdhb63LQl9D1UyKKI/B7A7JzvuMi1bMji5540ctTJDXQ+AalqyhlrWPavKuAs9RW8ikeMx7HPsIMDrlfL/DYrMnK4eDYpjFTNpM9O6k86M/0oTei/9LNHqQdpYbLgpy2epGYWIohCl7EdNhsNq8F2gx1beezGW+87lMELrdG0Otl1xECrBsZeg5YdQt41pNN1fdetr9BFOixLNQ8/GmWnUNnWnQZ0eBmUpVWPcIy4NrzUD0RyVn0eRdEHGrCZQciSj+wQnxlEIhRnNUjCJDirQRoH5z0Bw9fIZw6cCh7+j8vdk2KOT1O5ETh/Nu+OsSNypbR+Dt/jBmspFBiyYO9VXMpyC5+VJYuN1D34Jw01NLbYdW6CXH/LPhXZerm6yW6RX1V61YEZx3QOZtOaenT0NE8opHkAW8h7DW664hT9BaX94mj9ttV6V8vmsoK6vcSarcuRVvbgGU/rNacsZZSLdRynNI5SStMAP2vq/wXWqY8JdVuB/jv9cDh9/MNxgu39wRG6WX3FMXb4AwaWhuucBgAA"
+ }
+ },
+ {
+ "ID": "b87f4e2da67db5fe",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/models/model_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:38 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/31SbW+bQAz+L/c5mQ5IeInUDzRlKVpCOqDatGlC1+AwpoPL7o62aZT/Ph+hVVpF48sZ+7Ef+7EPBDSryIxYO7hr1Pc4TZ6dl9todf1tlSyqqysyIo0ogaewBQntBsjsQHZS/IGNjktMVL8F5/uGteMSGjHWoDTmlEwzBSfEYBc2tQKL2n7hugF1pwGlgYNPQSm1Xmn6hN76P/w4IhsJTNeizesGzABTz7Z9z596AXWwHGdKr0RZb2soP0J8x7VfGfP9zsSWcRKFaZFGizTKsnidYFxLVrd1W6Vdq8js5+HNsd4ZYmWkaNhzrEGywUHMJFwoNZRdRWFSZF/vwzS6KZbrLDNhYLJNmcY4/TTBfyuFquNM1i99GXSj077gbOo2BY7/j3AnRSVBKVODWiPyxGSTaSY1mW0ZVzAiyML3mRY7MtOygzPeDOfQUO2xv/k6yfIwybEtgUM1A9sZ4jrM57fFIg1v4ijJi5som+NrFoD0HdcnZeq2hOe+x7I7ibEyajhOv4tX3Zbi1LBr+/Tss6yPohx/Yf+PjHenUqBlvenlltBP/d7ZAGvDByV4pyGSUkhTY/qOglJv1OOyvx2TUL7BLrRyBluK6g1JnanjB5Y38T3PRYNODLSsL3DTyXtux0W1hpImbtsTN7AcbLE3aHBEOZXZ3nCp5vbHFh3bfm75M8eb2R5u2f5BjDBbvPtOwhw5m+EwW9anbc316f7yDv37BfeC/ixP42RBjiabswfgF3J32Fu90VAWPeJyoc/LdZi7k6GS2AynSe4zcvwHomKWvksEAAA="
+ }
+ },
+ {
+ "ID": "69125c36d9b9f7f9",
+ "Request": {
+ "Method": "PATCH",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/models/model_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "81"
+ ],
+ "If-Match": [
+ "1pePmsXIRNx3zHEMBWMNGg=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJkZXNjcmlwdGlvbiI6Im5ldyIsImV4cGlyYXRpb25UaW1lIjoiMTU3MjM3NDI1ODgxOSIsImZyaWVuZGx5TmFtZSI6ImZyaWVuZGx5In0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/31TXW+bMBT9L35OJvMNkfrAUtZFS8kK9GGbJuSGC3NlPmpMmyzKf981oVVaRePF9r3n3nN8fDkQUKwiC8J/2Lt0U943ztPjwx29/+5Ylbq7uiIzUrcFiARKkNBsgSwOpJPtI2zVqsDC/k8rxL5mzbyAup0r6BXWFEyxHk6IaZ+b1AgMavq56wbUdQJKAwuXnFJqvNKMBePu//DjjGwlMMXbJuM1iiKG45mm7/mOF1AL2wnWq9u24CWH4iPED1z7lTHbdzq3XsVRmORJdJNEabraxJhXkvGGN1UyND1Z/Dq8BTadJu61FTXbrRRINgWIvolo+35qexuFcZ7e3YdJdJ2vN2mq08BkkzCFefrJxrORQDUIJvnfsQ2GMWheCNa8SUDg+Rm+y7aS0Pe6BzVm5IXJOlVMKrIomehhRpBF7FPVdmSh5ABnvCneQ0G1R33LTZxmYZyhrBYvVU9sZ4jPYbb8mt8k4fUqirP8OkqXuOoHQPpBqJMzvClgN2oshpMZt9oNyxrf4tW3dXsS7Jo+PfsM46Mpx9+o/5mJ4dQKlOTb0W4J463fB2tgTfjQt2JQEEnZSt3DeUdBqTcbcenTwCQUb7ALUs5g67Z6Q1LLsfzA8Gzf81zcUFtDC36Bm9rvuS0X3Zpa6rxp2m5gWChx3NDgiHb2+vWmSdWzPzfo3PQzw19Y3sL08JXNn0QbU+LcDxKWyFlPg9mwsazU06fGyTuM6zd8F4ynWbKKb8hRVwv2AOJCbYfa+FZBkY+Iy42+rDdhhv/O2KmAfit5d5pO0sAL1pSSQ1OIfTwJmo6YgV3H5ccf1vJs0/F9IyDHf/Z8lJ2KBAAA"
+ }
+ },
+ {
+ "ID": "8e506a3363d098fe",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/models?alt=json\u0026pageToken=\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32OwQqCQBCG32XOCqOm7nrrICGUgXqLkMUdyVBX3L2I+O6Z1qVDp/lgvn/+maFTkloN0W3eMaOaRuorgmiGYVRPqkwiIQL9UG07daK3JXXKNqQNWCCFEZp248Oliw530GVlEHAMfI7IvXWUiOiska1mC2z0X18sqEYSplF90XTrU+D4oeuykPkhR2891wptLko2dUPyV2E8OHwbi2l4785JGh+zMotPWZznyTWF5b68AAuE2UUHAQAA"
+ }
+ },
+ {
+ "ID": "e9a81ef08854dd2e",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/models/model_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "1671095c16c0bfd8",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/models/model_20191028_66906590093659_0001?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/82PMQ+CMBCFd35F01nMgUiE2bAJi07GkGormrRcwpXBEP67bWVwcna6vHvvct+bIsa4GgYceMkmJ5y8oVROZZCtPgujiETnd7xGy+449rJkBxfTjB6o9cuIPpbKYGwV2VIKK0jZNoWkSCDdtXleQL4tAIqNGy0AJGvjz39G+PI+4JH7fg6aLZx/gBYQJBrx7D1Bp/Eq9Lc3KEEYvB5t5eH4Ys5hXpaKZIUdKbRojm3VnOq9D87RHL0B/Mu5Z6IBAAA="
+ }
+ },
+ {
+ "ID": "34d694d29ddf7f9b",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "292"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJhcmd1bWVudHMiOlt7ImRhdGFUeXBlIjp7InR5cGVLaW5kIjoiSU5UNjQifSwibmFtZSI6IngifV0sImRlZmluaXRpb25Cb2R5IjoieCAqIDMiLCJsYW5ndWFnZSI6IlNRTCIsInJvdXRpbmVSZWZlcmVuY2UiOnsiZGF0YXNldElkIjoiZGF0YXNldF8yMDE5MTAyOF82NjkwNjU5MDA5MzY1OV8wMDAxIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCIsInJvdXRpbmVJZCI6InJvdXRpbmVfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSJ9LCJyb3V0aW5lVHlwZSI6IlNDQUxBUl9GVU5DVElPTiJ9Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32PT2uDQBDFv0qYY2lg1fgXcoiBFok1JLGHthRZdLTb6m7QFRTxu3c10p7a0zxm3m/mzQAoaQEexC+GIP6X3T0Sn7525BIejuK03cI91KKVjOMZc6yRpwjeANdafGIqg0yhzYcoy76ifJ1hJdYSG6mojEra4M2x6EQnmqsR3UksyyWW6RLiGqokhBDt99CMLPp/ZPxh4v6qcsFlvwt35+ThOdrHwTFSO9MaqWSCx6yaDJpp67pjO6a7sQ01Lmkjn0TGcobZnxZetLSY159C1aB10VbIZQPe2wCczlS3vHwLMoBU9cD49EoQxdYGxvFdOTBnnE15fJH1E7a6WxkwfgPK8JBKhwEAAA=="
+ }
+ },
+ {
+ "ID": "52d137124d3ddadd",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "447"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiXG5cdFx0Q1JFQVRFIEZVTkNUSU9OIGBzaG9sbHltYW4tZGVtby10ZXN0LmRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS5yb3V0aW5lXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDJgKFxuXHRcdFx0YXJyIEFSUkFZXHUwMDNjU1RSVUNUXHUwMDNjbmFtZSBTVFJJTkcsIHZhbCBJTlQ2NFx1MDAzZVx1MDAzZVxuXHRcdCAgKSBBUyAoXG5cdFx0XHQgIChTRUxFQ1QgU1VNKElGKGVsZW0ubmFtZSA9IFwiZm9vXCIsZWxlbS52YWwsbnVsbCkpIEZST00gVU5ORVNUKGFycikgQVMgZWxlbSlcblx0XHQgICkiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6InJ6Tks1S0thcE8zbmVsbDU3WWVwbUZhWVg0QiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Etag": [
+ "Mty5paeXKV0PUAfAa0c6sA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/31Sa2+bQBD8K6frF1tyAJNAbEtWSy1cWXZIyyOKJSTnQtbkEuDI3RHJjfLfu+CHKjXNFzh2Z2eG23mjz7x6oBN6z/OXBuTuy5O4pwMKmuVYvdI7p2Zwu7yxfibe1mNW5ipvOkUEb6fUoyiKXcmqswcoxZkGpSdJZMjfwdJZLll9fV5BUTiXa6jLOVvfXnzHSQXFdsWrZ5x/1LpWE9M8qhu5EHkBrObKyER5qpuvtllL8QSZVuYHoia6VuYnsl8LkTHNRTVNIrTQKJAbKBkv0ERLcCbFvdDfPqA2OCuNHPGvPAOWZaKpdOsNWTJRbXneyI6YTt5o5/WvA02rVKd6Fvpe7JN5EszixXVA7j6SeWCaKdAb2xqOh5Y92rju2HKdsWWNz/G1sSxraEjRaF7BZyD7rrdXTTWTknhh6K3TxrLOsygOk1m8P1esBIKFRfBjQF5ZQRZB7F50PTg8OxJC+sSLyImSkF7kr/xZTKLkqreY96CA0ujYpiSlWyFSOuhqSDqomqLo98k8vL4iSRD4UdxDTx1ji+mfNPAya8mF5Lq9NfTihx7e1Y2/39UKcpbtohfc1pYVCt4HFBce72pA9K/ED9d0XwphCxKqDNolHAKz+E9QaTfRdT/P6zE6CMTwoJDS+K00z1Qrk0no2jEvWztD59K2R5cjZ+y4Lu3AUv/Tc+0L7J3y0jJCCZU+/NM+MZtjYuj7QbVRJzSiQrxTXCB2/wDqwd9hxwMAAA=="
+ }
+ },
+ {
+ "ID": "1afeedbce09a7bd1",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/rzNK5KKapO3nell57YepmFaYX4B?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Etag": [
+ "KK1s4mbAhpJgHow1z/lxmg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/yWOXUsDMRBF/8v4ukWLLcJCH2xBqgE/KoJ9zKa32a1JJiaz6Lb0v5u1T3Nhzpw7J/rqwo5qajr73SMNVxbyNoYNcu8klxE5ZFBFEG0LqdQ0z3xz38Ynu+af6fHa/Xq7WBTiwM0GeyQEA6pPFBMfYORxLMgtOzd4HSY7eJ4Islwu/rfp+KzmSun4chvg3Pxui+gf9PZztiyUY6Ol41DAj3c6VyQs2i2HInlNbJAzRsnNRbhiHx2kfCCpR0VGmxbrTqjea5dx/gM00fSa9AAAAA=="
+ }
+ },
+ {
+ "ID": "620b59aae4367517",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/rzNK5KKapO3nell57YepmFaYX4B?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:39 GMT"
+ ],
+ "Etag": [
+ "kkYL1Hr2AMbmSHaxi93JyQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32RQVODMBCF/0vOdiagUOBmax17EJiKZybCto0TSE2WA9Ppf3cTGD0wekqy73u7ecmVWRQoLcrGsuzKGgN01H0lO2AZC6J1GCbrJEqjOGZ3Dja40OLwgTTo26WSJqSgRqE2I4ItjW7AWmiJ4qR8DWBGN9cjJTWXbvqC+7vDr7KRSv2UP+gg+1MlwbAsmLE3pfHVzkQjmjO8SGTZUSgLPhtCBz1W48Wl2B52j9Wufn7Pt9W+yMnStqq4gPEPVII5atP5gRM5AZUwJ8CDHlD24JJdjP6EBvcOtGet1NiJftVCp1d0aXQugcLCRMz7OuRBGvAwqeM45XGUcp7e01JzzgOymKm/t8z7/ywhu92Wb3CbMg/+4316Kj8V+Y7ob/G5Zy0YAgAA"
+ }
+ },
+ {
+ "ID": "6039e321d7b9f17d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines/routine_20191028_66906590093659_0002?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:40 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32Qb0/CMBCHv8rSV5AMU4ZMRsKLSYBMYejWkRg1pLJjzozWdB26kH13b5NgjH/25pr2ee5+twMBzRMyJDdR74le7XurcjXjKyjfFzfsLRmNiEmULHQqIIAtKBAbIMMDeVXyBTbai1HNn2WWlTsuOjHsZEdDrtGKueY5fBLH89qiXadLrcHath1q9x1KnR6WNaW0+zWoUY7n/xSLVCeHla+Yi4Rjd+4G62nkj5m39LHnRgHXqRQs3dVAt39hWYOLQd+xBw4+ZzzXCxmn2xTiPxGRFDxp2t/O8YKrpNiB0DkZ3h+I4I3FlTou/RnlQDTW61TUy7hB4N41puLlJIPa/gULWRCNGXK5VsXmRGC2LP42rClmo/5s4fkzUlXmCd7z7HfW85l9juhjhd8jhodtKtL6Z13KuESgFU7mkzEzwmjR8qYtwOBndVNjZDyQrZQPxGzucIIpiixrt41psFwYke9PQtbCbduGGxo10ybVB42Tk9drAgAA"
+ }
+ },
+ {
+ "ID": "97366e446d40d857",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines/routine_20191028_66906590093659_0002?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:40 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "477418610767222e",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "289"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5IjoiXG5cdFx0Q1JFQVRFIEZVTkNUSU9OIGBzaG9sbHltYW4tZGVtby10ZXN0LmRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMS5yb3V0aW5lXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDNgKHggSU5UNjQpIEFTICh4ICogMyk7IiwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJ6OEpnZ0IwZzZCZXFhOFpJQmhnVTBSbWljMUQiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:40 GMT"
+ ],
+ "Etag": [
+ "Amn3GQrlbksaVntI4dJwLQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/31Sa2/aMBT9K5H3ZZ1KEkIbHhPaoGNVKpSJQCptQqLGXIxLYoPtdGNV//tuwkOTxviU+J5z7zm+x69kLeSCdMhc8G0BevfuWc3JNQFLOVZ7uWzcj3Q2Xxv6KG10s3j4ORx1u8gQZZdZqSzb5VTWFpCrmgVjO+nY/d164Lzv87APW9r6EfVXPPWTXLD6F+w0kC2HQq6xf2XtxnQ876jucqV4BnQjjMtUfqp7L4G30eoZmDXeGVEPXRvvguynTDFqhZLddIwWCgN6BjkVGZooB9S0miv7+cxoV9Dc5ch/EQwoY6qQtvSGU5iSS8ELXQ0mnVdSef3rh0zl1E7tXTLoTQbO1zS+m0TfYufpnMyCWmrAzgK/3q77QWsWhm0/vG37fruBn5nv+3VXq8IKCZdIjaf3v5wonoQ3V05v7ODhg9O4+oh2N1ooLWzpC/FB0kM3j4P9NobAKduNt7iPJc0MvF0TXOlktwFkj9JB8p3sSwksQYNkUF7zEEn0n6dAqo4KvfwijuEgEeNBIWPxbKxgppRhGip4IvLSTv22GQStZiv0gzAgFVnbf7BGs43YKZFyIuQg7eFO+0xmx0zI20G1MCc2spI0jqP4HtE/LwEbLCkDAAA="
+ }
+ },
+ {
+ "ID": "5cba0e3ee24aecfe",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/z8JggB0g6Beqa8ZIBhgU0Rmic1D?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:40 GMT"
+ ],
+ "Etag": [
+ "Cuem33Jpkuy0ZJR1C7QpJg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/yWOy27CMBBF/2W6DVIQUosisUm6KFmVIDbsjLk4Br+wx4uA+Pc6ZTVXmjPnzpNu2p2poZNW94w4fSjwbg4DUjacygjeJVBFYKEK2WXY1aoPtzzVx35Ydl+70KvNphBXfxpwQYSToOZJIforJG/ngjR6YyYr3OIM6xeMxO+L/+1j3SvV1uqzxV2sj9t2VId6sFouvwtlvBSsvSvgYU+vitizMO1UJL/RS6SEWVK/hZ23wYDLBxwzKpJCjvjRTM1FmITXH2A4nq/0AAAA"
+ }
+ },
+ {
+ "ID": "5ce510f3f0fbff4b",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs/z8JggB0g6Beqa8ZIBhgU0Rmic1D?alt=json\u0026fields=status%2Cstatistics\u0026location=US\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:40 GMT"
+ ],
+ "Etag": [
+ "k4V0noqkLssnU4MtvzQxYQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32RzW7CMBCE38XnIjlJyd+t0FTlUEA0PUdusoArJ07t5RAh3r1rJ2oPUTnZ3vlm12NfmUWB0qKsLcuvrDZAR92VsgWWs2CZhGGapDEP45A9ONjgTIuSjDTompnymEakoEahVgOC3Rtdg7XQEMVJ+b6AGdxcj+ypuXTTZ9z/Hf6UlVTqt/xJB9mdSgmG5cGEvSuNb3YialGf4VUiy49CWfDZEFrosBx6l2J9KJ7Konr52K7LzW5LlqZRux6Mf6A9mKM2rR84kiNQCnMCPOgLyg5cst7oL6hx40B71koNregWDbR6QZdG5xIoLIzEtK9CHmQBD9MqjjMeLzPOs4iWinMekMWM/b1l2t+zROx2m7/Bbcx88R/v01P5ebctiP4BP1RJ7xgCAAA="
+ }
+ },
+ {
+ "ID": "235c0d2d211f8b25",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines/routine_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:40 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32PT2uDQBDFv0qYY2lg1cR/kEMMtEisIYk9tKXI4o52W90NuoIi+e5djbSn9jTDzPvNvDcAKlqAD8mLJUnw5XSPJKCvHTlH+4M8bjZwD7VsFRd4whxrFBmCP8Cllp+YqZBptPmQZdlXVCwZVnKpsFGaYlTRBm+KuU9NYngGMd3Utj1irz1CPEuXlBBi/D6akLn/D7Hg+sMk/UX7gvNuG21P6cNzvEvCQ6xvZjVSxaVIeDUKjLVjmq7j2mRle3pd0kY9ScZzjuxPiShaWkznj5Ee0LpoKxSqAf9tAEEnqpsj34wMoHTdczFGCePEXsH1+q4VmHPBRz+BZP2ILe4WOsc3XIfztIcBAAA="
+ }
+ },
+ {
+ "ID": "9075067d8edb4779",
+ "Request": {
+ "Method": "PUT",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines/routine_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "275"
+ ],
+ "If-Match": [
+ "TY3o0Bk7xG0BaZx0SLKOoQ=="
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJhcmd1bWVudHMiOlt7ImRhdGFUeXBlIjp7InR5cGVLaW5kIjoiSU5UNjQifSwibmFtZSI6IngifV0sImRlZmluaXRpb25Cb2R5IjoieCAqIDQiLCJyb3V0aW5lUmVmZXJlbmNlIjp7ImRhdGFzZXRJZCI6ImRhdGFzZXRfMjAxOTEwMjhfNjY5MDY1OTAwOTM2NTlfMDAwMSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QiLCJyb3V0aW5lSWQiOiJyb3V0aW5lXzIwMTkxMDI4XzY2OTA2NTkwMDkzNjU5XzAwMDMifSwicm91dGluZVR5cGUiOiJTQ0FMQVJfRlVOQ1RJT04ifQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:41 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/32PUU+DMBDHv8pyj8bFAhsDkj2wJSbEiTpxmhhDGnpgDbQLLehC+O4WRjTxwae79H6/6/86QE0LCKCUbdKqUG0OV/fWc3t4YTpmn+s1XEItG80F7jHHGkWGEHRwrOUHZjpiRlXvsixPFRVzhpWca1TaWIxqqvBMTH1qE8u3iO2lrusTd+kT4jumpIQQ6/ejUZn6/xQH+h8nOR1NLnjchrtwn14/xdskuovNzqxGqrkUCa8GwFqubNtbeS5ZuL4Zl1TpW8l4zpH9RSziOSMiioYW4/qHnXmgddFUKLSC4LUDQUfrazr5HKQDbeoNF8MpUZy4C+j7N0NgzgUf8mwkOw3a7GJmZt8wXF9mhwEAAA=="
+ }
+ },
+ {
+ "ID": "8a2e2fac0c38b971",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines?alt=json\u0026pageToken=\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:41 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/82QTU/CQBCG/8ueJc62dNttwqEl0RBrEaj4FdNsukuttl3SXSqk4b+zIuJFuXjxNJPM+8xMng41cqWLWijkP3VIaJYjHyUPtoTwzV1fQsge1zCLrsZyMhigs6/4VCxEI+pMIL9Dy0a+ikyPuEHViyzLTcXqHheV7GmhtKE400yJz8ShTy3AFIPlpYRQIA4FoLYpKQDg70N75NCfRrZHJtkszV9oNgyiYJpe3MbDZDSOzc6sEUwXsk6K6iOAHdeyPNdzaN+1zbhkSl9LXiwKwX+N1PmK5fv1k8jcPDorZZu0KlDh/PwG37Xze65j/v6vndl/cEagT+hpZwSD95Oz5+0OlUhz+3YCAAA="
+ }
+ },
+ {
+ "ID": "e13d401715a561c8",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines/routine_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:41 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ },
+ {
+ "ID": "e4dd1a46f1234a7a",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001/routines/routine_20191028_66906590093659_0003?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 404,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:41 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/82PPQvCMBCG9/6KkFnlarXYztKxgugkUqKJtdDmIHcdpPS/m8YOTs5Ox/vB8bxDJIQ0zqGTuRi88PKO2ni1gc3iY3SGSNWTJ0tk8cDe6lwcsefGGkFPbNtXp+xSmw6XbIhzrViR4WoNcRbDelelaQbpNgPIEn8qAIhX7vPgVymRM0JAJE9wCVrMrH+CFzA0dqqxE0Xd4k2135kzijBkFrmYAOUcjuFe55nEinsKSw6nqjicy/1UHKMxegNhQiAVqgEAAA=="
+ }
+ },
+ {
+ "ID": "8adbdf84843bcc6f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "159"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ICoiLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkRwWEtGWFhtWlVhbzhQV3I1SllGRUttc3RLSCIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:41 GMT"
+ ],
+ "Etag": [
+ "TJFyguOqY4toGVdiTWQ25A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/7WSUW/aMBSF/0rkvVUlEQgoioS2qg0bhZURQgurqsk4l+A2joPtIEUV/33Xhk6bRvvWt/jec893fJ0X8syLlIRkxbNtBar+9CRX5JyAoRlWk5tBnVWT7bJt5Ne7lCf301bnst9HBbdTeiPzvBa0aKQgZMOANuF85l+Xi9FgsRA/51T2ftyrzs1yEI2ENqNvOKkhX4958YzzG2NKHQbBK93PpMxyoCXXPpPiTz3YtYJSySdgRgcnoAGm1sE72M+5ZNRwWfTnM4xQaVC/QFCeYwhr0FByJc2XE9Y+p8LPUL/jDChjsiqMzYYuTBZrnlXKGZPwhbisf33Yq2Jk7wzFpeJScWOrw9skii+vkuFddMgyhoyyerbFNGuaa9ifE7xQUpeA6uk8ipfkUIphDQoKBhZyXMjwjYcgbsJ133+P19WgEJeDIG3wrA1n2mKYAtdOuLBxmp2LVqt30es2O+0ucWJl/ut1m237FxXpyc6RUTl/UEqqGHSVG3tEmnZZeLGjOU+nbpX/pNweSwK0ppm1n0Xj6CrxzjxRaeNt6A486g3iyXeP5RQX7FHjPTTD3qNFOyCiHz4e9ni4qJ26ntxGZL//DTH3B41xAwAA"
+ }
+ },
+ {
+ "ID": "316717e4273bab60",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "245"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IklOVDY0In0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiMCJ9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiejlwVER3ZzRnTlROek0zYWRKeGlHbVRORzVNIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:41 GMT"
+ ],
+ "Etag": [
+ "OgdnoOlMODr6yiw7pBWiOQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sa0/bMBSG/8rkfYWmuTeVEGNtVnWi6WhT0DRNleOcBkMSB9sFCuK/7zih1bQxtE++nOc992dyy+ucDEnGi7styN3HG5GRIwKaFvg7L/JazMvZfCyDHX8Im89XfH5xcoIENyp1LcpyV9H6OIdKHGtQerha9p6iJh0/FF6RpMnTzKX510c+qdJk4s9QqaDcnPP6FvXXWjdqaFn76L1CiKIE2nDVY6I6/Fv3jtVIcQNMK+uNoBZmrax3wp6WglHNRX2yWmIKWwVyDRXlJSZhHBxLkQn96Q3XPU6rXoH8PWdAGRPbWpvc0AsT9YYXW9k6JsNn0ub628WUiil/OEU4R1+8btGUZiUY7LWk6T9aaVRUUwUdsc4AnDDI8si3bc/eBIHvD6gdepEbsSj3PYe54PRdijptQrQqWovaZzmLMrvvAwDzHWABi6Kw77lZnrkbN0Bx5nhORl6wKAlUw5irRijeFUZGi/gsjdfTL+skjsfxGAM8SP4ndbWYIpQuVskIaWQayQViphHTJI0XZ6N0ehl37T+HgrLd8g4HsKGlgqOuZ9+opBVokIoMf2CD9s9017Qd0+1p3AWeyfYAXNJy2xL33YX0ycvLTyRwMzoxuVjFi++k+1rABiTU7D/HgIrW+v5i73cMQdwyDKQ0vnHsTJkwbWfN+Hll0rH90HEG4SCww7BPWljqv2yD1nZYLOMRKqj1a03L+DwepVhqF2yrDhAacRLJNJmg9RddCWOH5wMAAA=="
+ }
+ },
+ {
+ "ID": "c99e94535ba41e17",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/z9pTDwg4gNTNzM3adJxiGmTNG5M?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:42 GMT"
+ ],
+ "Etag": [
+ "LbyKDm5FvmsnkgRrw6rGjw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U6DQBCF32W8bZMarYkkvbAWsUqJIr0yxiwwUOj+4O4g0oZ379B6NXtmvzlz5gj7SufgQVqVPy3a/qpEeh8fMbpWkuPSGO0QJoAkSibDtH9dqfnTr3J6X8a2u7NB3S0WTLhsh0qAd4SiQpk78D6PoIVCHitm30xQ34xiHSV+4MfcUCYfG9E2DB+WoQ/D1zCB2qQxFmhRZzi6NdbUmNF6DOp2RspeCT3NUZkpoSM4T5x/D/dNsurK2zJKosPmRuQvf1WgkiiYb5iSJhNUGc3g9gN4ERkSMjYdJ4Vr+NfLnk3frMnQORxNZ5cFj0Y1EokTkW1xApngc58ruujhBKhp5XtLAQAA"
+ }
+ },
+ {
+ "ID": "ac670c5662853bfb",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon5cdc9b105eeec52ec6c997043bdb3f369d5b242b/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:42 GMT"
+ ],
+ "Etag": [
+ "dfs/+fs8YpkRHn6kxjDxbQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qnpBXra6cVW0QWZAd55JllV2S5VCQF2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobKNXGAiEAMtIS024AAAA="
+ }
+ },
+ {
+ "ID": "28d87f66ae8946ca",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "250"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkZMT0FUNjQifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiIzLjE0In19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJEdjRxU042VmdiTjJpWHg5enFqQzRxbzQ3dGciLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:42 GMT"
+ ],
+ "Etag": [
+ "xhvKtM68dwQxbEg/K3lyAg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sb2/aMBDGv8rkvQVC/pAQJNQhSCdUlq0Q2KZpQo5zBLdJDLFDYVW/+85JYdPWVXsVx/e7e5473yO550VCBiTm6b6C8vT2TsSkRUDRFG+P28ON+uD2k4fbYxykxo2dnUbpcIgE11lyK7LslNOinUAu2gqkGiwXncnB2S9Cd5XGocW/HP0f+7uxsxeOp1LMlJBtZry4x/ytUjs5MIyzeicVIs2A7rjsMJFf7o2DZexKcQdMSeMFUQNdS+MV2atMMKq4KIbLBVqoJJRryCnP0IQu0C5FLNS7F0p3OM07KfIHzoAyJqpCaW9YhYliw9OqrAuTwSOpvf520K2i5TdXCCdYixc1GtE4A409tzT9xyh1FlVUQkOsYwDLc+PE75mmY25ct9frU9NzfNtnftJzLGaD1bUp5iktUWfRQhRgU9p3fc8F17UpbGLqgO13uwzsmNmmYyVml8V+jzxhUyVQBRMud0LypjEyngejKFhPr9dhEEyCCQo8lPxP6vN8ilA0X4ZjpJHZlVwgpgcxDaNgPhpH01XQjH8GKWWnxR4fYEMzCa1mZp9oSXNQUEoy+IYDOv9Gp109MVV/yfXs4yhyHe33gqxoVtXMoTkQu2Mi8fQdIVyPpgK5XQbzr6S5msMGSijYf74FZtTR17f7vGgI4qqhkFT4j2/PpJapx6t3gOfajtnzLKvv9V3Lth1Sw6X6K+Z4XdL6tV26IuRQqOeeFsEsGEfYaiNWyQuEQXyOcBq+x+hPw7MSI+wDAAA="
+ }
+ },
+ {
+ "ID": "df394cccb2e83e93",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/Dv4qSN6VgbN2iXx9zqjC4qo47tg?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:42 GMT"
+ ],
+ "Etag": [
+ "fdDFGh+OcfnKA9RsMLJCOA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PXU+DMBSG/8vxUpZMQzRbsgvGnF+4KXPGxBhTyoExSw/Qg4qE/267edU+6XPe87aHz0KnMIWkyOsWm+4kR35ylxhNq9jYoyJtEDxAFrk1s3SxvN6drmWm74NJbB6iu3AdzGbWMHKHpYBpD1mBKjUwfetBixLd2PjDGtxVDpbROni2WFLqcLWNomAeXcHwPniwpyTGDBvUEl1W1dAeJd+6mmZHSnWl0KMUSxoxGobDxOF18eXXm9XFS56szovXn8lvvQ/9mvxLzq2lSAouSFtxuwG7iImFiunb9oQz+Od5Z0MfG5JoDLrQ8XFBSGWlkG0jblr0QAr72ZuCjzz8AZTDEwNJAQAA"
+ }
+ },
+ {
+ "ID": "42e1e9d0078e82e8",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anone3aa86976e663aefba4e3900ce3bc3142d10cb95/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:42 GMT"
+ ],
+ "Etag": [
+ "6G3ETqhMUXE4N6CJHyQNKA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbuRu7hhRm+IZGuJr4mTl7eVQG+nk72toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwob6xmaKNXGAiEAAG+0AXEAAAA="
+ }
+ },
+ {
+ "ID": "ceb84ea26565e6d5",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "257"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkZMT0FUNjQifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiIzLjE0MTU5ZS04NyJ9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoicHpzUFNWTU8zanJLMXR4U3c0TGNCcHJrSGJJIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:43 GMT"
+ ],
+ "Etag": [
+ "52Ky6KiDmyL87vuYGnJB6A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sb0/bMBDGv8rkvaUN+dukEmKlDSyjFNamTGiaKse9BkMSB9sp6xDffecE2IQY2qs459/dc/f4Hsgtr9ZkSDKe3zUgdx9vREb2CGiaY9R3TnfBKZ+Uu2k42DZXJ9WXo2B0cIAEN1nqWhTFrqRVbw2l6GlQerhc9Otf6mJxeXbu3shTW/9c3HtTdlTL289ZgpkKis2UV7eYf611rYaW9azez4XIC6A1V30mype4tXWsWoobYFpZb4ha2LWy3pE9LASjmovqYLnAFhoFcgUl5QU2YQr0pMiE/vRG6T6nZT9HfssZUMZEU2nTG1ZhotrwvJFtYTJ8IG2vfx3MqNjyh0OE11iLVy2a0qwAgz2NlPzDSpNFNVXQEasMwBkE2TrybduzN0Hg+yG1B17kRixa+57DXHD2XYp52ki0WbQSVRgxNwgz2wPqekHmOJSFzLcx6G8gg4CBbwfMj8gjDiWBaphwVQvFu8HIeB6P0niVHK9mcTyJJyhwL/lr6ts8QSidL2djpJGpJReIGSOSWRrPR+M0uYw7+6eQU7Zb3OEDbGihYK/z7IJKWoIGqcjwOxr0/Jvu6tYx3X7J8fR8lAae6fcFuaRF0zLb7kDcPrrkR9ALB+Tx8QeyuCVdIfJ1Gc+vSBeawwYkVOw/nwQz2tv3l/x53xDEjUMhpfEfV4ApI9O6bFaBl6Yd2x84TjgIAydyHdLCUr++c/f9gOz9WTJTEUqo9NNMi3gaj1MctRNr1AuEl/gqs2R2gre/AVTdEZnzAwAA"
+ }
+ },
+ {
+ "ID": "f0dc5676d261c77a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/pzsPSVMO3jrK1txSw4LcBprkHbI?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:43 GMT"
+ ],
+ "Etag": [
+ "vSxCivvoLKuE1+Z6LRgyRQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PwU7CQBCG32U8CglE46EJB0owEFaBVjxojFm2Q2nZduruFKik7+4UPO1+2W/++fcCh6xMIIBtlv7U6Jq7FHndXSL0tWUvR0WlR+gBsk7FPMbnSXY8klrU0+H9x5OK0iZaj0ZieLPHQkNwgV2GNvEQfF6g1AXK2G7wLQY3VQfPajl+Eywo6fB1o9Q4VFNov9oe5LSNcIcOS4NdVuUoR8Pzrqbfk7VNoct+ggX1GT3DdeL6Wv36Vfz+snzI3WLI5/j0qExYucNsOxfLktGcUSniJgZZxMTaRnSSnjCEfw4bCV05Mug9dqGD24IJFZVFlkbsauyB0fLZWcY3bv8AJFZus0kBAAA="
+ }
+ },
+ {
+ "ID": "3b0d4ef089d65577",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon89c368b14ea346b22ac8c51c365febe6ce516c59/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:43 GMT"
+ ],
+ "Etag": [
+ "7PubGjvdf7J1AirLErbhDQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qbB5QmuWeVpaSZexk6Zhb5uBYlZbgE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwob6xmaGJpapupamCvVxgIhAG+nuKt4AAAA"
+ }
+ },
+ {
+ "ID": "e9dcf6d0f52720d2",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "247"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkJPT0wifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiJ0cnVlIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJJaXc0bzhWUnpjVmtVS2lIOTdPMkNkSHN3T1MiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:43 GMT"
+ ],
+ "Etag": [
+ "rnSK0CGdpG15Ticas/Lj6g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41Sa0/bMBT9K5P3FRqS1klTqWKsZBBRtVuadpqmqXKc22BI4mC7RQXx33edQDdtDO2TH/ece859PJJbUedkRDJR3G1B7d/fyIwcETCswF9VL65OJhd5c+HSVHCmnemNX4zHiBCWpa9lWe4rVh/nUMljA9qMloteLO4HcrhKHvjqdnklLsNg7k3yS30/XyBTQ7mZivoW+dfGNHrkOC/qvULKogTWCN3jsjr8OzvPaZS8AW6084qog66184bsaSk5M0LW46W1sNWg1lAxUaIJm+BYyUyaD6+k7glW9QrE7wQHxrnc1sZ6wyxc1htRbFWbmIweSev1t4stFS2/O0VwjrlE3UJTlpVgYc8lxf9opWUxwzR0iHUG4AV+lofUdQfuxvcpHTI3GIT9kIc5HXi8D95JnyHPWImWxWpZQ+hzP/f67maYh5xSn+Z+PwupN8zzk8DlfoYJvAElT1iUAmbgXOhGatEVRiZJdJZG6/jTehZF59E5Ctwr8SfqaxIjKE2WswmiEdMoIRFmGxHP0ig5m6TxKuraP4WC8f3iDgewYaWGo65nn5liFRhQmoy+Y4Nenum+aTtm2pN8nM+n1uwhvmLltgXsugsxCo+npx8Iwt3o6OTLMkq+ke4rgQ0oqPl/DgIZbfTt1X7ZMgTinqGQNvjGwXNtZdre2gUQlbXj0sDzhsHQ71MakBaszF8x3w/J0a/Vshmhgto817SIptEkxVI7sa0+gDCIs5jFswuM/gSDiuoR6QMAAA=="
+ }
+ },
+ {
+ "ID": "033dfb8e09d9b11c",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/Iiw4o8VRzcVkUKiH97O2CdHswOS?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:43 GMT"
+ ],
+ "Etag": [
+ "d9r3ZI4WMa4H6ZNUIvwyUw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PYU/CQAyG/0v9CgkqUVnCB0ZItjiZjgwTjDHHrcDBbZ274jKX/Xc78FPv7T19+7aFkyky8GBr9t9nrJqbPfJb/0jQnS07KSUVDmEAyGovZDap7jfh+P1FjYOHzTINf+omradTIZw+YK7Aa2Fn0GYOvI8WCpWjjO1GX0JwU/bCj+NoMVtKI6esbyzTKJr50QK6z24AR9omuMMKC429W1nRETWHfVB3IGubXBXDDHMaMjqGy8TlNzT1mJ7Wya9en9JnE0we47t5Frg6XgllSSs2VAiYrkAWMbGyCdWSFG7hX/uNmL5WpNE57E1H1wVzykuLLIm4OuMAtJJzA8NX3f0B1Pbe/UsBAAA="
+ }
+ },
+ {
+ "ID": "1eb7964ae18d8062",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anone96c6d231f8d9c5565d63b9528dd071c6b9c9245/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:44 GMT"
+ ],
+ "Etag": [
+ "IGDPWgAC0eakMCDJ9TeWBA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8p7ursEhKc7OhukJmb7Ort4WYakhjs52toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwqXFJWmKtXGAiEAmSRo0HEAAAA="
+ }
+ },
+ {
+ "ID": "bd2f1741f905b30e",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "251"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IlNUUklORyJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJ2YWx1ZSI6InN0cmluZyJ9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiQThGZUJuYW5TNFQ5Z094em8yc1MxUmN2MVljIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:44 GMT"
+ ],
+ "Etag": [
+ "XX2vI7bt2p1Sh4qp5WhlcQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SbW+bMBDHv8rkvW1CTHgIkaouS+mEVKUrkD5omiJjLsQt2BQ72bIq330HtN20ddVeYezf3f3vf/dI7oXMyZRkonjYQrN/f6cyckTAsAJvb27sXeRnxq5psnEeavd6U/LL42MkRBulN6os9xWTgxwqNTCgzXSZDGeTM/gomUycNCguvv9Qtk5ozHf0lmOkhnJ9LuQ9xm+MqfXUsp6rDwulihJYLfSQq+rl3trZVt2oO+BGW68UtVC1tt4oe1IqzoxQ8niZoISthmYFFRMlimgTDBqVKfPhldRDwaphgfxOcGCcq600rTbMwpVci2LbdInJ9JF0Wn87tK2i5HcnCOeYS8gOTVlWQos9tRT9w8o2ihmmoSdWGYDte1keuJQ6dO15rjth1HeCccCD3HVsPgZ7NGYYZ9oSXRSTSrq+59o5jGCUscBdB6N8ZPsuBUpdCDwY5d6EjaljkwM21QAzcCp0rbToGyPzOJyl4So6Wy3C8DQ8xQLfGvEndR1HCKXxcjFHGpm6EQqx1ohokYbxbJ5GV2Fv/zkUjO+TBxzAmpUajnrPPrOGVWCg0WT6BQ16/k33deeY6b4kSeNo8amV+0JcsXLbIbv+QLRphCzI4fAVMdyPPgW5XIbxLemvYlhDA5L/5zAwont9e72fNw1B3DUspA3+4/C5bst0/rZLIKpWDnV92574E88ZU0o6uDF/vbmuR45+rVebESqQ5qmnJDwP5ym22hfb6hcIH3Eei86sw0/+fhLM7QMAAA=="
+ }
+ },
+ {
+ "ID": "eb6784278199d22d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/A8FeBnanS4T9gOxzo2sS1Rcv1Yc?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:44 GMT"
+ ],
+ "Etag": [
+ "XKZtdaHFWojxxzTBRxDSYg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U7CQBBF/2V8LQk1PmgTHqiKEAlqW4JojFm201Lc7tTuVFsI/+4UfNo92TN37h7gq7ApBLAp8u8G6+4iR37pLxG6xrCToyLrEDxAVrmYr49vnKrpZEW7tt0nYdTexet8NBLD6S2WCoIDZAWa1EHwfgCrSpSxbPgpBndVD3ESzRYPwiWlPS+W8/k4nN/D8ePowY42EWZYo9XYh1U17VDzrO/ptmRMVyo7SLGkAaNjOE2cXsfXEwytsvFVcpM/tXu6dLEf6R9/rcUypBUXZEVcxiCLmFiZiH6lKPjwz2Enoc81aXQO+9DhecEtlZVBlkZcN+iBVvLbacFnPv4BibpFQkoBAAA="
+ }
+ },
+ {
+ "ID": "3a80594727294c0a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon57652de0e0ba95f90d02751e115e96e0d68a3142/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:44 GMT"
+ ],
+ "Etag": [
+ "2ITuz9xbiw1Fxkdn/YEewQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8obeYaUVllWJGWWG7pVZKfk6Ue6ppYH2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwoXlxRl5qUr1cYCIQAdNVoGcwAAAA=="
+ }
+ },
+ {
+ "ID": "1d6a5a8722c61bd1",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "256"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IlNUUklORyJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJ2YWx1ZSI6IuaXpeacrOiqnlxuIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJ3U1k5MUZ2azA5VjhNZzJ6dDY2RmkxMmRYZW8iLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:45 GMT"
+ ],
+ "Etag": [
+ "XUNQSSAeNuOd8/3KmyMVmQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S227TQBCGXwUtt218SHyKVJUqdVFEa4jthFaAovV67G5re1PvOlWo8hzcIO64QTxXxWMwttuCoFRceT37zcw//84NueRVSsYk4flVA/Xm+YVIyA4BRXOMns6DWRQdQNC8Tl1t+KrcnCzK2d4eErzNkueiKDYlrXZTKMWuAqnG82hwHZ15xtH6UvcW7kluflS2fcQNMz0FgZkSiuyYV5eYf67USo417b77IBciL4CuuBwwUT7EtbWprWpxAUxJ7ZGmGqqW2hNt9wvBqOKi2ptHKKGRUC+hpLxAEW2B3VokQr14pPSA03KQI7/mDChjoqlUqw2rMFFlPG/qrjAZ35BO62+HdlSU/Gwf4RRr8apDY5oU0GJ3I03/YWWbRRWV0BPLBMB07CT1LMMYGZltW5ZLDWfkDT3mpdbIZEMw9SHFPNW26LJohSotliVe5uqWrtvMdbMRODQzPdehaeZ6pucMKUaAbHGoGqiCQy5XQvJ+MDIJ/YPYX06PloHvH/qH2OC65n9Sb8MpQnE4DyZII7OquUCsNWIaxH54MImnC7+3/xhyyjbRFT5ARgsJO71nb2hNS1BQSzJ+hwbd/8abVeeY6r4kisNp8LKV+0AsaNF0yLo/kNtPX28/f//x7cv7imy3H5DFJenrkNncD89IHwohgxoq9p8vghnd7dM7fr9uCOLCYSOp8B83gMm2TWdyuwm8bOUYlmOaruPalm7qpINr9dedOTLIzq8daytCCZW6mynyj/1JjKP2zRr5AOElPkrQObb9CaibHybyAwAA"
+ }
+ },
+ {
+ "ID": "9fd8cba5ecbe7aff",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/wSY91Fvk09V8Mg2zt66Fi12dXeo?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:45 GMT"
+ ],
+ "Etag": [
+ "S75HcD2KUVNUrpSxG2lEcA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U6DQBBG32W8bRMgsVqSXrTav4hEQRqNMWa7DJR2YZCdWrHpuzu0Xu2e7Jlvvj3CrqhS8GFd5F97bNqrHPm5u0Ro94atHDVVFqEHyCoXM765Xuh77yFZhUlTxz9zz0z1eDQSw+oNlgr8I2QFmtSC/36ESpUoY5nzKQa3dQfxS7QM58IlpR2HSRCMJ8EUTh+nHmxpHWGGDVYau7C6oS1qXnY97YaMaUtV9VMsqc9oGc4T59dD/DZ0Z987Z7i6fcy9Xx4MZoXrpa9IYhnSiguqRExikEVMrExEBykKLvzzpJXQp4Y0WotdqHNZcEdlbZClETd77IFW8ttFwRc+/QHM2ESSSgEAAA=="
+ }
+ },
+ {
+ "ID": "1dfe86fb412e5d45",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonf5cfb9f805006c88f4e7af2987adf892973ae7ae/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:45 GMT"
+ ],
+ "Etag": [
+ "nFyPFSjFz36pttjcTH4rTw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8rnuVUGuAVnuVUZmxWUlGQlh3iYFIWU29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwo/m7702Zw1L1bNi8lTqo0FQgCiIFuaeAAAAA=="
+ }
+ },
+ {
+ "ID": "3aca071600273f7f",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "249"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkZMT0FUNjQifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiJOYU4ifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkhiVnZ0UlVwbWFoOXB6YzFaZnEyS1pvU2pUNiIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:45 GMT"
+ ],
+ "Etag": [
+ "/5DrsJqNS426puyR5Em9vQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TXW+bMBT9K5P3moZAAoRIVVcldMsWsZWQTus0RcZcqFvAxDaZsir/fdfQdtPWVXvC9j3nnnM/uCd3vM7IjKS82LUgD69vRUoGBDQt8NVyF1K930XrieM17SF2wyrYX56eIoIblroRZXmoaH2SQSVONCg926yH79KrvY43TUVvguYHs6/znfPhWqxvEw+ZCsp8xes75N9o3aiZZT2qDwshihJow9WQierp3do7ViPFLTCtrGdELXStrBdkz0rBqOaiPt2s0UKrQG6horxEEybBiRSp0G+eST3ktBoWiN9zBpQx0dbaeMMsTNQ5L1rZJSaze9J5/e1gSkXLr84QnGEuXnfQhKYlGNhDSct/tNKwqKYKesQ2BXB8L80C17Yndu55rjultj8JxgELMnfisDE4ozFFnjYSHYvWoma5m/ojL0+RyKapn+dZPvVGNB8FjutNshGMc9f1UnLEoiRQDQuuGqF4XxiZx+F5Em6XF9soDBfhAgW+S/4n6nO8RFASb6I5ohHTSC4QZhqxjJIwPp8ny6uwb/8KCsoO6x0OIKelgkHfs09U0go0SEVmX7FBj9fk0HQd092XXKw+nifexPh9glzRsu0w+/5AIhqR4/EbYnA7+gTkchPGX0j/FEMOEmr2n6NARhd9ebkf9wyBuGkopDTecfRMGZmuu2YFeGXs2K7vOFN/6rme0/0amkr9V8y3p2Twa7lMRqig1g81rcNVOE+w1F6sVU8gDOI0omX0FqM/AVxSNkDrAwAA"
+ }
+ },
+ {
+ "ID": "141fd4e0949a0ea6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/HbVvtRUpmah9pzc1Zfq2KZoSjT6?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:45 GMT"
+ ],
+ "Etag": [
+ "7Z0eX2rb688XdOtAWdpbHw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P0U7CQBBF/2V8LUnhAZGEBzAajI1ooUJqjNlup1Dc7SzdqaQS/t0p+LR7smfu3D3Bd1nlMIas3B4arNubLfJbd4nRN4a9HI4qjxAAstqKeZuGuBnU2XA02uQLnq5zl82Pk4kYXu/QKhifoCjR5B7GHyeolEUZK8IvMbh1HTxGi+lK0FLe4UsSRdNZ9ADnz3MAe8piLLDGSmOX5Wrao+anrqbfkTGtVVUvR0s9Rs9wmbi8zrP3H44TZ9Xuzv3qflocBs8pLferoViGtOKSKhGTJcgiJlYmpqP0hD7886yV0NeaNHqPXWh4XXBP1hlkacR1gwFoJZ+dl3zl8x+6ZdKNSQEAAA=="
+ }
+ },
+ {
+ "ID": "b62e30b52589d2a0",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anoncf5b706fb511c8b7ffdf860af092564d0e3f556b/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:46 GMT"
+ ],
+ "Etag": [
+ "EH4aInn5/mHkqkXkJkWJvQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8q7epgkeublmernemQXZkdke2WHe5UF2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwr7Jfop1cYCIQDnvX3ScAAAAA=="
+ }
+ },
+ {
+ "ID": "0d50ddff4a24f40d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "248"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkJZVEVTIn0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiWm05diJ9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiRllKdk5HNWdnczFKSEVWcE5YWTJKWW5KdXJVIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:46 GMT"
+ ],
+ "Etag": [
+ "q/ngh69U5Eo6PfzhwVWn/Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Sb0/bMBDGv8rkvYXmT5uEVEKMlcBaoQjapKybpspxLqkhsdPYKSqI775LAmzaGNqrOL7fc/fc+R7JHRcpGZOE59sG6v3HW5mQAwKa5ni7NUS+cf3YCaR7lT1s7pc3wrg+PkaCtyq1kUWxL6k4TKGUhxqUHseLwflqtgsvnDxX1uxLsKzCryt7thKzpo5RqaDILrm4Q/1G60qNDeOl+iCXMi+AVlwNmCxf742dbVS1vAWmlfFGUQNdK+OdsieFZFRzKY7jBVpoFNRrKCkv0ESb4LCWidSf3kg94LQc5MjvOAPKmGyEbr1hFiZFxvOm7hKT8SPpvP52aFtFyx9OEE4xFxcdGtGkgBZ7bmn6j1G2Kqqpgp5YJwC25yap71jWyMpc13GOqOWN/KHP/NQZ2WwItjmkqNNtiU5FhRTWcJiYFFxmU2tkMt/2zNT3Td+z08xzHM9mqWWlpkOesKkaqIYzriqpeN8YmcyD0yhYT8/XYRCcBWdY4L7mf1I38ylC0TwOJ0gjU9VcItYOYhpGwfx0Ek2XQT/+S8gp2y+2+AAZLRQc9DO7ojUtQUOtyPg7DujlN9pX3cR09yWfV1GwaN2+AktaNB2x6w/kW+nvyNPTD4RwOXo9uY6D+Yr0V3PIoAbB/vMlUNFF39/tlzVDMO4MKo3/+PJMtWW64bYbwMvWjoWjt4+8I9cdWUPSwbX+K+Y4Jjn4tVttRihB6OeeFsFlMImw1b5Yo14hDOJjhNPwAqM/AYBVyprqAwAA"
+ }
+ },
+ {
+ "ID": "777ca49850c24317",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/FYJvNG5ggs1JHEVpNXY2JYnJurU?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:46 GMT"
+ ],
+ "Etag": [
+ "yBCmfQSFidfY3dma46B+Ag=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PXU+DQBBF/8v4KE1avx5I+lAaaiWEWLBGYozZwkCp+4HsoCGE/+5s69PuyZ65c3eEr0aX4MOhqb977IarGmnnLinaXpLlozXaIniAJGo2h2Ctql22acoqvy2VuHsIrlf1csmGLY6oBPgjVA3K0oL/PoIWCnmsmn+yQUPrIMhfwoxRmdJhso/jVRCHMH1MHpzMIcUKO9QFuqy2Mycs6MnVtEcj5aCEnpWozIzQEpwnzq+bPPpJHu/r2i6ibfjaJm/5TZTrqO/2bElTCGqMZnGfAS8iQ0Km5pd7wgL+ORg49LkzBVqLLnR+WbA2qpVI3Ii6Hj0oBH9229CFpz+eZ4fVSQEAAA=="
+ }
+ },
+ {
+ "ID": "68c52d68561ba0df",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon133b0ae6c2a140c9270d990972df75572cd11d05/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:46 GMT"
+ ],
+ "Etag": [
+ "CaV/GP4jm7dGZFPz0rvytA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8o7J4bpuweYZOWap7hHuQVUGRSVVZY42toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwpH5VqWKdXGAiEAMmXWL3EAAAA="
+ }
+ },
+ {
+ "ID": "9c783876e1a632de",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "280"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IlRJTUVTVEFNUCJ9LCJwYXJhbWV0ZXJWYWx1ZSI6eyJ2YWx1ZSI6IjIwMTYtMDMtMjAgMDQ6MjI6MDkuMDAwMDA1LTAxOjAyIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJlcmhuV0FqS01zeGZ4amx1blNLTWxuVGtGSVUiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:47 GMT"
+ ],
+ "Etag": [
+ "OdFGoJY4HjINitFTUhajNw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SbVObQBDHv4pzfWsCXHgIzDg2E4mlGrQJ0XE6ncwBC7kIXOQONeP43buA2k5rnfKGe/jtf/+7t0/kllcp8UjM87sG6v2nrYjJIQHFcjy9SGen4uuN+WUbhFzNotWGbcOHoyMkeBslN6Io9iWrBimUYqBAKm+1HEK9qa4n27O5fMwet0VTLc/mRRXdzoIVRkoosnNe3WL8Rqmd9DTtNfswFyIvgO24HCaifDvX7qm2q8UWEiW1d5Jq6FpqH6Q9LkTCFBfV0WqJFhoJ9RpKxgs00QoMahEL9fkd6SFn5TBH/p4nwJJENJVqvaFKIqqM503dCRPviXRef1u0paLlg2OEU9TiVYdGLC6gxV5KCv7RyjaKKSahJ9YxAHXsOHUtwzCNzLYta8wMx3RHbuKmlkmTEVB9xDBOtSm6KFaJSnecmDrUNFydwdhN0pRSG3Rqmm6GPDjUTnUrzcgzFlUDU3DC5U5I3hdGpgt/EvnrYLYOff/EP8EEDzX/k7peBAhFi1U4RRqZXc0FYm0jgjDyF5NpFFz5ffvPIWfJfnmHD5CxQsJh37NLVrMSFNSSeN+xQa/baL/rOqa6P4mCub+MJvPL1vEbdMWKpqPu+wWhumEP9NGA6ge66VHq6e5Qbz9roBueTsnz8w8UwOHp9cm3lb+4If3RAjKooUr+86Uworv9ePZfxxBBHERMJBXucTIS2abpmt9OCC9bO4blUDp2xraj2yPSwbX6685wXXL4a/ZaRSihUi81Lf1zfxphqX2yRr5BeImPFQbhKd7+BC/EJx0KBAAA"
+ }
+ },
+ {
+ "ID": "4b76180ec26dc5a6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/erhnWAjKMsxfxjlunSKMlnTkFIU?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:47 GMT"
+ ],
+ "Etag": [
+ "op0qqgtP2KZZ0jRaC84isg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PQWuDQBCF/8v0asCWHkogBxNSKonFqqGQUspGR6NZd9QdaUT87x2Tnmbf7Ddv3oxwKU0GSziVRdtjNzwUyB/zI0Lba7ZSGjIWwQFkVQhJjdu2BYdPu+PRrSK1eXkubbFaCWHTM9YKliPkJerMwvJrBKNqlLHc/RGCh2YWiR9s48QLQmnVlM2t98N+7633W5i+JwcqOkWYY4cmxdmv6ajClP05qj2T1kOtzCLDmhaMluE2cfvF7mw+vWoX2Gt+rXRv4l2gTXJ59Q9CaUoVl2QEPMQgi5hY6Yh+JSs8wr9eD2IadpSitTibuvcFG6objSyJuOvRgVTJwW8l3/X0B6W+6J9NAQAA"
+ }
+ },
+ {
+ "ID": "9204e64f1a600549",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon077b2724190ae89cdd226e02449f03ae726d05df/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:47 GMT"
+ ],
+ "Etag": [
+ "2vTjAisyRxOoiCPpaObdbw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oblYVkOWYWVwZV+OdnOgcUJPonpSSV29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwmbmFqYmBqamFjqGYCAqVJtLBACAL6otWd+AAAA"
+ }
+ },
+ {
+ "ID": "de999681674d1380",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "253"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkRBVEUifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiIyMDE2LTAzLTIwIn19XSwidXNlTGVnYWN5U3FsIjpmYWxzZX19LCJqb2JSZWZlcmVuY2UiOnsiam9iSWQiOiJCTGVNTmc3TGNRdXJ0cGptTzJEajdsSWdvckEiLCJwcm9qZWN0SWQiOiJzaG9sbHltYW4tZGVtby10ZXN0In19Cg=="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:47 GMT"
+ ],
+ "Etag": [
+ "wZHkEwfVm6XkpSye0G5Lvg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SbW/aMBDHv8rkvS3kAfIAEuo6yLpIjK0QuidNyDiX1JDEqe1QoYrvvnPSdtPWVXsVx/e7///ufPdkz6uUjMmW57cNyOPrndiSMwKa5nh79+39PrrLrkv/y75eHcG+9OaHfDJBgpssdSOK4ljSqpdCKXoalB6vV/23c/iwyIM5u2qkrnflR3e2C4o4F/ICMxUU2ZxXe8y/0bpWY8t6dO/nQuQF0JqrPhPl0711cK1aih0wraxnTC2sWlkv2J4XglHNRTVZr7CERoHcQEl5gUUYgZ4UW6HfPCPd57Ts58gfOAPKmGgqbWpDFSaqjOeNbIXJ+J60tf52MK1iya/OEU5Ri1ctmtBtAQZ7aCn+xyhNFtVUQUdstgBu4G/Tkec4Qyfzfc8LqRMMR4MRG6Xe0GUDcO0BxTxtLNosWomKOmHK/MwNUsoy8NLQGw5TSu1sZA9t1/do6qOO7ZMTNiWBaphxVQvFu8bIdBldJNEmfrdZRNEsmqHBneR/Up+XMULJcr2YIo1MLblAzAwiXiTR8mKaxNdRN/455JQdV7f4ABktFJx1M/tEJS1Bg1Rk/B0H9PibHOt2Yrr9kpkxwGKf4te0aFrg0B2Iazt+zx70XJucTj8QxQ3pRMjVOlp+Jd3VEjKQULH/fA7MaKMvL/jjriGI24ZGSuM/Pj9TxqadsFkDXppyHC9w3TAI/cAPR6SFpf4rFroBOfu1YEYRSqj0Q0+raB5NE2y1M2vUE4RBfJFFvLjE6E9jHObz7wMAAA=="
+ }
+ },
+ {
+ "ID": "ae3a3c935168c5fd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/BLeMNg7LcQurtpjmO2Dj7lIgorA?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:48 GMT"
+ ],
+ "Etag": [
+ "a1d8PYRwV5s642MU6v2DNw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PYWvCMBCG/8vtq4KWTYfghzqFCdVpN4UxxojpWdslvS65Tkrxv++i+5Q85Ln33nTwXVQZTOBQ5D8NuvYuR96GS4q+MezlqKnyCD1AVrmYapg9bt7T8/7Bj+6j1W70G83X5+lUDK9PaBVMOjgWaDIPk48OKmVRxo6DLzG4rQPM47eFkKUs0HqXJPEsWcDl89KDkg4pHtFhpTFE1Y5K1LwMLf2JjGmtqvoZWuozeobrxPV1luBqnY8TvW0c16V9iebl2CxzcrFYhrTigioRd68gi5hYmZTOUhOG8M+zVkI3jjR6jyF0cFvwRLY2yNKIXYM90Er++lzwjS9/IU5vs0gBAAA="
+ }
+ },
+ {
+ "ID": "2db372002cf69148",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anona18dc6f27dacfe5d8544daa0f9040265ad6a1706/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:48 GMT"
+ ],
+ "Etag": [
+ "SI1WtCiNYH0KjoxWRPHj3A=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8oHexqGlzhn+kV6GHhn5VeEBwV4ZBk72toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZKNXGAiEA1ogQMncAAAA="
+ }
+ },
+ {
+ "ID": "f7b59c3c368b47f7",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "258"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IlRJTUUifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiIwNDowNTowNi43ODkwMDAifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IkZMZjNNV3JVdFR6eHhxYjZxbUNQaGVKVFQ0ZSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:48 GMT"
+ ],
+ "Etag": [
+ "/eamq+Z1P+lH7koIPFEUow=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S207bQBCGX6XaXgLx+RBLEUXBtK5ClCYOqK2qaGyPzYLtTbwbIKC8e8c20KqlqFde73wz/z+z88hueJ2xgCW82Gyx2b2/Fgk7ZKigoFsNodocfDNmB+Un70ZEs7NwKe5GIyJ4myWvRFnuKqiPMqzEkUKpguVicDbJrfPLZqnih/v7TeJuqvHsCj/HsY2UKbHMJ7y+ofwrpdYy0LRn9UEhRFEirLkcpKJ6udduTW3diGtMldReEdXItdTekD0uRQqKi3q0XJCFrcRmhRXwkky0BY4akQj14ZXSAw7VoCD+lqcIaSq2tWq9UZVU1Dkvtk1XmAWPrPP626FtlSy/OyY4o1q87tAYkhJb7Kml6B+jbLNAgcSeWCWIpucm2dAxDNvIXddxfDA8e2gN02Hm2GZqoalbQHmqleiyoCaXPvieDWjbjm+5rpXlOWSQ2WDmVp74FsDQQje12J6aahAUnnK5FpL3jbHxPDyJw1V0tpqG4Wl4SgJ3Df+TupxHBMXz5XRMNDHrhgvC2kFE0zicn4zj6CLsxz/BAtLdYkMPkEMp8bCf2QwaqFBhI1nwnQb0/Bvv1t3EVPdlcXQetmZf4hdQbjvgtj8w3Q50J9DdgecPdV1n+/0P4mlN+krsyzKcf2X91RxzbLBO//NNKKOLvr3lzwtHIK0cCUlF/7QDqWxlujG3u8Cr1o7heKbpe77rm47NOrhRf8Us22CHv7asrYgV1uqpp0U4CccxtdqLbeULREF6lmk0/UjRnwVKSIb0AwAA"
+ }
+ },
+ {
+ "ID": "ccd6a624de32dec8",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/FLf3MWrUtTzxxqb6qmCPheJTT4e?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:48 GMT"
+ ],
+ "Etag": [
+ "4tS78Ms3S5OdtBN/1xms/Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PW2+CQBCF/8v0FaNGewmJD8XY1AasckkfmqZZYLjYXRbYIYUS/ru72qeZL3PmzJkRfsoqBRviMm86bIe7HOlkGh9Vx0npUstKIViAxHKtXFPw+OSpVXD/npJzmC97oeanzUYrVFKgYGCPkJXIUwX25wgVE6jXssW3VtBQGwj33k6TkKmhQ+S6z467g+lrsuAsYx8zbLFK0FjVrTxjQnuTUhWS80GwapaikDNCRXDduE5f3GzlfbQRhX9938QPjdgeC3wLw7WJz2XCqJSVFkYB6EMkiXFf/uqYsIR/dgZtemxlgkqhMV3cDmylqDmSTkRthxYkTP/6WtKNpwvctdvMSAEAAA=="
+ }
+ },
+ {
+ "ID": "14880fbb90b88854",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonf8a874ae44583663dffadad4a2f3fb83aa93e6c3/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:48 GMT"
+ ],
+ "Etag": [
+ "iv2flgpb4yyWt1UzFZv8bg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pnlhml5aQXJJlUVoaXGIZWuUWVWSSl29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobmFgZmFoZmOmZW1gaGBgo1cYCIQB0TlNMfAAAAA=="
+ }
+ },
+ {
+ "ID": "ba95cad8a9ef6029",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "273"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6IkRBVEVUSU1FIn0sInBhcmFtZXRlclZhbHVlIjp7InZhbHVlIjoiMjAxNi0wMy0yMCAwNDowNTowNi43ODkwMDAifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IktFZjRlZ1JNdjFqS2VSRDJQd1p0czVEZHZiOSIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:49 GMT"
+ ],
+ "Etag": [
+ "E2psafbc3yLBxCGDUBEq8Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42S207bQBCGXwVtb0l8jg8SohC7yCJE4DhUbVVF6/XYLNhe492ERoh379gGWrUU9cLyHr5//pnZeSR3vMlJQDJe3m+h23+4FRk5JKBoiaeR2UpaZMzaL05/zM/C9Wl0710dHSHBe5W8EVW1r2kzyaEWEwVSBevV9DwqbCiTi51xew5JaF4+fFXSCfNd5qNSQlUseHOH+hulWhlo2ov7tBSirIC2XE6ZqF/PtZ2ptZ24Baak9oaphllL7R3b40owqrhojtYrTGErodtATXmFSfQBJp3IhPr4Rugpp/W0RH7HGVDGxLZRfW4YhYmm4OW2GwKT4JEMuf626EvFlA+OEc4xFm8GNKVZBT32XFL8j1b2KqqohJHYZACmO8ty3zEM2yhmM8fxqOHavuUzP3dsk1lg6hZFneotBhVtRJPnvm64BfWYwZhreYbnQuG6jm35tm2YnlMUJvUNhzxhUR1QBSGXrZB8LIzMk+gkjTbxp80yisIoRIOHjv9JfU5ihNJkvZwjjUzbcYFY34h4mUbJyTyNr6Ox/QsoKduv7vEBClpJOBx7dkk7WoOCTpLgGzboZZvu26FjaviTEA3S+CLqE35lrmm1HaDduCCmbswmujUx9QPdDnQn0GdT1/N1XSdPT99RilMzBiZX6yj5QsajBArooGH/+USoGG7fH/qX+UMQJxCNpMI9jgSTvc3Q9X40eN2nYziuaXquN8PPIQPcqb/ufMckh7+Gro8INTTquaZVtIjmKZY6mm3lK4SX+ErLeHmGtz8Bwx8PmQMEAAA="
+ }
+ },
+ {
+ "ID": "290b7dec67c34355",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/KEf4egRMv1jKeRD2PwZts5Ddvb9?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:49 GMT"
+ ],
+ "Etag": [
+ "BO8WwweiRez7+ICfwrsOoA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PUU+DUAyF/0t9lCWb0agke4BBIhlzE7eYaIy5QGHghSK3jOCy/27ZfOo9vV9PT4/wXdQp2BAX+U+H7XCVI7+MjwhNp9lIaag2CBYgq1xId/3w1vdYRPh7fx0ssr41a3LmcyFMssdKgX2ErECdGrA/jlCrCmUsm34JwUMzCs/Z+ttg5UunonTsPO/C0HFDH06fJwtKiiPMsMU6wdGuaanEhIMxqdmT1kOl6kmKFU0YDcN54vy79LNbzKPVYVYuMfJuNv07mzsvPcSPQmlKFBdUC7h7BVnExEpH1EtUmMG/dgcx3bSUoDE4mk4vCxZUNRpZEnHboQWJknufCr7o0x8pMNKQTAEAAA=="
+ }
+ },
+ {
+ "ID": "482384a3bee9aff6",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anondd9017fa8c1cc738187ef775439441285ff2a915/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:49 GMT"
+ ],
+ "Etag": [
+ "8xIW1L1AcIicBvQK0SAnVg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pbVHiGG/oYOiZ7ZiY7lQV6GwQ75oWl29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwobGRia6RoY6xoZhBiYWBmYWhmY6ZlbWBoYGCjVxgIhAAAd5DOHAAAA"
+ }
+ },
+ {
+ "ID": "613164480ed4514d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "258"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsidHlwZSI6Ik5VTUVSSUMifSwicGFyYW1ldGVyVmFsdWUiOnsidmFsdWUiOiIxMi4zNDUwMDAwMDAifX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IlVtT2xReVBHZDVLUHBHRzJjZDZxYUhzOU56MyIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:49 GMT"
+ ],
+ "Etag": [
+ "x3FaYZpmTw/m8gzaNTK3aw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42SbU/bMBDHv8rkvYWGPDeVEEMldBEsgzRlYtNUXZ1LMCRxGruwgvjuuyTApo2h5U1s3+/uf08P7EbUGZuwlSjWG2y376/liu0w1FDQ6w/7GC6/NlV6Z1Tj4h7i9MSGu/19IkTnpa5kWW4rqHczrOSuRqUni/loUX0uz7dns8w9OWtmM4tn3ho+qiC+t8lTYZmfivqG/K+0btTEMJ7VR4WURYnQCDXisnp5N24to2nlNXKtjFdEDcpaGW/IHpSSgxay3l/MKYWNwnaJFYiSkugC7LZyJfWHV0KPBFSjgvhbwRE4l5tad7lRFC7rXBSbtg/MJg+sz/W3Q1cqpfzugOCMYom6R1NYldhhTyVF/2hl5wUaFA7EcoVo+d4qC1zTdMzc81x3DKbvBHbAg8x1LG6jtWcD+elOoveCWtZ7jgdOboFr25Zng8XRCxzft2wzB9fJue8HvhkgZ49UVIug8UioRioxFMamSXiYhsvoeBmH4VF4RAJ3rfiT+pJEBKXJIp4STUzTCklY14goTsPkcJpGF+HQ/lMsgG/naxpADqXCnaFnZ9BChRpbxSbfqEHP13Tb9B3T/Z/Fi09hEk27fF+QCyg3PXM7HJhpjWzH3es/9vj4nWBakyESO1+EySUbnhLMscWa/+dMyKO3vr3lzwvXgfNOSGm60w5w1cn0be52QVR9rq5vWWN/7AX22Gc93Oq/bDRptvNry7qIWGGtn2qah6fhNKVSB7GNeoHISGOJo3hG1p+hKNMS9AMAAA=="
+ }
+ },
+ {
+ "ID": "fcf5248f146a8be2",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/UmOlQyPGd5KPpGG2cd6qaHs9Nz3?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:49 GMT"
+ ],
+ "Etag": [
+ "gIcnw4kr4r7TtuRvuNehjQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PW0+DQBCF/8v4SpOqVSNJH2zTUCIiYPtkjNkuw617obuDDRL+u0vr0+yZ/ebMmQGOtcrBh0Ndnjo0/U2JlE6PDG0nyLrSamURPEBipSPLkKvz4mgW5mlHXfbTxVg16XLpCMsrlAz8AYoaRW7B/xxAMYlurJh/O4L6dhLx/m2ThWvXkDq/NqLoZRVtYPwaPWj0IcMCDSqOk1trdIOcwimorbQQvWRqlqPUM0JLcJm4/O7lu0j7JMgfXpM2CO54/nhiW/sc/947SmjOqNZqAj/ALSJNTGT67JLCLfzrVe9ME6M5WouT6fy6YK1lK5BcIjIdesCZO3db01WPf9pKNMVLAQAA"
+ }
+ },
+ {
+ "ID": "dbb048b78aa9573a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon046a4f2a533263a2ce69477231fa54fc779719ec/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:49 GMT"
+ ],
+ "Etag": [
+ "0SCxdxaANP3IcQ1I9V2PxQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8obBDtXpFQkOvoFGHsmBxp6WoYZBVQE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsAwkb6RmbmCrVxgIhAJV6c2tzAAAA"
+ }
+ },
+ {
+ "ID": "9ed7cafc86ec95bc",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "263"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsiYXJyYXlUeXBlIjp7InR5cGUiOiJJTlQ2NCJ9LCJ0eXBlIjoiQVJSQVkifSwicGFyYW1ldGVyVmFsdWUiOnt9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiSk90RnRKV0c4NktnY2d0YXZnbzVuOHNUNHA3IiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:50 GMT"
+ ],
+ "Etag": [
+ "odipY6sJFwYRkyt6qicd0w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S70/bMBD9VybvKzS/naYSYlUJqAyVLU2HqmmqHOcSDEkcbLeoQv3fd0mATYihfUp89+7eu3f3RO5Fk5MJyUT5sAW1/3wnM3JEwLASozIX7Zrqy/PHdXK/N/RB8Nx+PDlBhOiq9K2sqn3NmuMcanlsQJvJajm6vDbn5vLmYky/lrw0bFfKoBnr1G9DrNRQFVeiucf6W2NaPbGsF/ZRKWVZAWuFHnFZv8atnWu1St4BN9p6h9RC1dr6gPa0kpwZIZuT1RIlbDWoDdRMVCiia3CsZCbNl3dajwSrRyXid4ID41xuG9Npwy5cNoUot6pvTCZPpNf61083Kkr+dIrgHHuJpoemLKuggz2PNP+HlV0VM0zDgNhkAG5IszwKHMd3CkqDYMyc0I+8iEd54LvcA9f2GNaZjqKvYo1s/CKICg+cKAsDyhwvcBm1C9/OPNf3qRvlBRvbNqXkgEMpYAbOhG6lFsNgZJbE0zTezM83izg+i8+Q4FGJt6ibZI6gNFktZohGTKuERFhnxHyRxsl0ls5/xIP9V1Ayvl8+4AIKVmk4Gjz7xhSrwYDSZPITDXp5pvu2d8z0XzJNkukaGzGl2P5NDqmoTw6Hwy+cBu9iSJPvqzhZkyGUQAEKGv6fS8CKPvvxWb9cGALxxpBIG3zj0rnuaHpfu+WLupPjBKHrjsMxjSKPkh6szJtcaNt+RI7+nFXXEWpozPNMy/gqnqU460C21a8gTOIeFvPFBWZ/AwFvqFflAwAA"
+ }
+ },
+ {
+ "ID": "8dd499b60c26fdfd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/JOtFtJWG86Kgcgtavgo5n8sT4p7?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:50 GMT"
+ ],
+ "Etag": [
+ "kBb2q/TXQouTqfW3v5aFiw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBCF32W8hYg/KGnChWhBMFGoNZgYY5btdClsd0p3Cmka3p0peDV7Zr85c6aBbeYSCGCVmV2FZX1lkBftI0JfWfZSCnIeoQPIygi5Ha1ud9fx94KqeJcu7/Z9Nc4Ow6EQXq8xVxA0kGZoEw/BTwNO5Shjae9PCK6LVkzf43ASRtLIKWkbUTgPn+LwBY6/xw5saBVhiiU6ja1bUdIGNU/boH5N1ta5ct0Ec+oyeobzxPl39sFjni0ng4c3ow2rvaG+G/j4vngUypJWnJET8OsTZBETKxvRQZLCDfzrUS2m85I0eo+tae+y4JnywiJLIi4r7IBWcu5rxhd9PAEztHpkSwEAAA=="
+ }
+ },
+ {
+ "ID": "f09f28a519a32404",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon4f59f3e19b756a1352a60f40b3244629dfa80066/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:50 GMT"
+ ],
+ "Etag": [
+ "XMGvErQA4Dp2KEqRxois0Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pH+LqXuRYFOpq4FBh5uxYGVeRnFhsE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsA5KxtSAIABJyG7JtAAAA"
+ }
+ },
+ {
+ "ID": "b62f7db097175712",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "263"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsiYXJyYXlUeXBlIjp7InR5cGUiOiJJTlQ2NCJ9LCJ0eXBlIjoiQVJSQVkifSwicGFyYW1ldGVyVmFsdWUiOnt9fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiOWF3YWYxOG9tdlFVc0VmNzg2cktQOFRDUmhiIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:50 GMT"
+ ],
+ "Etag": [
+ "TYR97vVaSU1rY96U1YKOTg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41S207bQBD9lWr7CvElvkZCNErcKgIFcGyqqKqisTN2Fmxv2N0ERSj/3rENtKIU9cnemTPnzJmZJ3bPmzUbsYyXDzuUh893ImMnDDWUFE2Wcejvb2GRWnIZeqm1vLhKyrMzQvC2Sm1EVR1qaE7XWItTjUqP0sUghEcorEDU+5tURYUfePLiOkgm8ablVlgVl7y5p/qN1ls1MowX9UEpRFkhbLka5KJ+jRt729hKcYe5VsY7ogZ1rYwPZM8rkYPmojlLF9TCTqFcYQ28oiZaglMpMqG/vEM94FAPSsLveY6Q52LX6LY3YslFU/ByJztiNnpiXa9//LRWqeVP5wReExdvOmgCWYUt7NnS7B+jbKtAg8IescoQbd/L1qFrWY5VeJ7rBmD5TjgM83DtOnY+RNscAtXpVqKrgkY0TuGGxRCtMPNdD6yha4NnFo6ZDW3H8exwXUBgmp7HjmRKImiccrUVivfG2CSOxkm0mn1dzaNoGk1J4FHyt6jv8YxASZzOJ4QmzFZyQbB2ELN5EsXjSTK7jfrxX2IJ+WHxQAsooFJ40s/sGiTUqFEqNvpBA3p5JodtNzHdfdk4jsdLIgIp4fAmR1Kew47H409yQ3fRp9lNGsVL1odiLFBik//nEqiiy3581i8XRkC6MRJSmt609Fy1Mt1c2+Xzum3Hcn3bDvzAN73AZB1Y6r9yPjk5+X1WLSPW2OhnT4voMpok5LUX26lXECVpD/PZ/BtlfwE5ViJK5QMAAA=="
+ }
+ },
+ {
+ "ID": "2771beb89e47e29d",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/9awaf18omvQUsEf786rKP8TCRhb?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:51 GMT"
+ ],
+ "Etag": [
+ "FbDhsCoKhszX5g/h5bhc0w=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2PQU/DMAyF/4u5bqI7DEqlHaArME1CXdkkJIRQmrpNR1KXxqMq0/477sbJec7n5+cjfNVNARHkdfV9wG64qpA34yNDf7DspbTUeIQJIKtKyMd8aXxMa+N/3+bVtZnnRgf9YiGE1wadgugIZY228BC9H6FRDmWsDD6F4KEdxeplmzwlmTQcFWMjS9Lkfpss4fRxmsCe8gxL7LDROLq1He1R82oM6g1ZOzjVTAt0NGX0DOeJ8++d6lU5C8n9bHY+KW/Dm26dhts4M7lQlrTimhoBd68gi5hY2Yx6SQoz+NcPg5imHWn0HkfT4LIgJtdaZEnE3QEnoJWc+1zzRZ/+ABdSCCJLAQAA"
+ }
+ },
+ {
+ "ID": "e1eacc9e1eae0fd9",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon4f59f3e19b756a1352a60f40b3244629dfa80066/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:51 GMT"
+ ],
+ "Etag": [
+ "XMGvErQA4Dp2KEqRxois0Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pH+LqXuRYFOpq4FBh5uxYGVeRnFhsE2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsA5KxtSAIABJyG7JtAAAA"
+ }
+ },
+ {
+ "ID": "52443880e5aa7f66",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "306"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsiYXJyYXlUeXBlIjp7InR5cGUiOiJJTlQ2NCJ9LCJ0eXBlIjoiQVJSQVkifSwicGFyYW1ldGVyVmFsdWUiOnsiYXJyYXlWYWx1ZXMiOlt7InZhbHVlIjoiMSJ9LHsidmFsdWUiOiIyIn1dfX1dLCJ1c2VMZWdhY3lTcWwiOmZhbHNlfX0sImpvYlJlZmVyZW5jZSI6eyJqb2JJZCI6IlZVNUpFZlF1djZtbTExRG5yQ0NUZG1wSW9oMCIsInByb2plY3RJZCI6InNob2xseW1hbi1kZW1vLXRlc3QifX0K"
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:51 GMT"
+ ],
+ "Etag": [
+ "DFxiWD3VE5yL5v2SaXc84g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TbW+bMBD+K5P3NQ3lxSREqroooRNTFK2EpKumKTLGELeAqW2yRVX++w7TplPXVZOQ4HzPy935eET3vM7QBKW8eGiZPHy8EykaIKZJAafzq1/8Zu5uQnxY4L2zIt/o2CsuLgDBO5baibI8VKQ+y1glzjRTerJeDTdr/CXMr9u9X1W2Pa/lbJZkVROJ3TkwFSvzBa/vgb/TulETy3p2HxZCFCUjDVdDKqrTubV3rEaKO0a1st4wtaBqZb1je1kKSjQX9cV6BSW0isktqwgvoYhO4EyKVOhPb0gPOamGBeD3nDJCqWhr3dUGKlTUOS9aaYTR5BGZWv/46FqFkj9cAjgDLV4baELSknWwp5aif4yyYxFNFOsR25QxZ+SnWYBt27Nz38d4TOyRF7gBDTLsOdRlzrlLgKc7C8MitahJ5nlOnnk48M49lrvYxzRPM2o7eEzHbmpj28U0wOgITUlGNJtz1QjF+8bQLA6nSbiNrrbLMJyHczD4Kflr1E0cASiJ18sZoAHTSC4A1g0iWiZhPJ0l0Sbsx79gBaGH1QNcQE5KxQb9zL4SSSqmmVRo8h0G9Bwmh8ZMTJs3msbx9BaEiJTk8CoHVr6HjtDKib0hZWsgBm+iXn/fJ5ANnb9EDjr+OMIzQLBWvTq6XofxLeqPYpYzyWr6n3cIDJN9/694XlAAwoqCkdIQw85Q1dmYa+l2h1emYDxynPFoPLLtwEcGLPVfOSfw0OBlKztFVrFaP/W0ChfhLDGj6lKtOoEgCde4jJafIfsbTHDNciQEAAA="
+ }
+ },
+ {
+ "ID": "3a3480f8d2c037db",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/VU5JEfQuv6mm11DnrCCTdmpIoh0?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:51 GMT"
+ ],
+ "Etag": [
+ "P7gJM2ZXkJanhvgVvKeKLA=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2P3U7CQBCF32W8haQ1UZMmXCA02qKmVCBGY8zSTn9gd6d2p5iG8O5MwavZM/vNmTNH2Nc2hwC2dfnbYdvflMjL4ZGi6zQ7KQ1ZhzACZFUKmTyU8evt58c+VrY6lJvDAhcv08lECJdVaBQERyhq1LmD4OsIVhmUscL7EYL7ZhDR2yp8ClNpGMqHRhom4XQVzuH0fRrBjrYpFtiizXBwa1raYcbRENRVpHVvlB3naGjM6BguE5ffzfouDotld7g3xvfntp3NVrlpIqo8oTRlimuyAq7fQRYxsdIp/UlS8OFfP/ZimrSUoXM4mHrXBTMyjUaWRNx2OIJMybnPNV/16Qzg0yrpSwEAAA=="
+ }
+ },
+ {
+ "ID": "030c304dc9962fb7",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anonad442fd459404ef3565cfbdc1258c83b15135c95/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:51 GMT"
+ ],
+ "Etag": [
+ "keCPj8S1SB83nf2ROL+02Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8pnpzoHZFkEGwY7WRjnpRkF+ftoGxgF2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5FAyVodCMtIqTYWDAEND7H5gAAAAA=="
+ }
+ },
+ {
+ "ID": "5c4e2ebd964638e4",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "320"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsiYXJyYXlUeXBlIjp7InR5cGUiOiJJTlQ2NCJ9LCJ0eXBlIjoiQVJSQVkifSwicGFyYW1ldGVyVmFsdWUiOnsiYXJyYXlWYWx1ZXMiOlt7InZhbHVlIjoiMSJ9LHsidmFsdWUiOiIyIn0seyJ2YWx1ZSI6IjMifV19fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiMTZNM245N2s1RGZFRk5mNHpJVkRBZnZZYzJBIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:51 GMT"
+ ],
+ "Etag": [
+ "X7KE3isjmU5IxoYG2YFYfw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TbU/bMBD+K5P3Fdomad4qIVa1AUVj1ZambNU0VY57DoYkLrZb1iH++y4OdBtjaFKk5HzPy935ck9uRLMmI1KI8nYLav/2WhbkiIChJZ5+Cd8nntDX9cJPv8vlubs8W/K7kxNEiJalr2RV7WvaHK+hlscGtBkt5j0n+OA1cXjjT3lyNuPDH+nldMx3S+aOkamh4heiuUH+lTEbPer3n9x7pZRlBXQjdI/J+nDe37n9jZLXwIzuv2Dax6p1/xXb00oyaoRsThZzLGGrQa2gpqLCIlqBYyULad69IN0TtO6ViN8JBpQxuW1MWxuqMNlwUW6VFSaje2Jr/e2jbRVLfnOK4DVqicZCc1pU0MIeW0r/McqWRQ3V0CFWBYAbBsU69h1n6PAg8P2IOuEw9mIWr/2hyzxwBx5FnmktLIs2soliHkaRx8OQh5RGPvdh4HHqUAhicHxWDAbOgBUeecCmFFADU6E3UouuMTLJknGerNKz1SxJpskUDe6UeI76nKUIyrPFbIJoxGyUkAhrB5HO8iQbT/L0MunGfwElZfv5LV4Ap5WGo25mH6miNRhQmoy+4oCewny/sRMz9k3GWTZeohBViu6f5dAqGJIHbOXAvqTV1kIs3kad/q5LEAc7/xW5f0Q4lW8P+BwRXLLOi3xaJNmSdEcZcFDQsP+8UWTY7Ov/yNO6IhAXFo20wRg3iOnWxl5Su0mituX7oetGYRQ6QTwkFqzMX7nIbXOHHW0VoYbGPPY0Ty6SSW4H16a2+gDCJF7qLJ2dY/Yn2kbchDIEAAA="
+ }
+ },
+ {
+ "ID": "5a47e386a7eae691",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/16M3n97k5DfEFNf4zIVDAfvYc2A?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:52 GMT"
+ ],
+ "Etag": [
+ "xGEDkgBfSBl/3L2yU+MS8g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/y2Pb0/CMBDGv8v50hER/EvCi+EqLhGCG5gYY0zprmPQtXO9iXPhu9uCr3rP3e957trBrtAZjGBd5F8N1u1ZjvTiiwRto8i6pzLaIgSAxHNH/kxZtMsnMp2oi+HzoF2dz9K7fDx2hBUbLDmMOpAFqszC6L0DzUt0Ntn/dAS1lRfxfMmmLHGN0mS+kbAFC5csgsPHIYCtWScosUYt0KdVtdmioNgfajdGqbbkupdhaXqEluDoOE4vb2ZDfX+7u44ke5zLq9/4NQrl95sYhI5SRnAqjHbgKgW3iAxxlZi99Vb415PWhS5qI9Ba9KH904IHU1YKyV1EdYMBCO6++1TQSR/+AAfbSLNLAQAA"
+ }
+ },
+ {
+ "ID": "986beca3fe39d9fd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon89f7883f77f7aa85f5e03fa1ae69e15cb0010cb3/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:52 GMT"
+ ],
+ "Etag": [
+ "LHZFxu922mSUaKCBjDxSrw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8r7eES5VZRaGhnlBocmejs7ZblUBBeV29oCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsg5FAyVodCMsIzjJWqo0FQwAcBa/eigAAAA=="
+ }
+ },
+ {
+ "ID": "bb7f4edc4eb2d02d",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "479"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsic3RydWN0VHlwZXMiOlt7Im5hbWUiOiJBIiwidHlwZSI6eyJ0eXBlIjoiSU5UNjQifX0seyJuYW1lIjoiQiIsInR5cGUiOnsic3RydWN0VHlwZXMiOlt7Im5hbWUiOiJEIiwidHlwZSI6eyJ0eXBlIjoiU1RSSU5HIn19XSwidHlwZSI6IlNUUlVDVCJ9fSx7Im5hbWUiOiJDIiwidHlwZSI6eyJ0eXBlIjoiQk9PTCJ9fV0sInR5cGUiOiJTVFJVQ1QifSwicGFyYW1ldGVyVmFsdWUiOnsic3RydWN0VmFsdWVzIjp7IkEiOnsidmFsdWUiOiIwIn0sIkIiOnt9LCJDIjp7InZhbHVlIjoiZmFsc2UifX19fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiRXR4eWtHaVdRNjc3Wm8xOUdZMHk5TnpvYkxkIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:52 GMT"
+ ],
+ "Etag": [
+ "Zl+mHqWn77oDgku5vunTDg=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/41TbW/aMBD+K5P3cZS8E4JUdRSyDgnRFUKrdpqQk1xSlySmscPGKv77zk7ftnbdvhDse57n7h7f3ZE1q1IyIDHLbxuod+9veEw6BCTN8faq+FB+vr2ofJ+P83XjbZsqGueHh4hgiiWueVHsSlodpFDyAwlCDpaLbih/7NYn7OKs5/tX3ApOLs1dMPvJ42mKTAFFNmXVGvnXUm7EwDAesndzzvMC6IaJbsLLx3tjaxubmt9AIoXxSlIDqxbGG2mPCp5QyXh1uFxgCY2AegUlZQUWoQQOah5z+fEV6S6jZTdH/JYlQJOEN5VUtaFKwquM5U2thcngjuhan/1RrWLJ744QnKIWqzQ0onEBCnbf0uQvVioWlVRAi1jFALbfi9PAsyzXyno9z+tTy3cDJ0iC1HPtxAHbdCjypEqhWbTilR+Dmbl9sFw3Nk3LzijYlgWpk/V8x+uDGYCdBrFP9thUDVTCmIkNF6xtjIzm4TAKV5NPq1kYjsMxJvhesz9RF/MJgqL5cjZCNGI2NeMIU0ZMZlE4H46iyXnY2j+FnCa7xS0+QEYLAZ3Wsy+0piVIqAUZfEWDHo7RbqMdk/pLFphlFKlZknWTSBVtCRXCMT5UFvxOwQp6LtnvO4+g45egf+mOX6VMZico/O259ugl8Pj0dKphnae2zmnRaEybTx+FOg/Vz7aNElO9y+j5jbYMxVo5HP7WH3K2DOeXpL2aQwY1VMl/ThoydPTt3X1YIwTiIu2VUXjGyU502Xp41IQz7YLl+bbd9/u+7TmudpXW8kWs5zik87Q7ShFKqOR9T4twGuKb7O+TNeIRhEEctllr/y+vvPbYygQAAA=="
+ }
+ },
+ {
+ "ID": "4f13da0ba6e72fdb",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/EtxykGiWQ677Zo19GY0y9NzobLd?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:52 GMT"
+ ],
+ "Etag": [
+ "2tMOGKxq63ABYb80uEfdKw=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/52R3W6CQBCF32V6qwm2iVYTL0AJNVKoq6axTdPwMygKLLJDFI3v3kGb2qRe9Wr3zJ5vzu7sETZxFkIP/Hi5LbGo7pZIk3ojUJUJKV5ymSmEBiB5S3be07Nrjffb9oNuLPxHrTSjcLzr99mhghWmHvSOEMWYhAp670fIvBQZi7RPdlCV10KYA1cMWacyrLUzt23dsE2u/CX1KzdyZqZlihvgqfHjN/6ZM7xy05kYOdatmI9fQYMrYLiuberObYIZWEtfYIQFZgHWA8oLucaARvXs1UomSZV6WTPEVDYJFcGZOJ+atK82Vvw6aXc6b7LVtRZa1XUO0rdDdiUy8CiWGRvnU54CkCQvEXLHT4MWfGuj4qYvhQxQKaybapeAgUzzBIlvREWJDQg8/sGnmC769AUxgzMlHgIAAA=="
+ }
+ },
+ {
+ "ID": "d43a86b182fa0a5a",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon7be0f48e144b0012fae211ed3f67358e09e2d9b7/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:53 GMT"
+ ],
+ "Etag": [
+ "V7Aakxx6AhoQyiqKGgo/ZQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qHmTsmZldUmDlm5AdWZhZ6u6fn60cF2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7JCYioZKNXqgFl5pTk5UKZSWmJOcapSbWwtEMXWAgCp0n0BlQAAAA=="
+ }
+ },
+ {
+ "ID": "da88ba321321ed32",
+ "Request": {
+ "Method": "POST",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/jobs?alt=json\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "Content-Length": [
+ "512"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "application/json",
+ "BodyParts": [
+ "eyJjb25maWd1cmF0aW9uIjp7InF1ZXJ5Ijp7InF1ZXJ5Ijoic2VsZWN0ID8iLCJxdWVyeVBhcmFtZXRlcnMiOlt7InBhcmFtZXRlclR5cGUiOnsic3RydWN0VHlwZXMiOlt7Im5hbWUiOiJBIiwidHlwZSI6eyJ0eXBlIjoiSU5UNjQifX0seyJuYW1lIjoiQiIsInR5cGUiOnsic3RydWN0VHlwZXMiOlt7Im5hbWUiOiJEIiwidHlwZSI6eyJ0eXBlIjoiU1RSSU5HIn19XSwidHlwZSI6IlNUUlVDVCJ9fSx7Im5hbWUiOiJDIiwidHlwZSI6eyJ0eXBlIjoiQk9PTCJ9fV0sInR5cGUiOiJTVFJVQ1QifSwicGFyYW1ldGVyVmFsdWUiOnsic3RydWN0VmFsdWVzIjp7IkEiOnsidmFsdWUiOiIxIn0sIkIiOnsic3RydWN0VmFsdWVzIjp7IkQiOnsidmFsdWUiOiJzIn19fSwiQyI6eyJ2YWx1ZSI6InRydWUifX19fV0sInVzZUxlZ2FjeVNxbCI6ZmFsc2V9fSwiam9iUmVmZXJlbmNlIjp7ImpvYklkIjoiNDlXczlTWnZFblJxUHFueDVaV2ViWm93emJkIiwicHJvamVjdElkIjoic2hvbGx5bWFuLWRlbW8tdGVzdCJ9fQo="
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:53 GMT"
+ ],
+ "Etag": [
+ "hbSgf88BeEZ4A822HbEonQ=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/42Ta2/aMBSG/8rkfaWQhIQkSFXHJduQEG25tBrThJxwkroNNsQOLav47zt2emEr6/aF4HOec3vt80juGF+SNolZtimh2H28FTGpEVA0Q+tNPMnSIOhCNHc7geN8jSPBL09PkWA6St6IPN+tKD9ZwkqcKJCqPZvU3fBahpP5NuLjzcWGP3jza4jn4v5nvMRICXk6ZPxO51dqLduNxnP1eiZElgNdM1lPxOrF3tg6jXUhbiFRsnGkaAO7lo13yp7lIqGKCX46m2ALpYRiASvKcmxCJzgpRCzUpyOp64yu6hnyW5YATRJRcqV7wyyJ4CnLysIkJu1HYno9+KNHxZY/nCG8xFyMG3RK4xw09jTS4C9S6iiqqISKWMQAjt+Kl6Fn266dtlqeF1Dbd8NmmIRLz3WSJjhWk2Kc0iVMFOWCW02rBS0rjK2mTy2PNm3fomFge5AmduoGfsv2IYQl2eNQBVAFfSbXQrJqMNIbR51ptBh8XoyiqB/1scB9wf6krscDhKbj2aiHNDLrggnEtBCD0TQad3rTwVVUyT+EjCa7yQYvIKW5hFql2QUt6AoUFJK0v6NAz8fpbm0UU+ZLJlilN9VvSRVlorS3CuCIo7+jJfg9BDtouWS/r71A3bfQv/L2j4YMRl8w8Y/D3L23YPf8fGiw2utYVzQvDVPVM0epzx39s628xNb30j2G9Q8xidkR7B3akAdtNmVxSSodyeUsGn8jlWkMKRTAk/98kRhhvO/v+PO6IYgLt9eC4hk3IDF9m0emN4EZtWzPd5zAD/ym5btGfVqoNz7bC0ntdcd0RlgBV08zTaJhhHe3fypWyhcInfgoR9U1/QIw/X/t8gQAAA=="
+ }
+ },
+ {
+ "ID": "408a63203fe397cd",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/queries/49Ws9SZvEnRqPqnx5ZWebZowzbd?alt=json\u0026location=US\u0026maxResults=0\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:53 GMT"
+ ],
+ "Etag": [
+ "JJEbugGSziw3aFKmS0o17g=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/52RUU/CMBSF/8v1FRKIGgMJDwwqgsvADkKCMabbLmPYtWPtxEH479yBERN58qk9t+e7p73dw0eiImhDkMSbAvPyJkb7Um04mkJaQ0umlUGoAVoRk3M0YkERD/xdsr0Vj8+p39DNh7jTIYcJV5gKaO9hmaCMDLRf96BEioQtG+/ksGVWCc56Y94nneqo0t7MdbuOy6jyl+xeuKE3ZQPGr4CH2o/f+WdO/8L5Uz70Btdi3n4F9S6AMx67rOtdJ4iBtQ44LjFHFWI1oCzXawztsJq9WWkpy1SoeoSprls0Fk7E6fSuNTctf/HJFN9MNurrfjHHYKG3uyAil9ShsIlWZJz5NAWw2grJ9ZaeBk341k5JTSe5DtEYrJo2zgE9nWYSLd3I5gXWIBT0g0+JPevDEaR8u+weAgAA"
+ }
+ },
+ {
+ "ID": "d92e7008dce6c785",
+ "Request": {
+ "Method": "GET",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/_bee276bd951141f66558a174939c9d542c3e203a/tables/anon0306e609b037a05a3170a9815efc1f487617e9ed/data?alt=json\u0026prettyPrint=false\u0026startIndex=0",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:53 GMT"
+ ],
+ "Etag": [
+ "VTPvXen4e+jVq/SXL1Lb7Q=="
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6tWys7MS1GyUkrKTC8sTS2qVC5JTMpJdUksSfTJLC5R0lFKLUlMB8qHhQSURaTmmaRqZ4UV6gdH+Bj6JJkH2toCVZTklyTmBOWXFwOVGQL5RWBmdLVSGpgsU7JCYgJV1OpgCBYr1cbWQsWVSopKU8H8WCAEAFj4RHChAAAA"
+ }
+ },
+ {
+ "ID": "9a3be072efb53ccb",
+ "Request": {
+ "Method": "DELETE",
+ "URL": "https://bigquery.googleapis.com/bigquery/v2/projects/shollyman-demo-test/datasets/dataset_20191028_66906590093659_0001?alt=json\u0026deleteContents=true\u0026prettyPrint=false",
+ "Header": {
+ "Accept-Encoding": [
+ "gzip"
+ ],
+ "User-Agent": [
+ "google-api-go-client/0.5"
+ ]
+ },
+ "MediaType": "",
+ "BodyParts": [
+ ""
+ ]
+ },
+ "Response": {
+ "StatusCode": 200,
+ "Proto": "HTTP/1.1",
+ "ProtoMajor": 1,
+ "ProtoMinor": 1,
+ "Header": {
+ "Cache-Control": [
+ "private"
+ ],
+ "Content-Encoding": [
+ "gzip"
+ ],
+ "Content-Type": [
+ "application/json; charset=UTF-8"
+ ],
+ "Date": [
+ "Mon, 28 Oct 2019 18:37:54 GMT"
+ ],
+ "Server": [
+ "ESF"
+ ],
+ "Vary": [
+ "Origin",
+ "X-Origin",
+ "Referer"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "X-Frame-Options": [
+ "SAMEORIGIN"
+ ],
+ "X-Xss-Protection": [
+ "0"
+ ]
+ },
+ "Body": "H4sIAAAAAAAC/6uuBQBDv6ajAgAAAA=="
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/cloud.google.com/go/bigquery/copy.go b/vendor/cloud.google.com/go/bigquery/copy.go
new file mode 100644
index 000000000..a8226e979
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/copy.go
@@ -0,0 +1,143 @@
+// Copyright 2016 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "time"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// TableCopyOperationType is used to indicate the type of operation performed by a BigQuery
+// copy job.
+type TableCopyOperationType string
+
+var (
+ // CopyOperation indicates normal table to table copying.
+ CopyOperation TableCopyOperationType = "COPY"
+ // SnapshotOperation indicates creating a snapshot from a regular table, which
+ // operates as an immutable copy.
+ SnapshotOperation TableCopyOperationType = "SNAPSHOT"
+ // RestoreOperation indicates creating/restoring a table from a snapshot.
+ RestoreOperation TableCopyOperationType = "RESTORE"
+ // CloneOperation indicates creating a table clone, which creates a writeable
+ // copy of a base table that is billed based on difference from the base table.
+ CloneOperation TableCopyOperationType = "CLONE"
+)
+
+// CopyConfig holds the configuration for a copy job.
+type CopyConfig struct {
+ // Srcs are the tables from which data will be copied.
+ Srcs []*Table
+
+ // Dst is the table into which the data will be copied.
+ Dst *Table
+
+ // CreateDisposition specifies the circumstances under which the destination table will be created.
+ // The default is CreateIfNeeded.
+ CreateDisposition TableCreateDisposition
+
+ // WriteDisposition specifies how existing data in the destination table is treated.
+ // The default is WriteEmpty.
+ WriteDisposition TableWriteDisposition
+
+ // The labels associated with this job.
+ Labels map[string]string
+
+ // Custom encryption configuration (e.g., Cloud KMS keys).
+ DestinationEncryptionConfig *EncryptionConfig
+
+ // One of the supported operation types when executing a Table Copy jobs. By default this
+ // copies tables, but can also be set to perform snapshot or restore operations.
+ OperationType TableCopyOperationType
+
+ // Sets a best-effort deadline on a specific job. If job execution exceeds this
+ // timeout, BigQuery may attempt to cancel this work automatically.
+ //
+ // This deadline cannot be adjusted or removed once the job is created. Consider
+ // using Job.Cancel in situations where you need more dynamic behavior.
+ //
+ // Experimental: this option is experimental and may be modified or removed in future versions,
+ // regardless of any other documented package stability guarantees.
+ JobTimeout time.Duration
+}
+
+func (c *CopyConfig) toBQ() *bq.JobConfiguration {
+ var ts []*bq.TableReference
+ for _, t := range c.Srcs {
+ ts = append(ts, t.toBQ())
+ }
+ return &bq.JobConfiguration{
+ Labels: c.Labels,
+ Copy: &bq.JobConfigurationTableCopy{
+ CreateDisposition: string(c.CreateDisposition),
+ WriteDisposition: string(c.WriteDisposition),
+ DestinationTable: c.Dst.toBQ(),
+ DestinationEncryptionConfiguration: c.DestinationEncryptionConfig.toBQ(),
+ SourceTables: ts,
+ OperationType: string(c.OperationType),
+ },
+ JobTimeoutMs: c.JobTimeout.Milliseconds(),
+ }
+}
+
+func bqToCopyConfig(q *bq.JobConfiguration, c *Client) *CopyConfig {
+ cc := &CopyConfig{
+ Labels: q.Labels,
+ CreateDisposition: TableCreateDisposition(q.Copy.CreateDisposition),
+ WriteDisposition: TableWriteDisposition(q.Copy.WriteDisposition),
+ Dst: bqToTable(q.Copy.DestinationTable, c),
+ DestinationEncryptionConfig: bqToEncryptionConfig(q.Copy.DestinationEncryptionConfiguration),
+ OperationType: TableCopyOperationType(q.Copy.OperationType),
+ JobTimeout: time.Duration(q.JobTimeoutMs) * time.Millisecond,
+ }
+ for _, t := range q.Copy.SourceTables {
+ cc.Srcs = append(cc.Srcs, bqToTable(t, c))
+ }
+ return cc
+}
+
+// A Copier copies data into a BigQuery table from one or more BigQuery tables.
+type Copier struct {
+ JobIDConfig
+ CopyConfig
+ c *Client
+}
+
+// CopierFrom returns a Copier which can be used to copy data into a
+// BigQuery table from one or more BigQuery tables.
+// The returned Copier may optionally be further configured before its Run method is called.
+func (t *Table) CopierFrom(srcs ...*Table) *Copier {
+ return &Copier{
+ c: t.c,
+ CopyConfig: CopyConfig{
+ Srcs: srcs,
+ Dst: t,
+ },
+ }
+}
+
+// Run initiates a copy job.
+func (c *Copier) Run(ctx context.Context) (*Job, error) {
+ return c.c.insertJob(ctx, c.newJob(), nil)
+}
+
+func (c *Copier) newJob() *bq.Job {
+ return &bq.Job{
+ JobReference: c.JobIDConfig.createJobRef(c.c),
+ Configuration: c.CopyConfig.toBQ(),
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/dataset.go b/vendor/cloud.google.com/go/bigquery/dataset.go
new file mode 100644
index 000000000..24c815be2
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/dataset.go
@@ -0,0 +1,982 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "strings"
+ "time"
+
+ "cloud.google.com/go/internal/optional"
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+ "google.golang.org/api/iterator"
+)
+
+// Dataset is a reference to a BigQuery dataset.
+type Dataset struct {
+ ProjectID string
+ DatasetID string
+ c *Client
+}
+
+// DatasetMetadata contains information about a BigQuery dataset.
+type DatasetMetadata struct {
+ // These fields can be set when creating a dataset.
+ Name string // The user-friendly name for this dataset.
+ Description string // The user-friendly description of this dataset.
+ Location string // The geo location of the dataset.
+ DefaultTableExpiration time.Duration // The default expiration time for new tables.
+ Labels map[string]string // User-provided labels.
+ Access []*AccessEntry // Access permissions.
+ DefaultEncryptionConfig *EncryptionConfig
+
+ // DefaultPartitionExpiration is the default expiration time for
+ // all newly created partitioned tables in the dataset.
+ DefaultPartitionExpiration time.Duration
+
+ // Defines the default collation specification of future tables
+ // created in the dataset. If a table is created in this dataset without
+ // table-level default collation, then the table inherits the dataset default
+ // collation, which is applied to the string fields that do not have explicit
+ // collation specified. A change to this field affects only tables created
+ // afterwards, and does not alter the existing tables.
+ // More information: https://cloud.google.com/bigquery/docs/reference/standard-sql/collation-concepts
+ DefaultCollation string
+
+ // For externally defined datasets, contains information about the configuration.
+ ExternalDatasetReference *ExternalDatasetReference
+
+ // MaxTimeTravel represents the number of hours for the max time travel for all tables
+ // in the dataset. Durations are rounded towards zero for the nearest hourly value.
+ MaxTimeTravel time.Duration
+
+ // Storage billing model to be used for all tables in the dataset.
+ // Can be set to PHYSICAL. Default is LOGICAL.
+ // Once you create a dataset with storage billing model set to physical bytes, you can't change it back to using logical bytes again.
+ // More details: https://cloud.google.com/bigquery/docs/datasets-intro#dataset_storage_billing_models
+ StorageBillingModel string
+
+ // These fields are read-only.
+ CreationTime time.Time
+ LastModifiedTime time.Time // When the dataset or any of its tables were modified.
+ FullID string // The full dataset ID in the form projectID:datasetID.
+
+ // The tags associated with this dataset. Tag keys are
+ // globally unique, and managed via the resource manager API.
+ // More information: https://cloud.google.com/resource-manager/docs/tags/tags-overview
+ Tags []*DatasetTag
+
+ // ETag is the ETag obtained when reading metadata. Pass it to Dataset.Update to
+ // ensure that the metadata hasn't changed since it was read.
+ ETag string
+}
+
+// DatasetTag is a representation of a single tag key/value.
+type DatasetTag struct {
+ // TagKey is the namespaced friendly name of the tag key, e.g.
+ // "12345/environment" where 12345 is org id.
+ TagKey string
+
+ // TagValue is the friendly short name of the tag value, e.g.
+ // "production".
+ TagValue string
+}
+
+const (
+ // LogicalStorageBillingModel indicates billing for logical bytes.
+ LogicalStorageBillingModel = ""
+
+ // PhysicalStorageBillingModel indicates billing for physical bytes.
+ PhysicalStorageBillingModel = "PHYSICAL"
+)
+
+func bqToDatasetTag(in *bq.DatasetTags) *DatasetTag {
+ if in == nil {
+ return nil
+ }
+ return &DatasetTag{
+ TagKey: in.TagKey,
+ TagValue: in.TagValue,
+ }
+}
+
+// DatasetMetadataToUpdate is used when updating a dataset's metadata.
+// Only non-nil fields will be updated.
+type DatasetMetadataToUpdate struct {
+ Description optional.String // The user-friendly description of this table.
+ Name optional.String // The user-friendly name for this dataset.
+
+ // DefaultTableExpiration is the default expiration time for new tables.
+ // If set to time.Duration(0), new tables never expire.
+ DefaultTableExpiration optional.Duration
+
+ // DefaultTableExpiration is the default expiration time for
+ // all newly created partitioned tables.
+ // If set to time.Duration(0), new table partitions never expire.
+ DefaultPartitionExpiration optional.Duration
+
+ // DefaultEncryptionConfig defines CMEK settings for new resources created
+ // in the dataset.
+ DefaultEncryptionConfig *EncryptionConfig
+
+ // Defines the default collation specification of future tables
+ // created in the dataset.
+ DefaultCollation optional.String
+
+ // For externally defined datasets, contains information about the configuration.
+ ExternalDatasetReference *ExternalDatasetReference
+
+ // MaxTimeTravel represents the number of hours for the max time travel for all tables
+ // in the dataset. Durations are rounded towards zero for the nearest hourly value.
+ MaxTimeTravel optional.Duration
+
+ // Storage billing model to be used for all tables in the dataset.
+ // Can be set to PHYSICAL. Default is LOGICAL.
+ // Once you change a dataset's storage billing model to use physical bytes, you can't change it back to using logical bytes again.
+ // More details: https://cloud.google.com/bigquery/docs/datasets-intro#dataset_storage_billing_models
+ StorageBillingModel optional.String
+
+ // The entire access list. It is not possible to replace individual entries.
+ Access []*AccessEntry
+
+ labelUpdater
+}
+
+// Dataset creates a handle to a BigQuery dataset in the client's project.
+func (c *Client) Dataset(id string) *Dataset {
+ return c.DatasetInProject(c.projectID, id)
+}
+
+// DatasetInProject creates a handle to a BigQuery dataset in the specified project.
+func (c *Client) DatasetInProject(projectID, datasetID string) *Dataset {
+ return &Dataset{
+ ProjectID: projectID,
+ DatasetID: datasetID,
+ c: c,
+ }
+}
+
+// Identifier returns the ID of the dataset in the requested format.
+//
+// For Standard SQL format, the identifier will be quoted if the
+// ProjectID contains dash (-) characters.
+func (d *Dataset) Identifier(f IdentifierFormat) (string, error) {
+ switch f {
+ case LegacySQLID:
+ return fmt.Sprintf("%s:%s", d.ProjectID, d.DatasetID), nil
+ case StandardSQLID:
+ // Quote project identifiers if they have a dash character.
+ if strings.Contains(d.ProjectID, "-") {
+ return fmt.Sprintf("`%s`.%s", d.ProjectID, d.DatasetID), nil
+ }
+ return fmt.Sprintf("%s.%s", d.ProjectID, d.DatasetID), nil
+ default:
+ return "", ErrUnknownIdentifierFormat
+ }
+}
+
+// Create creates a dataset in the BigQuery service. An error will be returned if the
+// dataset already exists. Pass in a DatasetMetadata value to configure the dataset.
+func (d *Dataset) Create(ctx context.Context, md *DatasetMetadata) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Dataset.Create")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ ds, err := md.toBQ()
+ if err != nil {
+ return err
+ }
+ ds.DatasetReference = &bq.DatasetReference{DatasetId: d.DatasetID}
+ // Use Client.Location as a default.
+ if ds.Location == "" {
+ ds.Location = d.c.Location
+ }
+ call := d.c.bqs.Datasets.Insert(d.ProjectID, ds).Context(ctx)
+ setClientHeader(call.Header())
+ _, err = call.Do()
+ return err
+}
+
+func (dm *DatasetMetadata) toBQ() (*bq.Dataset, error) {
+ ds := &bq.Dataset{}
+ if dm == nil {
+ return ds, nil
+ }
+ ds.FriendlyName = dm.Name
+ ds.Description = dm.Description
+ ds.Location = dm.Location
+ ds.DefaultTableExpirationMs = int64(dm.DefaultTableExpiration / time.Millisecond)
+ ds.DefaultPartitionExpirationMs = int64(dm.DefaultPartitionExpiration / time.Millisecond)
+ ds.DefaultCollation = dm.DefaultCollation
+ ds.MaxTimeTravelHours = int64(dm.MaxTimeTravel / time.Hour)
+ ds.StorageBillingModel = string(dm.StorageBillingModel)
+ ds.Labels = dm.Labels
+ var err error
+ ds.Access, err = accessListToBQ(dm.Access)
+ if err != nil {
+ return nil, err
+ }
+ if !dm.CreationTime.IsZero() {
+ return nil, errors.New("bigquery: Dataset.CreationTime is not writable")
+ }
+ if !dm.LastModifiedTime.IsZero() {
+ return nil, errors.New("bigquery: Dataset.LastModifiedTime is not writable")
+ }
+ if dm.FullID != "" {
+ return nil, errors.New("bigquery: Dataset.FullID is not writable")
+ }
+ if dm.ETag != "" {
+ return nil, errors.New("bigquery: Dataset.ETag is not writable")
+ }
+ if dm.DefaultEncryptionConfig != nil {
+ ds.DefaultEncryptionConfiguration = dm.DefaultEncryptionConfig.toBQ()
+ }
+ if dm.ExternalDatasetReference != nil {
+ ds.ExternalDatasetReference = dm.ExternalDatasetReference.toBQ()
+ }
+ return ds, nil
+}
+
+func accessListToBQ(a []*AccessEntry) ([]*bq.DatasetAccess, error) {
+ var q []*bq.DatasetAccess
+ for _, e := range a {
+ a, err := e.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ q = append(q, a)
+ }
+ return q, nil
+}
+
+// Delete deletes the dataset. Delete will fail if the dataset is not empty.
+func (d *Dataset) Delete(ctx context.Context) (err error) {
+ return d.deleteInternal(ctx, false)
+}
+
+// DeleteWithContents deletes the dataset, as well as contained resources.
+func (d *Dataset) DeleteWithContents(ctx context.Context) (err error) {
+ return d.deleteInternal(ctx, true)
+}
+
+func (d *Dataset) deleteInternal(ctx context.Context, deleteContents bool) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Dataset.Delete")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ call := d.c.bqs.Datasets.Delete(d.ProjectID, d.DatasetID).Context(ctx).DeleteContents(deleteContents)
+ setClientHeader(call.Header())
+ return runWithRetry(ctx, func() (err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.datasets.delete")
+ err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+}
+
+// Metadata fetches the metadata for the dataset.
+func (d *Dataset) Metadata(ctx context.Context) (md *DatasetMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Dataset.Metadata")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ call := d.c.bqs.Datasets.Get(d.ProjectID, d.DatasetID).Context(ctx)
+ setClientHeader(call.Header())
+ var ds *bq.Dataset
+ if err := runWithRetry(ctx, func() (err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.datasets.get")
+ ds, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ }); err != nil {
+ return nil, err
+ }
+ return bqToDatasetMetadata(ds, d.c)
+}
+
+func bqToDatasetMetadata(d *bq.Dataset, c *Client) (*DatasetMetadata, error) {
+ dm := &DatasetMetadata{
+ CreationTime: unixMillisToTime(d.CreationTime),
+ LastModifiedTime: unixMillisToTime(d.LastModifiedTime),
+ DefaultTableExpiration: time.Duration(d.DefaultTableExpirationMs) * time.Millisecond,
+ DefaultPartitionExpiration: time.Duration(d.DefaultPartitionExpirationMs) * time.Millisecond,
+ DefaultCollation: d.DefaultCollation,
+ ExternalDatasetReference: bqToExternalDatasetReference(d.ExternalDatasetReference),
+ MaxTimeTravel: time.Duration(d.MaxTimeTravelHours) * time.Hour,
+ StorageBillingModel: d.StorageBillingModel,
+ DefaultEncryptionConfig: bqToEncryptionConfig(d.DefaultEncryptionConfiguration),
+ Description: d.Description,
+ Name: d.FriendlyName,
+ FullID: d.Id,
+ Location: d.Location,
+ Labels: d.Labels,
+ ETag: d.Etag,
+ }
+ for _, a := range d.Access {
+ e, err := bqToAccessEntry(a, c)
+ if err != nil {
+ return nil, err
+ }
+ dm.Access = append(dm.Access, e)
+ }
+ for _, bqTag := range d.Tags {
+ tag := bqToDatasetTag(bqTag)
+ if tag != nil {
+ dm.Tags = append(dm.Tags, tag)
+ }
+ }
+ return dm, nil
+}
+
+// Update modifies specific Dataset metadata fields.
+// To perform a read-modify-write that protects against intervening reads,
+// set the etag argument to the DatasetMetadata.ETag field from the read.
+// Pass the empty string for etag for a "blind write" that will always succeed.
+func (d *Dataset) Update(ctx context.Context, dm DatasetMetadataToUpdate, etag string) (md *DatasetMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Dataset.Update")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ ds, err := dm.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ call := d.c.bqs.Datasets.Patch(d.ProjectID, d.DatasetID, ds).Context(ctx)
+ setClientHeader(call.Header())
+ if etag != "" {
+ call.Header().Set("If-Match", etag)
+ }
+ var ds2 *bq.Dataset
+ if err := runWithRetry(ctx, func() (err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.datasets.patch")
+ ds2, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ }); err != nil {
+ return nil, err
+ }
+ return bqToDatasetMetadata(ds2, d.c)
+}
+
+func (dm *DatasetMetadataToUpdate) toBQ() (*bq.Dataset, error) {
+ ds := &bq.Dataset{}
+ forceSend := func(field string) {
+ ds.ForceSendFields = append(ds.ForceSendFields, field)
+ }
+
+ if dm.Description != nil {
+ ds.Description = optional.ToString(dm.Description)
+ forceSend("Description")
+ }
+ if dm.Name != nil {
+ ds.FriendlyName = optional.ToString(dm.Name)
+ forceSend("FriendlyName")
+ }
+ if dm.DefaultTableExpiration != nil {
+ dur := optional.ToDuration(dm.DefaultTableExpiration)
+ if dur == 0 {
+ // Send a null to delete the field.
+ ds.NullFields = append(ds.NullFields, "DefaultTableExpirationMs")
+ } else {
+ ds.DefaultTableExpirationMs = int64(dur / time.Millisecond)
+ }
+ }
+ if dm.DefaultPartitionExpiration != nil {
+ dur := optional.ToDuration(dm.DefaultPartitionExpiration)
+ if dur == 0 {
+ // Send a null to delete the field.
+ ds.NullFields = append(ds.NullFields, "DefaultPartitionExpirationMs")
+ } else {
+ ds.DefaultPartitionExpirationMs = int64(dur / time.Millisecond)
+ }
+ }
+ if dm.DefaultCollation != nil {
+ ds.DefaultCollation = optional.ToString(dm.DefaultCollation)
+ forceSend("DefaultCollation")
+ }
+ if dm.ExternalDatasetReference != nil {
+ ds.ExternalDatasetReference = dm.ExternalDatasetReference.toBQ()
+ forceSend("ExternalDatasetReference")
+ }
+ if dm.MaxTimeTravel != nil {
+ dur := optional.ToDuration(dm.MaxTimeTravel)
+ if dur == 0 {
+ // Send a null to delete the field.
+ ds.NullFields = append(ds.NullFields, "MaxTimeTravelHours")
+ } else {
+ ds.MaxTimeTravelHours = int64(dur / time.Hour)
+ }
+ }
+ if dm.StorageBillingModel != nil {
+ ds.StorageBillingModel = optional.ToString(dm.StorageBillingModel)
+ forceSend("StorageBillingModel")
+ }
+ if dm.DefaultEncryptionConfig != nil {
+ ds.DefaultEncryptionConfiguration = dm.DefaultEncryptionConfig.toBQ()
+ ds.DefaultEncryptionConfiguration.ForceSendFields = []string{"KmsKeyName"}
+ }
+ if dm.Access != nil {
+ var err error
+ ds.Access, err = accessListToBQ(dm.Access)
+ if err != nil {
+ return nil, err
+ }
+ if len(ds.Access) == 0 {
+ ds.NullFields = append(ds.NullFields, "Access")
+ }
+ }
+ labels, forces, nulls := dm.update()
+ ds.Labels = labels
+ ds.ForceSendFields = append(ds.ForceSendFields, forces...)
+ ds.NullFields = append(ds.NullFields, nulls...)
+ return ds, nil
+}
+
+// Table creates a handle to a BigQuery table in the dataset.
+// To determine if a table exists, call Table.Metadata.
+// If the table does not already exist, use Table.Create to create it.
+func (d *Dataset) Table(tableID string) *Table {
+ return &Table{ProjectID: d.ProjectID, DatasetID: d.DatasetID, TableID: tableID, c: d.c}
+}
+
+// Tables returns an iterator over the tables in the Dataset.
+func (d *Dataset) Tables(ctx context.Context) *TableIterator {
+ it := &TableIterator{
+ ctx: ctx,
+ dataset: d,
+ }
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(
+ it.fetch,
+ func() int { return len(it.tables) },
+ func() interface{} { b := it.tables; it.tables = nil; return b })
+ return it
+}
+
+// A TableIterator is an iterator over Tables.
+type TableIterator struct {
+ ctx context.Context
+ dataset *Dataset
+ tables []*Table
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+}
+
+// Next returns the next result. Its second return value is Done if there are
+// no more results. Once Next returns Done, all subsequent calls will return
+// Done.
+func (it *TableIterator) Next() (*Table, error) {
+ if err := it.nextFunc(); err != nil {
+ return nil, err
+ }
+ t := it.tables[0]
+ it.tables = it.tables[1:]
+ return t, nil
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *TableIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }
+
+// listTables exists to aid testing.
+var listTables = func(it *TableIterator, pageSize int, pageToken string) (*bq.TableList, error) {
+ call := it.dataset.c.bqs.Tables.List(it.dataset.ProjectID, it.dataset.DatasetID).
+ PageToken(pageToken).
+ Context(it.ctx)
+ setClientHeader(call.Header())
+ if pageSize > 0 {
+ call.MaxResults(int64(pageSize))
+ }
+ var res *bq.TableList
+ err := runWithRetry(it.ctx, func() (err error) {
+ sCtx := trace.StartSpan(it.ctx, "bigquery.tables.list")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+ return res, err
+}
+
+func (it *TableIterator) fetch(pageSize int, pageToken string) (string, error) {
+ res, err := listTables(it, pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ for _, t := range res.Tables {
+ it.tables = append(it.tables, bqToTable(t.TableReference, it.dataset.c))
+ }
+ return res.NextPageToken, nil
+}
+
+func bqToTable(tr *bq.TableReference, c *Client) *Table {
+ if tr == nil {
+ return nil
+ }
+ return &Table{
+ ProjectID: tr.ProjectId,
+ DatasetID: tr.DatasetId,
+ TableID: tr.TableId,
+ c: c,
+ }
+}
+
+// Model creates a handle to a BigQuery model in the dataset.
+// To determine if a model exists, call Model.Metadata.
+// If the model does not already exist, you can create it via execution
+// of a CREATE MODEL query.
+func (d *Dataset) Model(modelID string) *Model {
+ return &Model{ProjectID: d.ProjectID, DatasetID: d.DatasetID, ModelID: modelID, c: d.c}
+}
+
+// Models returns an iterator over the models in the Dataset.
+func (d *Dataset) Models(ctx context.Context) *ModelIterator {
+ it := &ModelIterator{
+ ctx: ctx,
+ dataset: d,
+ }
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(
+ it.fetch,
+ func() int { return len(it.models) },
+ func() interface{} { b := it.models; it.models = nil; return b })
+ return it
+}
+
+// A ModelIterator is an iterator over Models.
+type ModelIterator struct {
+ ctx context.Context
+ dataset *Dataset
+ models []*Model
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+}
+
+// Next returns the next result. Its second return value is Done if there are
+// no more results. Once Next returns Done, all subsequent calls will return
+// Done.
+func (it *ModelIterator) Next() (*Model, error) {
+ if err := it.nextFunc(); err != nil {
+ return nil, err
+ }
+ t := it.models[0]
+ it.models = it.models[1:]
+ return t, nil
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *ModelIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }
+
+// listTables exists to aid testing.
+var listModels = func(it *ModelIterator, pageSize int, pageToken string) (*bq.ListModelsResponse, error) {
+ call := it.dataset.c.bqs.Models.List(it.dataset.ProjectID, it.dataset.DatasetID).
+ PageToken(pageToken).
+ Context(it.ctx)
+ setClientHeader(call.Header())
+ if pageSize > 0 {
+ call.MaxResults(int64(pageSize))
+ }
+ var res *bq.ListModelsResponse
+ err := runWithRetry(it.ctx, func() (err error) {
+ sCtx := trace.StartSpan(it.ctx, "bigquery.models.list")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+ return res, err
+}
+
+func (it *ModelIterator) fetch(pageSize int, pageToken string) (string, error) {
+ res, err := listModels(it, pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ for _, t := range res.Models {
+ it.models = append(it.models, bqToModel(t.ModelReference, it.dataset.c))
+ }
+ return res.NextPageToken, nil
+}
+
+func bqToModel(mr *bq.ModelReference, c *Client) *Model {
+ if mr == nil {
+ return nil
+ }
+ return &Model{
+ ProjectID: mr.ProjectId,
+ DatasetID: mr.DatasetId,
+ ModelID: mr.ModelId,
+ c: c,
+ }
+}
+
+// Routine creates a handle to a BigQuery routine in the dataset.
+// To determine if a routine exists, call Routine.Metadata.
+func (d *Dataset) Routine(routineID string) *Routine {
+ return &Routine{
+ ProjectID: d.ProjectID,
+ DatasetID: d.DatasetID,
+ RoutineID: routineID,
+ c: d.c}
+}
+
+// Routines returns an iterator over the routines in the Dataset.
+func (d *Dataset) Routines(ctx context.Context) *RoutineIterator {
+ it := &RoutineIterator{
+ ctx: ctx,
+ dataset: d,
+ }
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(
+ it.fetch,
+ func() int { return len(it.routines) },
+ func() interface{} { b := it.routines; it.routines = nil; return b })
+ return it
+}
+
+// A RoutineIterator is an iterator over Routines.
+type RoutineIterator struct {
+ ctx context.Context
+ dataset *Dataset
+ routines []*Routine
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+}
+
+// Next returns the next result. Its second return value is Done if there are
+// no more results. Once Next returns Done, all subsequent calls will return
+// Done.
+func (it *RoutineIterator) Next() (*Routine, error) {
+ if err := it.nextFunc(); err != nil {
+ return nil, err
+ }
+ t := it.routines[0]
+ it.routines = it.routines[1:]
+ return t, nil
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *RoutineIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }
+
+// listRoutines exists to aid testing.
+var listRoutines = func(it *RoutineIterator, pageSize int, pageToken string) (*bq.ListRoutinesResponse, error) {
+ call := it.dataset.c.bqs.Routines.List(it.dataset.ProjectID, it.dataset.DatasetID).
+ PageToken(pageToken).
+ Context(it.ctx)
+ setClientHeader(call.Header())
+ if pageSize > 0 {
+ call.MaxResults(int64(pageSize))
+ }
+ var res *bq.ListRoutinesResponse
+ err := runWithRetry(it.ctx, func() (err error) {
+ sCtx := trace.StartSpan(it.ctx, "bigquery.routines.list")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+ return res, err
+}
+
+func (it *RoutineIterator) fetch(pageSize int, pageToken string) (string, error) {
+ res, err := listRoutines(it, pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ for _, t := range res.Routines {
+ it.routines = append(it.routines, bqToRoutine(t.RoutineReference, it.dataset.c))
+ }
+ return res.NextPageToken, nil
+}
+
+func bqToRoutine(mr *bq.RoutineReference, c *Client) *Routine {
+ if mr == nil {
+ return nil
+ }
+ return &Routine{
+ ProjectID: mr.ProjectId,
+ DatasetID: mr.DatasetId,
+ RoutineID: mr.RoutineId,
+ c: c,
+ }
+}
+
+// Datasets returns an iterator over the datasets in a project.
+// The Client's project is used by default, but that can be
+// changed by setting ProjectID on the returned iterator before calling Next.
+func (c *Client) Datasets(ctx context.Context) *DatasetIterator {
+ return c.DatasetsInProject(ctx, c.projectID)
+}
+
+// DatasetsInProject returns an iterator over the datasets in the provided project.
+//
+// Deprecated: call Client.Datasets, then set ProjectID on the returned iterator.
+func (c *Client) DatasetsInProject(ctx context.Context, projectID string) *DatasetIterator {
+ it := &DatasetIterator{
+ ctx: ctx,
+ c: c,
+ ProjectID: projectID,
+ }
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(
+ it.fetch,
+ func() int { return len(it.items) },
+ func() interface{} { b := it.items; it.items = nil; return b })
+ return it
+}
+
+// DatasetIterator iterates over the datasets in a project.
+type DatasetIterator struct {
+ // ListHidden causes hidden datasets to be listed when set to true.
+ // Set before the first call to Next.
+ ListHidden bool
+
+ // Filter restricts the datasets returned by label. The filter syntax is described in
+ // https://cloud.google.com/bigquery/docs/labeling-datasets#filtering_datasets_using_labels
+ // Set before the first call to Next.
+ Filter string
+
+ // The project ID of the listed datasets.
+ // Set before the first call to Next.
+ ProjectID string
+
+ ctx context.Context
+ c *Client
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+ items []*Dataset
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *DatasetIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }
+
+// Next returns the next Dataset. Its second return value is iterator.Done if
+// there are no more results. Once Next returns Done, all subsequent calls will
+// return Done.
+func (it *DatasetIterator) Next() (*Dataset, error) {
+ if err := it.nextFunc(); err != nil {
+ return nil, err
+ }
+ item := it.items[0]
+ it.items = it.items[1:]
+ return item, nil
+}
+
+// for testing
+var listDatasets = func(it *DatasetIterator, pageSize int, pageToken string) (*bq.DatasetList, error) {
+ call := it.c.bqs.Datasets.List(it.ProjectID).
+ Context(it.ctx).
+ PageToken(pageToken).
+ All(it.ListHidden)
+ setClientHeader(call.Header())
+ if pageSize > 0 {
+ call.MaxResults(int64(pageSize))
+ }
+ if it.Filter != "" {
+ call.Filter(it.Filter)
+ }
+ var res *bq.DatasetList
+ err := runWithRetry(it.ctx, func() (err error) {
+ sCtx := trace.StartSpan(it.ctx, "bigquery.datasets.list")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+ return res, err
+}
+
+func (it *DatasetIterator) fetch(pageSize int, pageToken string) (string, error) {
+ res, err := listDatasets(it, pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ for _, d := range res.Datasets {
+ it.items = append(it.items, &Dataset{
+ ProjectID: d.DatasetReference.ProjectId,
+ DatasetID: d.DatasetReference.DatasetId,
+ c: it.c,
+ })
+ }
+ return res.NextPageToken, nil
+}
+
+// An AccessEntry describes the permissions that an entity has on a dataset.
+type AccessEntry struct {
+ Role AccessRole // The role of the entity
+ EntityType EntityType // The type of entity
+ Entity string // The entity (individual or group) granted access
+ View *Table // The view granted access (EntityType must be ViewEntity)
+ Routine *Routine // The routine granted access (only UDF currently supported)
+ Dataset *DatasetAccessEntry // The resources within a dataset granted access.
+}
+
+// AccessRole is the level of access to grant to a dataset.
+type AccessRole string
+
+const (
+ // OwnerRole is the OWNER AccessRole.
+ OwnerRole AccessRole = "OWNER"
+ // ReaderRole is the READER AccessRole.
+ ReaderRole AccessRole = "READER"
+ // WriterRole is the WRITER AccessRole.
+ WriterRole AccessRole = "WRITER"
+)
+
+// EntityType is the type of entity in an AccessEntry.
+type EntityType int
+
+const (
+ // DomainEntity is a domain (e.g. "example.com").
+ DomainEntity EntityType = iota + 1
+
+ // GroupEmailEntity is an email address of a Google Group.
+ GroupEmailEntity
+
+ // UserEmailEntity is an email address of an individual user.
+ UserEmailEntity
+
+ // SpecialGroupEntity is a special group: one of projectOwners, projectReaders, projectWriters or
+ // allAuthenticatedUsers.
+ SpecialGroupEntity
+
+ // ViewEntity is a BigQuery logical view.
+ ViewEntity
+
+ // IAMMemberEntity represents entities present in IAM but not represented using
+ // the other entity types.
+ IAMMemberEntity
+
+ // RoutineEntity is a BigQuery routine, referencing a User Defined Function (UDF).
+ RoutineEntity
+
+ // DatasetEntity is BigQuery dataset, present in the access list.
+ DatasetEntity
+)
+
+func (e *AccessEntry) toBQ() (*bq.DatasetAccess, error) {
+ q := &bq.DatasetAccess{Role: string(e.Role)}
+ switch e.EntityType {
+ case DomainEntity:
+ q.Domain = e.Entity
+ case GroupEmailEntity:
+ q.GroupByEmail = e.Entity
+ case UserEmailEntity:
+ q.UserByEmail = e.Entity
+ case SpecialGroupEntity:
+ q.SpecialGroup = e.Entity
+ case ViewEntity:
+ q.View = e.View.toBQ()
+ case IAMMemberEntity:
+ q.IamMember = e.Entity
+ case RoutineEntity:
+ q.Routine = e.Routine.toBQ()
+ case DatasetEntity:
+ q.Dataset = e.Dataset.toBQ()
+ default:
+ return nil, fmt.Errorf("bigquery: unknown entity type %d", e.EntityType)
+ }
+ return q, nil
+}
+
+func bqToAccessEntry(q *bq.DatasetAccess, c *Client) (*AccessEntry, error) {
+ e := &AccessEntry{Role: AccessRole(q.Role)}
+ switch {
+ case q.Domain != "":
+ e.Entity = q.Domain
+ e.EntityType = DomainEntity
+ case q.GroupByEmail != "":
+ e.Entity = q.GroupByEmail
+ e.EntityType = GroupEmailEntity
+ case q.UserByEmail != "":
+ e.Entity = q.UserByEmail
+ e.EntityType = UserEmailEntity
+ case q.SpecialGroup != "":
+ e.Entity = q.SpecialGroup
+ e.EntityType = SpecialGroupEntity
+ case q.View != nil:
+ e.View = c.DatasetInProject(q.View.ProjectId, q.View.DatasetId).Table(q.View.TableId)
+ e.EntityType = ViewEntity
+ case q.IamMember != "":
+ e.Entity = q.IamMember
+ e.EntityType = IAMMemberEntity
+ case q.Routine != nil:
+ e.Routine = c.DatasetInProject(q.Routine.ProjectId, q.Routine.DatasetId).Routine(q.Routine.RoutineId)
+ e.EntityType = RoutineEntity
+ case q.Dataset != nil:
+ e.Dataset = bqToDatasetAccessEntry(q.Dataset, c)
+ e.EntityType = DatasetEntity
+ default:
+ return nil, errors.New("bigquery: invalid access value")
+ }
+ return e, nil
+}
+
+// DatasetAccessEntry is an access entry that refers to resources within
+// another dataset.
+type DatasetAccessEntry struct {
+ // The dataset to which this entry applies.
+ Dataset *Dataset
+ // The list of target types within the dataset
+ // to which this entry applies.
+ //
+ // Current supported values:
+ //
+ // VIEWS - This entry applies to views in the dataset.
+ TargetTypes []string
+}
+
+func (dae *DatasetAccessEntry) toBQ() *bq.DatasetAccessEntry {
+ if dae == nil {
+ return nil
+ }
+ return &bq.DatasetAccessEntry{
+ Dataset: &bq.DatasetReference{
+ ProjectId: dae.Dataset.ProjectID,
+ DatasetId: dae.Dataset.DatasetID,
+ },
+ TargetTypes: dae.TargetTypes,
+ }
+}
+
+func bqToDatasetAccessEntry(entry *bq.DatasetAccessEntry, c *Client) *DatasetAccessEntry {
+ if entry == nil {
+ return nil
+ }
+ return &DatasetAccessEntry{
+ Dataset: c.DatasetInProject(entry.Dataset.ProjectId, entry.Dataset.DatasetId),
+ TargetTypes: entry.TargetTypes,
+ }
+}
+
+// ExternalDatasetReference provides information about external dataset metadata.
+type ExternalDatasetReference struct {
+ //The connection id that is used to access the external_source.
+ // Format: projects/{project_id}/locations/{location_id}/connections/{connection_id}
+ Connection string
+
+ // External source that backs this dataset.
+ ExternalSource string
+}
+
+func bqToExternalDatasetReference(bq *bq.ExternalDatasetReference) *ExternalDatasetReference {
+ if bq == nil {
+ return nil
+ }
+ return &ExternalDatasetReference{
+ Connection: bq.Connection,
+ ExternalSource: bq.ExternalSource,
+ }
+}
+
+func (edr *ExternalDatasetReference) toBQ() *bq.ExternalDatasetReference {
+ if edr == nil {
+ return nil
+ }
+ return &bq.ExternalDatasetReference{
+ Connection: edr.Connection,
+ ExternalSource: edr.ExternalSource,
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/doc.go b/vendor/cloud.google.com/go/bigquery/doc.go
new file mode 100644
index 000000000..37d116a31
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/doc.go
@@ -0,0 +1,321 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*
+Package bigquery provides a client for the BigQuery service.
+
+The following assumes a basic familiarity with BigQuery concepts.
+See https://cloud.google.com/bigquery/docs.
+
+See https://godoc.org/cloud.google.com/go for authentication, timeouts,
+connection pooling and similar aspects of this package.
+
+# Creating a Client
+
+To start working with this package, create a client:
+
+ ctx := context.Background()
+ client, err := bigquery.NewClient(ctx, projectID)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+# Querying
+
+To query existing tables, create a Query and call its Read method, which starts the
+query and waits for it to complete:
+
+ q := client.Query(`
+ SELECT year, SUM(number) as num
+ FROM bigquery-public-data.usa_names.usa_1910_2013
+ WHERE name = @name
+ GROUP BY year
+ ORDER BY year
+ `)
+ q.Parameters = []bigquery.QueryParameter{
+ {Name: "name", Value: "William"},
+ }
+ it, err := q.Read(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+Then iterate through the resulting rows. You can store a row using
+anything that implements the ValueLoader interface, or with a slice or map of bigquery.Value.
+A slice is simplest:
+
+ for {
+ var values []bigquery.Value
+ err := it.Next(&values)
+ if err == iterator.Done {
+ break
+ }
+ if err != nil {
+ // TODO: Handle error.
+ }
+ fmt.Println(values)
+ }
+
+You can also use a struct whose exported fields match the query:
+
+ type Count struct {
+ Year int
+ Num int
+ }
+ for {
+ var c Count
+ err := it.Next(&c)
+ if err == iterator.Done {
+ break
+ }
+ if err != nil {
+ // TODO: Handle error.
+ }
+ fmt.Println(c)
+ }
+
+You can also start the query running and get the results later.
+Create the query as above, but call Run instead of Read. This returns a Job,
+which represents an asynchronous operation.
+
+ job, err := q.Run(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+Get the job's ID, a printable string. You can save this string to retrieve
+the results at a later time, even in another process.
+
+ jobID := job.ID()
+ fmt.Printf("The job ID is %s\n", jobID)
+
+To retrieve the job's results from the ID, first look up the Job:
+
+ job, err = client.JobFromID(ctx, jobID)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+Use the Job.Read method to obtain an iterator, and loop over the rows.
+Calling Query.Read is preferred for queries with a relatively small result set,
+as it will call BigQuery jobs.query API for a optimized query path. If the query
+doesn't meet that criteria, the method will just combine Query.Run and Job.Read.
+
+ it, err = job.Read(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+ // Proceed with iteration as above.
+
+# Datasets and Tables
+
+You can refer to datasets in the client's project with the Dataset method, and
+in other projects with the DatasetInProject method:
+
+ myDataset := client.Dataset("my_dataset")
+ yourDataset := client.DatasetInProject("your-project-id", "your_dataset")
+
+These methods create references to datasets, not the datasets themselves. You can have
+a dataset reference even if the dataset doesn't exist yet. Use Dataset.Create to
+create a dataset from a reference:
+
+ if err := myDataset.Create(ctx, nil); err != nil {
+ // TODO: Handle error.
+ }
+
+You can refer to tables with Dataset.Table. Like bigquery.Dataset, bigquery.Table is a reference
+to an object in BigQuery that may or may not exist.
+
+ table := myDataset.Table("my_table")
+
+You can create, delete and update the metadata of tables with methods on Table.
+For instance, you could create a temporary table with:
+
+ err = myDataset.Table("temp").Create(ctx, &bigquery.TableMetadata{
+ ExpirationTime: time.Now().Add(1*time.Hour)})
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+We'll see how to create a table with a schema in the next section.
+
+# Schemas
+
+There are two ways to construct schemas with this package.
+You can build a schema by hand, like so:
+
+ schema1 := bigquery.Schema{
+ {Name: "Name", Required: true, Type: bigquery.StringFieldType},
+ {Name: "Grades", Repeated: true, Type: bigquery.IntegerFieldType},
+ {Name: "Optional", Required: false, Type: bigquery.IntegerFieldType},
+ }
+
+Or you can infer the schema from a struct:
+
+ type student struct {
+ Name string
+ Grades []int
+ Optional bigquery.NullInt64
+ }
+ schema2, err := bigquery.InferSchema(student{})
+ if err != nil {
+ // TODO: Handle error.
+ }
+ // schema1 and schema2 are identical.
+
+Struct inference supports tags like those of the encoding/json package, so you can
+change names, ignore fields, or mark a field as nullable (non-required). Fields
+declared as one of the Null types (NullInt64, NullFloat64, NullString, NullBool,
+NullTimestamp, NullDate, NullTime, NullDateTime, and NullGeography) are
+automatically inferred as nullable, so the "nullable" tag is only needed for []byte,
+*big.Rat and pointer-to-struct fields.
+
+ type student2 struct {
+ Name string `bigquery:"full_name"`
+ Grades []int
+ Secret string `bigquery:"-"`
+ Optional []byte `bigquery:",nullable"`
+ }
+ schema3, err := bigquery.InferSchema(student2{})
+ if err != nil {
+ // TODO: Handle error.
+ }
+ // schema3 has required fields "full_name" and "Grade", and nullable BYTES field "Optional".
+
+Having constructed a schema, you can create a table with it like so:
+
+ if err := table.Create(ctx, &bigquery.TableMetadata{Schema: schema1}); err != nil {
+ // TODO: Handle error.
+ }
+
+# Copying
+
+You can copy one or more tables to another table. Begin by constructing a Copier
+describing the copy. Then set any desired copy options, and finally call Run to get a Job:
+
+ copier := myDataset.Table("dest").CopierFrom(myDataset.Table("src"))
+ copier.WriteDisposition = bigquery.WriteTruncate
+ job, err = copier.Run(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+You can chain the call to Run if you don't want to set options:
+
+ job, err = myDataset.Table("dest").CopierFrom(myDataset.Table("src")).Run(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+You can wait for your job to complete:
+
+ status, err := job.Wait(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+
+Job.Wait polls with exponential backoff. You can also poll yourself, if you
+wish:
+
+ for {
+ status, err := job.Status(ctx)
+ if err != nil {
+ // TODO: Handle error.
+ }
+ if status.Done() {
+ if status.Err() != nil {
+ log.Fatalf("Job failed with error %v", status.Err())
+ }
+ break
+ }
+ time.Sleep(pollInterval)
+ }
+
+# Loading and Uploading
+
+There are two ways to populate a table with this package: load the data from a Google Cloud Storage
+object, or upload rows directly from your program.
+
+For loading, first create a GCSReference, configuring it if desired. Then make a Loader, optionally configure
+it as well, and call its Run method.
+
+ gcsRef := bigquery.NewGCSReference("gs://my-bucket/my-object")
+ gcsRef.AllowJaggedRows = true
+ loader := myDataset.Table("dest").LoaderFrom(gcsRef)
+ loader.CreateDisposition = bigquery.CreateNever
+ job, err = loader.Run(ctx)
+ // Poll the job for completion if desired, as above.
+
+To upload, first define a type that implements the ValueSaver interface, which has a single method named Save.
+Then create an Inserter, and call its Put method with a slice of values.
+
+ u := table.Inserter()
+ // Item implements the ValueSaver interface.
+ items := []*Item{
+ {Name: "n1", Size: 32.6, Count: 7},
+ {Name: "n2", Size: 4, Count: 2},
+ {Name: "n3", Size: 101.5, Count: 1},
+ }
+ if err := u.Put(ctx, items); err != nil {
+ // TODO: Handle error.
+ }
+
+You can also upload a struct that doesn't implement ValueSaver. Use the StructSaver type
+to specify the schema and insert ID by hand, or just supply the struct or struct pointer
+directly and the schema will be inferred:
+
+ type Item2 struct {
+ Name string
+ Size float64
+ Count int
+ }
+ // Item implements the ValueSaver interface.
+ items2 := []*Item2{
+ {Name: "n1", Size: 32.6, Count: 7},
+ {Name: "n2", Size: 4, Count: 2},
+ {Name: "n3", Size: 101.5, Count: 1},
+ }
+ if err := u.Put(ctx, items2); err != nil {
+ // TODO: Handle error.
+ }
+
+BigQuery allows for higher throughput when omitting insertion IDs. To enable this,
+specify the sentinel `NoDedupeID` value for the insertion ID when implementing a ValueSaver.
+
+# Extracting
+
+If you've been following so far, extracting data from a BigQuery table
+into a Google Cloud Storage object will feel familiar. First create an
+Extractor, then optionally configure it, and lastly call its Run method.
+
+ extractor := table.ExtractorTo(gcsRef)
+ extractor.DisableHeader = true
+ job, err = extractor.Run(ctx)
+ // Poll the job for completion if desired, as above.
+
+# Errors
+
+Errors returned by this client are often of the type googleapi.Error: https://godoc.org/google.golang.org/api/googleapi#Error
+
+These errors can be introspected for more information by using `xerrors.As` with the richer *googleapi.Error type. For example:
+
+ var e *googleapi.Error
+ if ok := xerrors.As(err, &e); ok {
+ if e.Code == 409 { ... }
+ }
+
+In some cases, your client may received unstructured googleapi.Error error responses. In such cases, it is likely that
+you have exceeded BigQuery request limits, documented at: https://cloud.google.com/bigquery/quotas
+*/
+package bigquery // import "cloud.google.com/go/bigquery"
diff --git a/vendor/cloud.google.com/go/bigquery/error.go b/vendor/cloud.google.com/go/bigquery/error.go
new file mode 100644
index 000000000..cab9b0083
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/error.go
@@ -0,0 +1,106 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "fmt"
+ "strings"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// An Error contains detailed information about a failed bigquery operation.
+// Detailed description of possible Reasons can be found here: https://cloud.google.com/bigquery/troubleshooting-errors.
+type Error struct {
+ // Mirrors bq.ErrorProto, but drops DebugInfo
+ Location, Message, Reason string
+}
+
+func (e Error) Error() string {
+ return fmt.Sprintf("{Location: %q; Message: %q; Reason: %q}", e.Location, e.Message, e.Reason)
+}
+
+func bqToError(ep *bq.ErrorProto) *Error {
+ if ep == nil {
+ return nil
+ }
+ return &Error{
+ Location: ep.Location,
+ Message: ep.Message,
+ Reason: ep.Reason,
+ }
+}
+
+// A MultiError contains multiple related errors.
+type MultiError []error
+
+func (m MultiError) Error() string {
+ switch len(m) {
+ case 0:
+ return "(0 errors)"
+ case 1:
+ return m[0].Error()
+ case 2:
+ return m[0].Error() + " (and 1 other error)"
+ }
+ return fmt.Sprintf("%s (and %d other errors)", m[0].Error(), len(m)-1)
+}
+
+// RowInsertionError contains all errors that occurred when attempting to insert a row.
+type RowInsertionError struct {
+ InsertID string // The InsertID associated with the affected row.
+ RowIndex int // The 0-based index of the affected row in the batch of rows being inserted.
+ Errors MultiError
+}
+
+func (e *RowInsertionError) Error() string {
+ errFmt := "insertion of row [insertID: %q; insertIndex: %v] failed with error: %s"
+ return fmt.Sprintf(errFmt, e.InsertID, e.RowIndex, e.Errors.Error())
+}
+
+// PutMultiError contains an error for each row which was not successfully inserted
+// into a BigQuery table.
+type PutMultiError []RowInsertionError
+
+func (pme PutMultiError) errorDetails() string {
+ size := len(pme)
+ ellipsis := ""
+ if size == 0 {
+ return ""
+ } else if size > 3 {
+ size = 3
+ ellipsis = ", ..."
+ }
+
+ es := make([]string, size)
+ for i, e := range pme {
+ if i >= size {
+ break
+ }
+ es[i] = e.Error()
+ }
+
+ return fmt.Sprintf(" (%s%s)", strings.Join(es, ", "), ellipsis)
+}
+
+func (pme PutMultiError) Error() string {
+ plural := "s"
+ if len(pme) == 1 {
+ plural = ""
+ }
+
+ details := pme.errorDetails()
+ return fmt.Sprintf("%v row insertion%s failed%s", len(pme), plural, details)
+}
diff --git a/vendor/cloud.google.com/go/bigquery/external.go b/vendor/cloud.google.com/go/bigquery/external.go
new file mode 100644
index 000000000..97761f6b3
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/external.go
@@ -0,0 +1,576 @@
+// Copyright 2017 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "encoding/base64"
+ "unicode/utf8"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// DataFormat describes the format of BigQuery table data.
+type DataFormat string
+
+// Constants describing the format of BigQuery table data.
+const (
+ CSV DataFormat = "CSV"
+ Avro DataFormat = "AVRO"
+ JSON DataFormat = "NEWLINE_DELIMITED_JSON"
+ DatastoreBackup DataFormat = "DATASTORE_BACKUP"
+ GoogleSheets DataFormat = "GOOGLE_SHEETS"
+ Bigtable DataFormat = "BIGTABLE"
+ Parquet DataFormat = "PARQUET"
+ ORC DataFormat = "ORC"
+ // For BQ ML Models, TensorFlow Saved Model format.
+ TFSavedModel DataFormat = "ML_TF_SAVED_MODEL"
+ // For BQ ML Models, xgBoost Booster format.
+ XGBoostBooster DataFormat = "ML_XGBOOST_BOOSTER"
+ Iceberg DataFormat = "ICEBERG"
+)
+
+// ExternalData is a table which is stored outside of BigQuery. It is implemented by
+// *ExternalDataConfig.
+// GCSReference also implements it, for backwards compatibility.
+type ExternalData interface {
+ toBQ() bq.ExternalDataConfiguration
+}
+
+// ExternalDataConfig describes data external to BigQuery that can be used
+// in queries and to create external tables.
+type ExternalDataConfig struct {
+ // The format of the data. Required.
+ SourceFormat DataFormat
+
+ // The fully-qualified URIs that point to your
+ // data in Google Cloud. Required.
+ //
+ // For Google Cloud Storage URIs, each URI can contain one '*' wildcard character
+ // and it must come after the 'bucket' name. Size limits related to load jobs
+ // apply to external data sources.
+ //
+ // For Google Cloud Bigtable URIs, exactly one URI can be specified and it has be
+ // a fully specified and valid HTTPS URL for a Google Cloud Bigtable table.
+ //
+ // For Google Cloud Datastore backups, exactly one URI can be specified. Also,
+ // the '*' wildcard character is not allowed.
+ SourceURIs []string
+
+ // The schema of the data. Required for CSV and JSON; disallowed for the
+ // other formats.
+ Schema Schema
+
+ // Try to detect schema and format options automatically.
+ // Any option specified explicitly will be honored.
+ AutoDetect bool
+
+ // The compression type of the data.
+ Compression Compression
+
+ // IgnoreUnknownValues causes values not matching the schema to be
+ // tolerated. Unknown values are ignored. For CSV this ignores extra values
+ // at the end of a line. For JSON this ignores named values that do not
+ // match any column name. If this field is not set, records containing
+ // unknown values are treated as bad records. The MaxBadRecords field can
+ // be used to customize how bad records are handled.
+ IgnoreUnknownValues bool
+
+ // MaxBadRecords is the maximum number of bad records that will be ignored
+ // when reading data.
+ MaxBadRecords int64
+
+ // Additional options for CSV, GoogleSheets, Bigtable, and Parquet formats.
+ Options ExternalDataConfigOptions
+
+ // HivePartitioningOptions allows use of Hive partitioning based on the
+ // layout of objects in Google Cloud Storage.
+ HivePartitioningOptions *HivePartitioningOptions
+
+ // DecimalTargetTypes allows selection of how decimal values are converted when
+ // processed in bigquery, subject to the value type having sufficient precision/scale
+ // to support the values. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is
+ // selected if is present in the list and if supports the necessary precision and scale.
+ //
+ // StringTargetType supports all precision and scale values.
+ DecimalTargetTypes []DecimalTargetType
+
+ // ConnectionID associates an external data configuration with a connection ID.
+ // Connections are managed through the BigQuery Connection API:
+ // https://pkg.go.dev/cloud.google.com/go/bigquery/connection/apiv1
+ ConnectionID string
+
+ // When creating an external table, the user can provide a reference file with the table schema.
+ // This is enabled for the following formats: AVRO, PARQUET, ORC.
+ ReferenceFileSchemaURI string
+}
+
+func (e *ExternalDataConfig) toBQ() bq.ExternalDataConfiguration {
+ q := bq.ExternalDataConfiguration{
+ SourceFormat: string(e.SourceFormat),
+ SourceUris: e.SourceURIs,
+ Autodetect: e.AutoDetect,
+ Compression: string(e.Compression),
+ IgnoreUnknownValues: e.IgnoreUnknownValues,
+ MaxBadRecords: e.MaxBadRecords,
+ HivePartitioningOptions: e.HivePartitioningOptions.toBQ(),
+ ConnectionId: e.ConnectionID,
+ ReferenceFileSchemaUri: e.ReferenceFileSchemaURI,
+ }
+ if e.Schema != nil {
+ q.Schema = e.Schema.toBQ()
+ }
+ if e.Options != nil {
+ e.Options.populateExternalDataConfig(&q)
+ }
+ for _, v := range e.DecimalTargetTypes {
+ q.DecimalTargetTypes = append(q.DecimalTargetTypes, string(v))
+ }
+ return q
+}
+
+func bqToExternalDataConfig(q *bq.ExternalDataConfiguration) (*ExternalDataConfig, error) {
+ e := &ExternalDataConfig{
+ SourceFormat: DataFormat(q.SourceFormat),
+ SourceURIs: q.SourceUris,
+ AutoDetect: q.Autodetect,
+ Compression: Compression(q.Compression),
+ IgnoreUnknownValues: q.IgnoreUnknownValues,
+ MaxBadRecords: q.MaxBadRecords,
+ Schema: bqToSchema(q.Schema),
+ HivePartitioningOptions: bqToHivePartitioningOptions(q.HivePartitioningOptions),
+ ConnectionID: q.ConnectionId,
+ ReferenceFileSchemaURI: q.ReferenceFileSchemaUri,
+ }
+ for _, v := range q.DecimalTargetTypes {
+ e.DecimalTargetTypes = append(e.DecimalTargetTypes, DecimalTargetType(v))
+ }
+ switch {
+ case q.AvroOptions != nil:
+ e.Options = bqToAvroOptions(q.AvroOptions)
+ case q.CsvOptions != nil:
+ e.Options = bqToCSVOptions(q.CsvOptions)
+ case q.GoogleSheetsOptions != nil:
+ e.Options = bqToGoogleSheetsOptions(q.GoogleSheetsOptions)
+ case q.BigtableOptions != nil:
+ var err error
+ e.Options, err = bqToBigtableOptions(q.BigtableOptions)
+ if err != nil {
+ return nil, err
+ }
+ case q.ParquetOptions != nil:
+ e.Options = bqToParquetOptions(q.ParquetOptions)
+ }
+ return e, nil
+}
+
+// ExternalDataConfigOptions are additional options for external data configurations.
+// This interface is implemented by CSVOptions, GoogleSheetsOptions and BigtableOptions.
+type ExternalDataConfigOptions interface {
+ populateExternalDataConfig(*bq.ExternalDataConfiguration)
+}
+
+// AvroOptions are additional options for Avro external data data sources.
+type AvroOptions struct {
+ // UseAvroLogicalTypes indicates whether to interpret logical types as the
+ // corresponding BigQuery data type (for example, TIMESTAMP), instead of using
+ // the raw type (for example, INTEGER).
+ UseAvroLogicalTypes bool
+}
+
+func (o *AvroOptions) populateExternalDataConfig(c *bq.ExternalDataConfiguration) {
+ c.AvroOptions = &bq.AvroOptions{
+ UseAvroLogicalTypes: o.UseAvroLogicalTypes,
+ }
+}
+
+func bqToAvroOptions(q *bq.AvroOptions) *AvroOptions {
+ if q == nil {
+ return nil
+ }
+ return &AvroOptions{
+ UseAvroLogicalTypes: q.UseAvroLogicalTypes,
+ }
+}
+
+// CSVOptions are additional options for CSV external data sources.
+type CSVOptions struct {
+ // AllowJaggedRows causes missing trailing optional columns to be tolerated
+ // when reading CSV data. Missing values are treated as nulls.
+ AllowJaggedRows bool
+
+ // AllowQuotedNewlines sets whether quoted data sections containing
+ // newlines are allowed when reading CSV data.
+ AllowQuotedNewlines bool
+
+ // Encoding is the character encoding of data to be read.
+ Encoding Encoding
+
+ // FieldDelimiter is the separator for fields in a CSV file, used when
+ // reading or exporting data. The default is ",".
+ FieldDelimiter string
+
+ // Quote is the value used to quote data sections in a CSV file. The
+ // default quotation character is the double quote ("), which is used if
+ // both Quote and ForceZeroQuote are unset.
+ // To specify that no character should be interpreted as a quotation
+ // character, set ForceZeroQuote to true.
+ // Only used when reading data.
+ Quote string
+ ForceZeroQuote bool
+
+ // The number of rows at the top of a CSV file that BigQuery will skip when
+ // reading data.
+ SkipLeadingRows int64
+
+ // An optional custom string that will represent a NULL
+ // value in CSV import data.
+ NullMarker string
+
+ // Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table,
+ // from '\\x00' to '\\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats.
+ PreserveASCIIControlCharacters bool
+}
+
+func (o *CSVOptions) populateExternalDataConfig(c *bq.ExternalDataConfiguration) {
+ c.CsvOptions = &bq.CsvOptions{
+ AllowJaggedRows: o.AllowJaggedRows,
+ AllowQuotedNewlines: o.AllowQuotedNewlines,
+ Encoding: string(o.Encoding),
+ FieldDelimiter: o.FieldDelimiter,
+ Quote: o.quote(),
+ SkipLeadingRows: o.SkipLeadingRows,
+ NullMarker: o.NullMarker,
+ PreserveAsciiControlCharacters: o.PreserveASCIIControlCharacters,
+ }
+}
+
+// quote returns the CSV quote character, or nil if unset.
+func (o *CSVOptions) quote() *string {
+ if o.ForceZeroQuote {
+ quote := ""
+ return &quote
+ }
+ if o.Quote == "" {
+ return nil
+ }
+ return &o.Quote
+}
+
+func (o *CSVOptions) setQuote(ps *string) {
+ if ps != nil {
+ o.Quote = *ps
+ if o.Quote == "" {
+ o.ForceZeroQuote = true
+ }
+ }
+}
+
+func bqToCSVOptions(q *bq.CsvOptions) *CSVOptions {
+ o := &CSVOptions{
+ AllowJaggedRows: q.AllowJaggedRows,
+ AllowQuotedNewlines: q.AllowQuotedNewlines,
+ Encoding: Encoding(q.Encoding),
+ FieldDelimiter: q.FieldDelimiter,
+ SkipLeadingRows: q.SkipLeadingRows,
+ NullMarker: q.NullMarker,
+ PreserveASCIIControlCharacters: q.PreserveAsciiControlCharacters,
+ }
+ o.setQuote(q.Quote)
+ return o
+}
+
+// GoogleSheetsOptions are additional options for GoogleSheets external data sources.
+type GoogleSheetsOptions struct {
+ // The number of rows at the top of a sheet that BigQuery will skip when
+ // reading data.
+ SkipLeadingRows int64
+ // Optionally specifies a more specific range of cells to include.
+ // Typical format: sheet_name!top_left_cell_id:bottom_right_cell_id
+ //
+ // Example: sheet1!A1:B20
+ Range string
+}
+
+func (o *GoogleSheetsOptions) populateExternalDataConfig(c *bq.ExternalDataConfiguration) {
+ c.GoogleSheetsOptions = &bq.GoogleSheetsOptions{
+ SkipLeadingRows: o.SkipLeadingRows,
+ Range: o.Range,
+ }
+}
+
+func bqToGoogleSheetsOptions(q *bq.GoogleSheetsOptions) *GoogleSheetsOptions {
+ return &GoogleSheetsOptions{
+ SkipLeadingRows: q.SkipLeadingRows,
+ Range: q.Range,
+ }
+}
+
+// BigtableOptions are additional options for Bigtable external data sources.
+type BigtableOptions struct {
+ // A list of column families to expose in the table schema along with their
+ // types. If omitted, all column families are present in the table schema and
+ // their values are read as BYTES.
+ ColumnFamilies []*BigtableColumnFamily
+
+ // If true, then the column families that are not specified in columnFamilies
+ // list are not exposed in the table schema. Otherwise, they are read with BYTES
+ // type values. The default is false.
+ IgnoreUnspecifiedColumnFamilies bool
+
+ // If true, then the rowkey column families will be read and converted to string.
+ // Otherwise they are read with BYTES type values and users need to manually cast
+ // them with CAST if necessary. The default is false.
+ ReadRowkeyAsString bool
+}
+
+func (o *BigtableOptions) populateExternalDataConfig(c *bq.ExternalDataConfiguration) {
+ q := &bq.BigtableOptions{
+ IgnoreUnspecifiedColumnFamilies: o.IgnoreUnspecifiedColumnFamilies,
+ ReadRowkeyAsString: o.ReadRowkeyAsString,
+ }
+ for _, f := range o.ColumnFamilies {
+ q.ColumnFamilies = append(q.ColumnFamilies, f.toBQ())
+ }
+ c.BigtableOptions = q
+}
+
+func bqToBigtableOptions(q *bq.BigtableOptions) (*BigtableOptions, error) {
+ b := &BigtableOptions{
+ IgnoreUnspecifiedColumnFamilies: q.IgnoreUnspecifiedColumnFamilies,
+ ReadRowkeyAsString: q.ReadRowkeyAsString,
+ }
+ for _, f := range q.ColumnFamilies {
+ f2, err := bqToBigtableColumnFamily(f)
+ if err != nil {
+ return nil, err
+ }
+ b.ColumnFamilies = append(b.ColumnFamilies, f2)
+ }
+ return b, nil
+}
+
+// BigtableColumnFamily describes how BigQuery should access a Bigtable column family.
+type BigtableColumnFamily struct {
+ // Identifier of the column family.
+ FamilyID string
+
+ // Lists of columns that should be exposed as individual fields as opposed to a
+ // list of (column name, value) pairs. All columns whose qualifier matches a
+ // qualifier in this list can be accessed as .. Other columns can be accessed as
+ // a list through .Column field.
+ Columns []*BigtableColumn
+
+ // The encoding of the values when the type is not STRING. Acceptable encoding values are:
+ // - TEXT - indicates values are alphanumeric text strings.
+ // - BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions.
+ // This can be overridden for a specific column by listing that column in 'columns' and
+ // specifying an encoding for it.
+ Encoding string
+
+ // If true, only the latest version of values are exposed for all columns in this
+ // column family. This can be overridden for a specific column by listing that
+ // column in 'columns' and specifying a different setting for that column.
+ OnlyReadLatest bool
+
+ // The type to convert the value in cells of this
+ // column family. The values are expected to be encoded using HBase
+ // Bytes.toBytes function when using the BINARY encoding value.
+ // Following BigQuery types are allowed (case-sensitive):
+ // BYTES STRING INTEGER FLOAT BOOLEAN.
+ // The default type is BYTES. This can be overridden for a specific column by
+ // listing that column in 'columns' and specifying a type for it.
+ Type string
+}
+
+func (b *BigtableColumnFamily) toBQ() *bq.BigtableColumnFamily {
+ q := &bq.BigtableColumnFamily{
+ FamilyId: b.FamilyID,
+ Encoding: b.Encoding,
+ OnlyReadLatest: b.OnlyReadLatest,
+ Type: b.Type,
+ }
+ for _, col := range b.Columns {
+ q.Columns = append(q.Columns, col.toBQ())
+ }
+ return q
+}
+
+func bqToBigtableColumnFamily(q *bq.BigtableColumnFamily) (*BigtableColumnFamily, error) {
+ b := &BigtableColumnFamily{
+ FamilyID: q.FamilyId,
+ Encoding: q.Encoding,
+ OnlyReadLatest: q.OnlyReadLatest,
+ Type: q.Type,
+ }
+ for _, col := range q.Columns {
+ c, err := bqToBigtableColumn(col)
+ if err != nil {
+ return nil, err
+ }
+ b.Columns = append(b.Columns, c)
+ }
+ return b, nil
+}
+
+// BigtableColumn describes how BigQuery should access a Bigtable column.
+type BigtableColumn struct {
+ // Qualifier of the column. Columns in the parent column family that have this
+ // exact qualifier are exposed as . field. The column field name is the
+ // same as the column qualifier.
+ Qualifier string
+
+ // If the qualifier is not a valid BigQuery field identifier i.e. does not match
+ // [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field
+ // name and is used as field name in queries.
+ FieldName string
+
+ // If true, only the latest version of values are exposed for this column.
+ // See BigtableColumnFamily.OnlyReadLatest.
+ OnlyReadLatest bool
+
+ // The encoding of the values when the type is not STRING.
+ // See BigtableColumnFamily.Encoding
+ Encoding string
+
+ // The type to convert the value in cells of this column.
+ // See BigtableColumnFamily.Type
+ Type string
+}
+
+func (b *BigtableColumn) toBQ() *bq.BigtableColumn {
+ q := &bq.BigtableColumn{
+ FieldName: b.FieldName,
+ OnlyReadLatest: b.OnlyReadLatest,
+ Encoding: b.Encoding,
+ Type: b.Type,
+ }
+ if utf8.ValidString(b.Qualifier) {
+ q.QualifierString = b.Qualifier
+ } else {
+ q.QualifierEncoded = base64.RawStdEncoding.EncodeToString([]byte(b.Qualifier))
+ }
+ return q
+}
+
+func bqToBigtableColumn(q *bq.BigtableColumn) (*BigtableColumn, error) {
+ b := &BigtableColumn{
+ FieldName: q.FieldName,
+ OnlyReadLatest: q.OnlyReadLatest,
+ Encoding: q.Encoding,
+ Type: q.Type,
+ }
+ if q.QualifierString != "" {
+ b.Qualifier = q.QualifierString
+ } else {
+ bytes, err := base64.RawStdEncoding.DecodeString(q.QualifierEncoded)
+ if err != nil {
+ return nil, err
+ }
+ b.Qualifier = string(bytes)
+ }
+ return b, nil
+}
+
+// ParquetOptions are additional options for Parquet external data sources.
+type ParquetOptions struct {
+ // EnumAsString indicates whether to infer Parquet ENUM logical type as
+ // STRING instead of BYTES by default.
+ EnumAsString bool
+
+ // EnableListInference indicates whether to use schema inference
+ // specifically for Parquet LIST logical type.
+ EnableListInference bool
+}
+
+func (o *ParquetOptions) populateExternalDataConfig(c *bq.ExternalDataConfiguration) {
+ if o != nil {
+ c.ParquetOptions = &bq.ParquetOptions{
+ EnumAsString: o.EnumAsString,
+ EnableListInference: o.EnableListInference,
+ }
+ }
+}
+
+func bqToParquetOptions(q *bq.ParquetOptions) *ParquetOptions {
+ if q == nil {
+ return nil
+ }
+ return &ParquetOptions{
+ EnumAsString: q.EnumAsString,
+ EnableListInference: q.EnableListInference,
+ }
+}
+
+// HivePartitioningMode is used in conjunction with HivePartitioningOptions.
+type HivePartitioningMode string
+
+const (
+ // AutoHivePartitioningMode automatically infers partitioning key and types.
+ AutoHivePartitioningMode HivePartitioningMode = "AUTO"
+ // StringHivePartitioningMode automatically infers partitioning keys and treats values as string.
+ StringHivePartitioningMode HivePartitioningMode = "STRINGS"
+ // CustomHivePartitioningMode allows custom definition of the external partitioning.
+ CustomHivePartitioningMode HivePartitioningMode = "CUSTOM"
+)
+
+// HivePartitioningOptions defines the behavior of Hive partitioning
+// when working with external data.
+type HivePartitioningOptions struct {
+
+ // Mode defines which hive partitioning mode to use when reading data.
+ Mode HivePartitioningMode
+
+ // When hive partition detection is requested, a common prefix for
+ // all source uris should be supplied. The prefix must end immediately
+ // before the partition key encoding begins.
+ //
+ // For example, consider files following this data layout.
+ // gs://bucket/path_to_table/dt=2019-01-01/country=BR/id=7/file.avro
+ // gs://bucket/path_to_table/dt=2018-12-31/country=CA/id=3/file.avro
+ //
+ // When hive partitioning is requested with either AUTO or STRINGS
+ // detection, the common prefix can be either of
+ // gs://bucket/path_to_table or gs://bucket/path_to_table/ (trailing
+ // slash does not matter).
+ SourceURIPrefix string
+
+ // If set to true, queries against this external table require
+ // a partition filter to be present that can perform partition
+ // elimination. Hive-partitioned load jobs with this field
+ // set to true will fail.
+ RequirePartitionFilter bool
+}
+
+func (o *HivePartitioningOptions) toBQ() *bq.HivePartitioningOptions {
+ if o == nil {
+ return nil
+ }
+ return &bq.HivePartitioningOptions{
+ Mode: string(o.Mode),
+ SourceUriPrefix: o.SourceURIPrefix,
+ RequirePartitionFilter: o.RequirePartitionFilter,
+ }
+}
+
+func bqToHivePartitioningOptions(q *bq.HivePartitioningOptions) *HivePartitioningOptions {
+ if q == nil {
+ return nil
+ }
+ return &HivePartitioningOptions{
+ Mode: HivePartitioningMode(q.Mode),
+ SourceURIPrefix: q.SourceUriPrefix,
+ RequirePartitionFilter: q.RequirePartitionFilter,
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/extract.go b/vendor/cloud.google.com/go/bigquery/extract.go
new file mode 100644
index 000000000..ee4cbc495
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/extract.go
@@ -0,0 +1,158 @@
+// Copyright 2016 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "time"
+
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// ExtractConfig holds the configuration for an extract job.
+type ExtractConfig struct {
+ // Src is the table from which data will be extracted.
+ // Only one of Src or SrcModel should be specified.
+ Src *Table
+
+ // SrcModel is the ML model from which the data will be extracted.
+ // Only one of Src or SrcModel should be specified.
+ SrcModel *Model
+
+ // Dst is the destination into which the data will be extracted.
+ Dst *GCSReference
+
+ // DisableHeader disables the printing of a header row in exported data.
+ DisableHeader bool
+
+ // The labels associated with this job.
+ Labels map[string]string
+
+ // For Avro-based extracts, controls whether logical type annotations are generated.
+ //
+ // Example: With this enabled, writing a BigQuery TIMESTAMP column will result in
+ // an integer column annotated with the appropriate timestamp-micros/millis annotation
+ // in the resulting Avro files.
+ UseAvroLogicalTypes bool
+
+ // Sets a best-effort deadline on a specific job. If job execution exceeds this
+ // timeout, BigQuery may attempt to cancel this work automatically.
+ //
+ // This deadline cannot be adjusted or removed once the job is created. Consider
+ // using Job.Cancel in situations where you need more dynamic behavior.
+ //
+ // Experimental: this option is experimental and may be modified or removed in future versions,
+ // regardless of any other documented package stability guarantees.
+ JobTimeout time.Duration
+}
+
+func (e *ExtractConfig) toBQ() *bq.JobConfiguration {
+ var printHeader *bool
+ if e.DisableHeader {
+ f := false
+ printHeader = &f
+ }
+ cfg := &bq.JobConfiguration{
+ Labels: e.Labels,
+ Extract: &bq.JobConfigurationExtract{
+ DestinationUris: append([]string{}, e.Dst.URIs...),
+ Compression: string(e.Dst.Compression),
+ DestinationFormat: string(e.Dst.DestinationFormat),
+ FieldDelimiter: e.Dst.FieldDelimiter,
+
+ PrintHeader: printHeader,
+ UseAvroLogicalTypes: e.UseAvroLogicalTypes,
+ },
+ JobTimeoutMs: e.JobTimeout.Milliseconds(),
+ }
+ if e.Src != nil {
+ cfg.Extract.SourceTable = e.Src.toBQ()
+ }
+ if e.SrcModel != nil {
+ cfg.Extract.SourceModel = e.SrcModel.toBQ()
+ }
+ return cfg
+}
+
+func bqToExtractConfig(q *bq.JobConfiguration, c *Client) *ExtractConfig {
+ qe := q.Extract
+ return &ExtractConfig{
+ Labels: q.Labels,
+ Dst: &GCSReference{
+ URIs: qe.DestinationUris,
+ Compression: Compression(qe.Compression),
+ DestinationFormat: DataFormat(qe.DestinationFormat),
+ FileConfig: FileConfig{
+ CSVOptions: CSVOptions{
+ FieldDelimiter: qe.FieldDelimiter,
+ },
+ },
+ },
+ DisableHeader: qe.PrintHeader != nil && !*qe.PrintHeader,
+ Src: bqToTable(qe.SourceTable, c),
+ SrcModel: bqToModel(qe.SourceModel, c),
+ UseAvroLogicalTypes: qe.UseAvroLogicalTypes,
+ JobTimeout: time.Duration(q.JobTimeoutMs) * time.Millisecond,
+ }
+}
+
+// An Extractor extracts data from a BigQuery table into Google Cloud Storage.
+type Extractor struct {
+ JobIDConfig
+ ExtractConfig
+ c *Client
+}
+
+// ExtractorTo returns an Extractor which can be used to extract data from a
+// BigQuery table into Google Cloud Storage.
+// The returned Extractor may optionally be further configured before its Run method is called.
+func (t *Table) ExtractorTo(dst *GCSReference) *Extractor {
+ return &Extractor{
+ c: t.c,
+ ExtractConfig: ExtractConfig{
+ Src: t,
+ Dst: dst,
+ },
+ }
+}
+
+// ExtractorTo returns an Extractor which can be persist a BigQuery Model into
+// Google Cloud Storage.
+// The returned Extractor may be further configured before its Run method is called.
+func (m *Model) ExtractorTo(dst *GCSReference) *Extractor {
+ return &Extractor{
+ c: m.c,
+ ExtractConfig: ExtractConfig{
+ SrcModel: m,
+ Dst: dst,
+ },
+ }
+}
+
+// Run initiates an extract job.
+func (e *Extractor) Run(ctx context.Context) (j *Job, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Extractor.Run")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ return e.c.insertJob(ctx, e.newJob(), nil)
+}
+
+func (e *Extractor) newJob() *bq.Job {
+ return &bq.Job{
+ JobReference: e.JobIDConfig.createJobRef(e.c),
+ Configuration: e.ExtractConfig.toBQ(),
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/file.go b/vendor/cloud.google.com/go/bigquery/file.go
new file mode 100644
index 000000000..9afdbb535
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/file.go
@@ -0,0 +1,167 @@
+// Copyright 2016 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "io"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// A ReaderSource is a source for a load operation that gets
+// data from an io.Reader.
+//
+// When a ReaderSource is part of a LoadConfig obtained via Job.Config,
+// its internal io.Reader will be nil, so it cannot be used for a
+// subsequent load operation.
+type ReaderSource struct {
+ r io.Reader
+ FileConfig
+}
+
+// NewReaderSource creates a ReaderSource from an io.Reader. You may
+// optionally configure properties on the ReaderSource that describe the
+// data being read, before passing it to Table.LoaderFrom.
+func NewReaderSource(r io.Reader) *ReaderSource {
+ return &ReaderSource{r: r}
+}
+
+func (r *ReaderSource) populateLoadConfig(lc *bq.JobConfigurationLoad) io.Reader {
+ r.FileConfig.populateLoadConfig(lc)
+ return r.r
+}
+
+// FileConfig contains configuration options that pertain to files, typically
+// text files that require interpretation to be used as a BigQuery table. A
+// file may live in Google Cloud Storage (see GCSReference), or it may be
+// loaded into a table via the Table.LoaderFromReader.
+type FileConfig struct {
+ // SourceFormat is the format of the data to be read.
+ // Allowed values are: Avro, CSV, DatastoreBackup, JSON, ORC, and Parquet. The default is CSV.
+ SourceFormat DataFormat
+
+ // Indicates if we should automatically infer the options and
+ // schema for CSV and JSON sources.
+ AutoDetect bool
+
+ // MaxBadRecords is the maximum number of bad records that will be ignored
+ // when reading data.
+ MaxBadRecords int64
+
+ // IgnoreUnknownValues causes values not matching the schema to be
+ // tolerated. Unknown values are ignored. For CSV this ignores extra values
+ // at the end of a line. For JSON this ignores named values that do not
+ // match any column name. If this field is not set, records containing
+ // unknown values are treated as bad records. The MaxBadRecords field can
+ // be used to customize how bad records are handled.
+ IgnoreUnknownValues bool
+
+ // Schema describes the data. It is required when reading CSV or JSON data,
+ // unless the data is being loaded into a table that already exists.
+ Schema Schema
+
+ // Additional options for CSV files.
+ CSVOptions
+
+ // Additional options for Parquet files.
+ ParquetOptions *ParquetOptions
+
+ // Additional options for Avro files.
+ AvroOptions *AvroOptions
+}
+
+func (fc *FileConfig) populateLoadConfig(conf *bq.JobConfigurationLoad) {
+ conf.SkipLeadingRows = fc.SkipLeadingRows
+ conf.SourceFormat = string(fc.SourceFormat)
+ conf.Autodetect = fc.AutoDetect
+ conf.AllowJaggedRows = fc.AllowJaggedRows
+ conf.AllowQuotedNewlines = fc.AllowQuotedNewlines
+ conf.Encoding = string(fc.Encoding)
+ conf.FieldDelimiter = fc.FieldDelimiter
+ conf.IgnoreUnknownValues = fc.IgnoreUnknownValues
+ conf.MaxBadRecords = fc.MaxBadRecords
+ conf.NullMarker = fc.NullMarker
+ conf.PreserveAsciiControlCharacters = fc.PreserveASCIIControlCharacters
+ if fc.Schema != nil {
+ conf.Schema = fc.Schema.toBQ()
+ }
+ if fc.ParquetOptions != nil {
+ conf.ParquetOptions = &bq.ParquetOptions{
+ EnumAsString: fc.ParquetOptions.EnumAsString,
+ EnableListInference: fc.ParquetOptions.EnableListInference,
+ }
+ }
+ if fc.AvroOptions != nil {
+ conf.UseAvroLogicalTypes = fc.AvroOptions.UseAvroLogicalTypes
+ }
+ conf.Quote = fc.quote()
+}
+
+func bqPopulateFileConfig(conf *bq.JobConfigurationLoad, fc *FileConfig) {
+ fc.SourceFormat = DataFormat(conf.SourceFormat)
+ fc.AutoDetect = conf.Autodetect
+ fc.MaxBadRecords = conf.MaxBadRecords
+ fc.IgnoreUnknownValues = conf.IgnoreUnknownValues
+ fc.Schema = bqToSchema(conf.Schema)
+ fc.SkipLeadingRows = conf.SkipLeadingRows
+ fc.AllowJaggedRows = conf.AllowJaggedRows
+ fc.AllowQuotedNewlines = conf.AllowQuotedNewlines
+ fc.Encoding = Encoding(conf.Encoding)
+ fc.FieldDelimiter = conf.FieldDelimiter
+ fc.CSVOptions.NullMarker = conf.NullMarker
+ fc.CSVOptions.PreserveASCIIControlCharacters = conf.PreserveAsciiControlCharacters
+ fc.CSVOptions.setQuote(conf.Quote)
+}
+
+func (fc *FileConfig) populateExternalDataConfig(conf *bq.ExternalDataConfiguration) {
+ format := fc.SourceFormat
+ if format == "" {
+ // Format must be explicitly set for external data sources.
+ format = CSV
+ }
+ conf.Autodetect = fc.AutoDetect
+ conf.IgnoreUnknownValues = fc.IgnoreUnknownValues
+ conf.MaxBadRecords = fc.MaxBadRecords
+ conf.SourceFormat = string(format)
+ if fc.Schema != nil {
+ conf.Schema = fc.Schema.toBQ()
+ }
+ if format == CSV {
+ fc.CSVOptions.populateExternalDataConfig(conf)
+ }
+ if fc.AvroOptions != nil {
+ conf.AvroOptions = &bq.AvroOptions{
+ UseAvroLogicalTypes: fc.AvroOptions.UseAvroLogicalTypes,
+ }
+ }
+ if fc.ParquetOptions != nil {
+ conf.ParquetOptions = &bq.ParquetOptions{
+ EnumAsString: fc.ParquetOptions.EnumAsString,
+ EnableListInference: fc.ParquetOptions.EnableListInference,
+ }
+ }
+}
+
+// Encoding specifies the character encoding of data to be loaded into BigQuery.
+// See https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load.encoding
+// for more details about how this is used.
+type Encoding string
+
+const (
+ // UTF_8 specifies the UTF-8 encoding type.
+ UTF_8 Encoding = "UTF-8"
+ // ISO_8859_1 specifies the ISO-8859-1 encoding type.
+ ISO_8859_1 Encoding = "ISO-8859-1"
+)
diff --git a/vendor/cloud.google.com/go/bigquery/gcs.go b/vendor/cloud.google.com/go/bigquery/gcs.go
new file mode 100644
index 000000000..977fd0090
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/gcs.go
@@ -0,0 +1,81 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "io"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// GCSReference is a reference to one or more Google Cloud Storage objects, which together constitute
+// an input or output to a BigQuery operation.
+type GCSReference struct {
+ // URIs refer to Google Cloud Storage objects.
+ URIs []string
+
+ FileConfig
+
+ // DestinationFormat is the format to use when writing exported files.
+ // Allowed values are: CSV, Avro, JSON. The default is CSV.
+ // CSV is not supported for tables with nested or repeated fields.
+ DestinationFormat DataFormat
+
+ // Compression specifies the type of compression to apply when writing data
+ // to Google Cloud Storage, or using this GCSReference as an ExternalData
+ // source with CSV or JSON SourceFormat. Default is None.
+ //
+ // Avro files allow additional compression types: DEFLATE and SNAPPY.
+ Compression Compression
+}
+
+// NewGCSReference constructs a reference to one or more Google Cloud Storage objects, which together constitute a data source or destination.
+// In the simple case, a single URI in the form gs://bucket/object may refer to a single GCS object.
+// Data may also be split into mutiple files, if multiple URIs or URIs containing wildcards are provided.
+// Each URI may contain one '*' wildcard character, which (if present) must come after the bucket name.
+// For more information about the treatment of wildcards and multiple URIs,
+// see https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple
+func NewGCSReference(uri ...string) *GCSReference {
+ return &GCSReference{URIs: uri}
+}
+
+// Compression is the type of compression to apply when writing data to Google Cloud Storage.
+type Compression string
+
+const (
+ // None specifies no compression.
+ None Compression = "NONE"
+ // Gzip specifies gzip compression.
+ Gzip Compression = "GZIP"
+ // Deflate specifies DEFLATE compression for Avro files.
+ Deflate Compression = "DEFLATE"
+ // Snappy specifies SNAPPY compression for Avro files.
+ Snappy Compression = "SNAPPY"
+)
+
+func (gcs *GCSReference) populateLoadConfig(lc *bq.JobConfigurationLoad) io.Reader {
+ lc.SourceUris = gcs.URIs
+ gcs.FileConfig.populateLoadConfig(lc)
+ return nil
+}
+
+func (gcs *GCSReference) toBQ() bq.ExternalDataConfiguration {
+ conf := bq.ExternalDataConfiguration{
+ Compression: string(gcs.Compression),
+ SourceUris: append([]string{}, gcs.URIs...),
+ }
+ gcs.FileConfig.populateExternalDataConfig(&conf)
+ return conf
+}
diff --git a/vendor/cloud.google.com/go/bigquery/iam.go b/vendor/cloud.google.com/go/bigquery/iam.go
new file mode 100644
index 000000000..00059345b
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/iam.go
@@ -0,0 +1,142 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+
+ "cloud.google.com/go/iam"
+ "cloud.google.com/go/iam/apiv1/iampb"
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// IAM provides access to an iam.Handle that allows access to IAM functionality for
+// the given BigQuery table. For more information, see
+// https://pkg.go.dev/cloud.google.com/go/iam
+func (t *Table) IAM() *iam.Handle {
+ return iam.InternalNewHandleClient(&bqIAMClient{
+ bqs: t.c.bqs,
+ }, fmt.Sprintf("projects/%s/datasets/%s/tables/%s",
+ t.ProjectID, t.DatasetID, t.TableID))
+}
+
+// bqIAMClient is a client that satisfies the IAM "client" interface.
+//
+// This client has an explicit assumption that it's only working with Table resources.
+type bqIAMClient struct {
+ bqs *bq.Service
+}
+
+func (c *bqIAMClient) Get(ctx context.Context, resource string) (p *iampb.Policy, err error) {
+ return c.GetWithVersion(ctx, resource, 1)
+}
+
+func (c *bqIAMClient) GetWithVersion(ctx context.Context, resource string, requestedPolicyVersion int32) (p *iampb.Policy, err error) {
+ if requestedPolicyVersion > 1 {
+ return nil, errors.New("bigquery: only IAM policy version 1 is supported")
+ }
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.IAM.Get")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ iamReq := &bq.GetIamPolicyRequest{
+ Options: &bq.GetPolicyOptions{
+ RequestedPolicyVersion: int64(requestedPolicyVersion),
+ },
+ }
+ call := c.bqs.Tables.GetIamPolicy(resource, iamReq).Context(ctx)
+ setClientHeader(call.Header())
+
+ var bqp *bq.Policy
+ err = runWithRetry(ctx, func() error {
+ bqp, err = call.Do()
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ return iamFromBigQueryPolicy(bqp), nil
+}
+
+func (c *bqIAMClient) Set(ctx context.Context, resource string, p *iampb.Policy) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.IAM.Set")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ bqp := iamToBigQueryPolicy(p)
+ call := c.bqs.Tables.SetIamPolicy(resource, &bq.SetIamPolicyRequest{Policy: bqp}).Context(ctx)
+ setClientHeader(call.Header())
+ return runWithRetry(ctx, func() error {
+ _, err := call.Do()
+ return err
+ })
+}
+
+func (c *bqIAMClient) Test(ctx context.Context, resource string, perms []string) (p []string, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.IAM.Test")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ call := c.bqs.Tables.TestIamPermissions(resource, &bq.TestIamPermissionsRequest{Permissions: perms}).Context(ctx)
+ setClientHeader(call.Header())
+
+ var res *bq.TestIamPermissionsResponse
+ err = runWithRetry(ctx, func() error {
+ res, err = call.Do()
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ return res.Permissions, nil
+}
+
+func iamToBigQueryPolicy(ip *iampb.Policy) *bq.Policy {
+ return &bq.Policy{
+ Bindings: iamToBigQueryBindings(ip.Bindings),
+ Etag: string(ip.Etag),
+ Version: int64(ip.Version),
+ }
+}
+
+func iamToBigQueryBindings(ibs []*iampb.Binding) []*bq.Binding {
+ var bqBindings []*bq.Binding
+ for _, ib := range ibs {
+ bqBindings = append(bqBindings, &bq.Binding{
+ Role: ib.Role,
+ Members: ib.Members,
+ })
+ }
+ return bqBindings
+}
+
+func iamFromBigQueryPolicy(bqPolicy *bq.Policy) *iampb.Policy {
+ return &iampb.Policy{
+ Bindings: iamFromBigQueryBindings(bqPolicy.Bindings),
+ Etag: []byte(bqPolicy.Etag),
+ Version: int32(bqPolicy.Version),
+ }
+}
+
+func iamFromBigQueryBindings(bqBindings []*bq.Binding) []*iampb.Binding {
+ var ibs []*iampb.Binding
+ for _, bqb := range bqBindings {
+ ibs = append(ibs, &iampb.Binding{
+ Role: bqb.Role,
+ Members: bqb.Members,
+ })
+ }
+ return ibs
+}
diff --git a/vendor/cloud.google.com/go/bigquery/inserter.go b/vendor/cloud.google.com/go/bigquery/inserter.go
new file mode 100644
index 000000000..ddac67903
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/inserter.go
@@ -0,0 +1,249 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "reflect"
+
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// NoDedupeID indicates a streaming insert row wants to opt out of best-effort
+// deduplication.
+// It is EXPERIMENTAL and subject to change or removal without notice.
+const NoDedupeID = "NoDedupeID"
+
+// An Inserter does streaming inserts into a BigQuery table.
+// It is safe for concurrent use.
+type Inserter struct {
+ t *Table
+
+ // SkipInvalidRows causes rows containing invalid data to be silently
+ // ignored. The default value is false, which causes the entire request to
+ // fail if there is an attempt to insert an invalid row.
+ SkipInvalidRows bool
+
+ // IgnoreUnknownValues causes values not matching the schema to be ignored.
+ // The default value is false, which causes records containing such values
+ // to be treated as invalid records.
+ IgnoreUnknownValues bool
+
+ // A TableTemplateSuffix allows Inserters to create tables automatically.
+ //
+ // Experimental: this option is experimental and may be modified or removed in future versions,
+ // regardless of any other documented package stability guarantees. In general,
+ // the BigQuery team recommends the use of partitioned tables over sharding
+ // tables by suffix.
+ //
+ // When you specify a suffix, the table you upload data to
+ // will be used as a template for creating a new table, with the same schema,
+ // called <table> + <suffix>.
+ //
+ // More information is available at
+ // https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables
+ TableTemplateSuffix string
+}
+
+// Inserter returns an Inserter that can be used to append rows to t.
+// The returned Inserter may optionally be further configured before its Put method is called.
+//
+// To stream rows into a date-partitioned table at a particular date, add the
+// $yyyymmdd suffix to the table name when constructing the Table.
+func (t *Table) Inserter() *Inserter {
+ return &Inserter{t: t}
+}
+
+// Uploader calls Inserter.
+// Deprecated: use Table.Inserter instead.
+func (t *Table) Uploader() *Inserter { return t.Inserter() }
+
+// Put uploads one or more rows to the BigQuery service.
+//
+// If src is ValueSaver, then its Save method is called to produce a row for uploading.
+//
+// If src is a struct or pointer to a struct, then a schema is inferred from it
+// and used to create a StructSaver. The InsertID of the StructSaver will be
+// empty.
+//
+// If src is a slice of ValueSavers, structs, or struct pointers, then each
+// element of the slice is treated as above, and multiple rows are uploaded.
+//
+// Put returns a PutMultiError if one or more rows failed to be uploaded.
+// The PutMultiError contains a RowInsertionError for each failed row.
+//
+// Put will retry on temporary errors (see
+// https://cloud.google.com/bigquery/troubleshooting-errors). This can result
+// in duplicate rows if you do not use insert IDs. Also, if the error persists,
+// the call will run indefinitely. Pass a context with a timeout to prevent
+// hanging calls.
+func (u *Inserter) Put(ctx context.Context, src interface{}) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Inserter.Put")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ savers, err := valueSavers(src)
+ if err != nil {
+ return err
+ }
+ return u.putMulti(ctx, savers)
+}
+
+func valueSavers(src interface{}) ([]ValueSaver, error) {
+ saver, ok, err := toValueSaver(src)
+ if err != nil {
+ return nil, err
+ }
+ if ok {
+ return []ValueSaver{saver}, nil
+ }
+ srcVal := reflect.ValueOf(src)
+ if srcVal.Kind() != reflect.Slice {
+ return nil, fmt.Errorf("%T is not a ValueSaver, struct, struct pointer, or slice", src)
+
+ }
+ var savers []ValueSaver
+ for i := 0; i < srcVal.Len(); i++ {
+ s := srcVal.Index(i).Interface()
+ saver, ok, err := toValueSaver(s)
+ if err != nil {
+ return nil, err
+ }
+ if !ok {
+ return nil, fmt.Errorf("src[%d] has type %T, which is not a ValueSaver, struct or struct pointer", i, s)
+ }
+ savers = append(savers, saver)
+ }
+ return savers, nil
+}
+
+// Make a ValueSaver from x, which must implement ValueSaver already
+// or be a struct or pointer to struct.
+func toValueSaver(x interface{}) (ValueSaver, bool, error) {
+ if _, ok := x.(StructSaver); ok {
+ return nil, false, errors.New("bigquery: use &StructSaver, not StructSaver")
+ }
+ var insertID string
+ // Handle StructSavers specially so we can infer the schema if necessary.
+ if ss, ok := x.(*StructSaver); ok && ss.Schema == nil {
+ x = ss.Struct
+ insertID = ss.InsertID
+ // Fall through so we can infer the schema.
+ }
+ if saver, ok := x.(ValueSaver); ok {
+ return saver, ok, nil
+ }
+ v := reflect.ValueOf(x)
+ // Support Put with []interface{}
+ if v.Kind() == reflect.Interface {
+ v = v.Elem()
+ }
+ if v.Kind() == reflect.Ptr {
+ v = v.Elem()
+ }
+ if v.Kind() != reflect.Struct {
+ return nil, false, nil
+ }
+ schema, err := inferSchemaReflectCached(v.Type())
+ if err != nil {
+ return nil, false, err
+ }
+ return &StructSaver{
+ Struct: x,
+ InsertID: insertID,
+ Schema: schema,
+ }, true, nil
+}
+
+func (u *Inserter) putMulti(ctx context.Context, src []ValueSaver) error {
+ req, err := u.newInsertRequest(src)
+ if err != nil {
+ return err
+ }
+ if req == nil {
+ return nil
+ }
+ call := u.t.c.bqs.Tabledata.InsertAll(u.t.ProjectID, u.t.DatasetID, u.t.TableID, req).Context(ctx)
+ setClientHeader(call.Header())
+ var res *bq.TableDataInsertAllResponse
+ err = runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.tabledata.insertAll")
+ res, err = call.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ })
+ if err != nil {
+ return err
+ }
+ return handleInsertErrors(res.InsertErrors, req.Rows)
+}
+
+func (u *Inserter) newInsertRequest(savers []ValueSaver) (*bq.TableDataInsertAllRequest, error) {
+ if savers == nil { // If there are no rows, do nothing.
+ return nil, nil
+ }
+ req := &bq.TableDataInsertAllRequest{
+ TemplateSuffix: u.TableTemplateSuffix,
+ IgnoreUnknownValues: u.IgnoreUnknownValues,
+ SkipInvalidRows: u.SkipInvalidRows,
+ }
+ for _, saver := range savers {
+ row, insertID, err := saver.Save()
+ if err != nil {
+ return nil, err
+ }
+ if insertID == NoDedupeID {
+ // User wants to opt-out of sending deduplication ID.
+ insertID = ""
+ } else if insertID == "" {
+ insertID = randomIDFn()
+ }
+ m := make(map[string]bq.JsonValue)
+ for k, v := range row {
+ m[k] = bq.JsonValue(v)
+ }
+ req.Rows = append(req.Rows, &bq.TableDataInsertAllRequestRows{
+ InsertId: insertID,
+ Json: m,
+ })
+ }
+ return req, nil
+}
+
+func handleInsertErrors(ierrs []*bq.TableDataInsertAllResponseInsertErrors, rows []*bq.TableDataInsertAllRequestRows) error {
+ if len(ierrs) == 0 {
+ return nil
+ }
+ var errs PutMultiError
+ for _, e := range ierrs {
+ if int(e.Index) >= len(rows) {
+ return fmt.Errorf("internal error: unexpected row index: %v", e.Index)
+ }
+ rie := RowInsertionError{
+ InsertID: rows[e.Index].InsertId,
+ RowIndex: int(e.Index),
+ }
+ for _, errp := range e.Errors {
+ rie.Errors = append(rie.Errors, bqToError(errp))
+ }
+ errs = append(errs, rie)
+ }
+ return errs
+}
+
+// Uploader is an obsolete name for Inserter.
+type Uploader = Inserter
diff --git a/vendor/cloud.google.com/go/bigquery/internal/query/order.go b/vendor/cloud.google.com/go/bigquery/internal/query/order.go
new file mode 100644
index 000000000..a634210c6
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/internal/query/order.go
@@ -0,0 +1,67 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package query
+
+import (
+ "strings"
+)
+
+type qnode struct {
+ query string
+ children []*qnode
+}
+
+// HasOrderedResults checks if a given SQL query returns ordered results.
+// This function uses a naive approach of checking the root level query
+// ( ignoring subqueries, functions calls, etc ) and checking
+// if it contains an ORDER BY clause.
+func HasOrderedResults(sql string) bool {
+ cleanedQuery := strings.TrimSpace(sql)
+ if !strings.HasPrefix(cleanedQuery, "(") {
+ cleanedQuery = "(" + cleanedQuery + ")"
+ }
+ root := &qnode{query: cleanedQuery, children: []*qnode{}}
+ curNode := root
+ indexStack := []int{}
+ nodeStack := []*qnode{}
+ for i, c := range cleanedQuery {
+ if c == '(' {
+ indexStack = append(indexStack, i)
+ nextNode := &qnode{children: []*qnode{}}
+ curNode.children = append(curNode.children, nextNode)
+ nodeStack = append(nodeStack, curNode)
+ curNode = nextNode
+ }
+ if c == ')' {
+ if len(indexStack) == 0 {
+ // unbalanced
+ return false
+ }
+ start := indexStack[len(indexStack)-1]
+ indexStack = indexStack[:len(indexStack)-1]
+
+ curNode.query = cleanedQuery[start+1 : i]
+
+ curNode = nodeStack[len(nodeStack)-1]
+ nodeStack = nodeStack[:len(nodeStack)-1]
+ }
+ }
+ curNode = root.children[0]
+ q := curNode.query
+ for _, c := range curNode.children {
+ q = strings.Replace(q, c.query, "", 1)
+ }
+ return strings.Contains(strings.ToUpper(q), "ORDER BY")
+}
diff --git a/vendor/cloud.google.com/go/bigquery/internal/version.go b/vendor/cloud.google.com/go/bigquery/internal/version.go
new file mode 100644
index 000000000..5145d8203
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/internal/version.go
@@ -0,0 +1,19 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package internal is used to manage versioning of the released library.
+package internal
+
+// Version is the current tagged release of the library.
+const Version = "1.60.0"
diff --git a/vendor/cloud.google.com/go/bigquery/intervalvalue.go b/vendor/cloud.google.com/go/bigquery/intervalvalue.go
new file mode 100644
index 000000000..810f795fb
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/intervalvalue.go
@@ -0,0 +1,321 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "bytes"
+ "fmt"
+ "strconv"
+ "time"
+)
+
+// IntervalValue is a go type for representing BigQuery INTERVAL values.
+// Intervals are represented using three distinct parts:
+// * Years and Months
+// * Days
+// * Time (Hours/Mins/Seconds/Fractional Seconds).
+//
+// More information about BigQuery INTERVAL types can be found at:
+// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#interval_type
+//
+// IntervalValue is EXPERIMENTAL and subject to change or removal without notice.
+type IntervalValue struct {
+ // In canonical form, Years and Months share a consistent sign and reduced
+ // to avoid large month values.
+ Years int32
+ Months int32
+
+ // In canonical form, Days are independent of the other parts and can have it's
+ // own sign. There is no attempt to reduce larger Day values into the Y-M part.
+ Days int32
+
+ // In canonical form, the time parts all share a consistent sign and are reduced.
+ Hours int32
+ Minutes int32
+ Seconds int32
+ // This represents the fractional seconds as nanoseconds.
+ SubSecondNanos int32
+}
+
+// String returns string representation of the interval value using the canonical format.
+// The canonical format is as follows:
+//
+// [sign]Y-M [sign]D [sign]H:M:S[.F]
+func (iv *IntervalValue) String() string {
+ // Don't canonicalize the current value. Instead, if it's not canonical,
+ // compute the canonical form and use that.
+ src := iv
+ if !iv.IsCanonical() {
+ src = iv.Canonicalize()
+ }
+ out := fmt.Sprintf("%d-%d %d %d:%d:%d", src.Years, int32abs(src.Months), src.Days, src.Hours, int32abs(src.Minutes), int32abs(src.Seconds))
+ if src.SubSecondNanos != 0 {
+ mantStr := fmt.Sprintf("%09d", src.SubSecondNanos)
+ for len(mantStr) > 0 && mantStr[len(mantStr)-1:] == "0" {
+ mantStr = mantStr[0 : len(mantStr)-1]
+ }
+ out = fmt.Sprintf("%s.%s", out, mantStr)
+ }
+ return out
+}
+
+// intervalPart is used for parsing string representations.
+type intervalPart int
+
+const (
+ yearsPart = iota
+ monthsPart
+ daysPart
+ hoursPart
+ minutesPart
+ secondsPart
+ subsecsPart
+)
+
+func (i intervalPart) String() string {
+ knownParts := []string{"YEARS", "MONTHS", "DAYS", "HOURS", "MINUTES", "SECONDS", "SUBSECONDS"}
+ if i < 0 || int(i) > len(knownParts) {
+ return fmt.Sprintf("UNKNOWN(%d)", i)
+ }
+ return knownParts[i]
+}
+
+// canonicalParts indicates the parse order for canonical format.
+var canonicalParts = []intervalPart{yearsPart, monthsPart, daysPart, hoursPart, minutesPart, secondsPart, subsecsPart}
+
+// ParseInterval parses an interval in canonical string format and returns the IntervalValue it represents.
+func ParseInterval(value string) (*IntervalValue, error) {
+ iVal := &IntervalValue{}
+ for _, part := range canonicalParts {
+ remaining, v, err := getPartValue(part, value)
+ if err != nil {
+ return nil, err
+ }
+ switch part {
+ case yearsPart:
+ iVal.Years = v
+ case monthsPart:
+ iVal.Months = v
+ if iVal.Years < 0 {
+ iVal.Months = -v
+ }
+ case daysPart:
+ iVal.Days = v
+ case hoursPart:
+ iVal.Hours = v
+ case minutesPart:
+ iVal.Minutes = v
+ if iVal.Hours < 0 {
+ iVal.Minutes = -v
+ }
+ case secondsPart:
+ iVal.Seconds = v
+ if iVal.Hours < 0 {
+ iVal.Seconds = -v
+ }
+ case subsecsPart:
+ iVal.SubSecondNanos = v
+ if iVal.Hours < 0 {
+ iVal.SubSecondNanos = -v
+ }
+ default:
+ return nil, fmt.Errorf("encountered invalid part %s during parse", part)
+ }
+ value = remaining
+ }
+ return iVal, nil
+}
+
+func getPartValue(part intervalPart, s string) (string, int32, error) {
+ s = trimPrefix(part, s)
+ return getNumVal(part, s)
+}
+
+// trimPrefix removes formatting prefix relevant to the given type.
+func trimPrefix(part intervalPart, s string) string {
+ var trimByte byte
+ switch part {
+ case yearsPart, daysPart, hoursPart:
+ trimByte = byte(' ')
+ case monthsPart:
+ trimByte = byte('-')
+ case minutesPart, secondsPart:
+ trimByte = byte(':')
+ case subsecsPart:
+ trimByte = byte('.')
+ }
+ for len(s) > 0 && s[0] == trimByte {
+ s = s[1:]
+ }
+ return s
+}
+
+func getNumVal(part intervalPart, s string) (string, int32, error) {
+
+ allowedVals := []byte("0123456789")
+ var allowedSign bool
+ captured := ""
+ switch part {
+ case yearsPart, daysPart, hoursPart:
+ allowedSign = true
+ }
+ // capture sign prefix +/-
+ if len(s) > 0 && allowedSign {
+ switch s[0] {
+ case '-':
+ captured = "-"
+ s = s[1:]
+ case '+':
+ s = s[1:]
+ }
+ }
+ for len(s) > 0 && bytes.IndexByte(allowedVals, s[0]) >= 0 {
+ captured = captured + string(s[0])
+ s = s[1:]
+ }
+
+ if len(captured) == 0 {
+ if part == subsecsPart {
+ return s, 0, nil
+ }
+ return "", 0, fmt.Errorf("no value parsed for part %s", part.String())
+ }
+ // special case: subsecs is a mantissa, convert it to nanos
+ if part == subsecsPart {
+ parsed, err := strconv.ParseFloat(fmt.Sprintf("0.%s", captured), 64)
+ if err != nil {
+ return "", 0, fmt.Errorf("couldn't parse %s as %s", captured, part.String())
+ }
+ return s, int32(parsed * 1e9), nil
+ }
+ parsed, err := strconv.ParseInt(captured, 10, 32)
+ if err != nil {
+ return "", 0, fmt.Errorf("error parsing value %s for %s: %w", captured, part.String(), err)
+ }
+ return s, int32(parsed), nil
+}
+
+// IntervalValueFromDuration converts a time.Duration to an IntervalType representation.
+//
+// The converted duration only leverages the hours/minutes/seconds part of the interval,
+// the other parts representing days, months, and years are not used.
+func IntervalValueFromDuration(in time.Duration) *IntervalValue {
+ nanos := in.Nanoseconds()
+ out := &IntervalValue{}
+ out.Hours = int32(nanos / 3600 / 1e9)
+ nanos = nanos - (int64(out.Hours) * 3600 * 1e9)
+ out.Minutes = int32(nanos / 60 / 1e9)
+ nanos = nanos - (int64(out.Minutes) * 60 * 1e9)
+ out.Seconds = int32(nanos / 1e9)
+ nanos = nanos - (int64(out.Seconds) * 1e9)
+ out.SubSecondNanos = int32(nanos)
+ return out
+}
+
+// ToDuration converts an interval to a time.Duration value.
+//
+// For the purposes of conversion:
+// Years are normalized to 12 months.
+// Months are normalized to 30 days.
+// Days are normalized to 24 hours.
+func (iv *IntervalValue) ToDuration() time.Duration {
+ var accum int64
+ accum = 12*int64(iv.Years) + int64(iv.Months)
+ // widen to days
+ accum = accum*30 + int64(iv.Days)
+ // hours
+ accum = accum*24 + int64(iv.Hours)
+ // minutes
+ accum = accum*60 + int64(iv.Minutes)
+ // seconds
+ accum = accum*60 + int64(iv.Seconds)
+ // subsecs
+ accum = accum*1e9 + int64(iv.SubSecondNanos*1e9)
+ return time.Duration(accum)
+}
+
+// Canonicalize returns an IntervalValue where signs for elements in the
+// Y-M and H:M:S.F are consistent and values are normalized/reduced.
+//
+// Canonical form enables more consistent comparison of the encoded
+// interval. For example, encoding an interval with 12 months is equivalent
+// to an interval of 1 year.
+func (iv *IntervalValue) Canonicalize() *IntervalValue {
+ newIV := &IntervalValue{iv.Years, iv.Months, iv.Days, iv.Hours, iv.Minutes, iv.Seconds, iv.SubSecondNanos}
+ // canonicalize Y-M part
+ totalMonths := iv.Years*12 + iv.Months
+ newIV.Years = totalMonths / 12
+ totalMonths = totalMonths - (newIV.Years * 12)
+ newIV.Months = totalMonths % 12
+
+ // No canonicalization for the Days part.
+
+ // canonicalize time part by switching to Nanos.
+ totalNanos := int64(iv.Hours)*3600*1e9 +
+ int64(iv.Minutes)*60*1e9 +
+ int64(iv.Seconds)*1e9 +
+ int64(iv.SubSecondNanos)
+
+ // Reduce to parts.
+ newIV.Hours = int32(totalNanos / 60 / 60 / 1e9)
+ totalNanos = totalNanos - (int64(newIV.Hours) * 3600 * 1e9)
+ newIV.Minutes = int32(totalNanos / 60 / 1e9)
+ totalNanos = totalNanos - (int64(newIV.Minutes) * 60 * 1e9)
+ newIV.Seconds = int32(totalNanos / 1e9)
+ totalNanos = totalNanos - (int64(newIV.Seconds) * 1e9)
+ newIV.SubSecondNanos = int32(totalNanos)
+ return newIV
+}
+
+// IsCanonical evaluates whether the current representation is in canonical
+// form.
+func (iv *IntervalValue) IsCanonical() bool {
+ if !sameSign(iv.Years, iv.Months) ||
+ !sameSign(iv.Hours, iv.Minutes) {
+ return false
+ }
+ // We allow large days and hours values, because they are within different parts.
+ if int32abs(iv.Months) > 12 ||
+ int32abs(iv.Minutes) > 60 ||
+ int32abs(iv.Seconds) > 60 ||
+ int32abs(iv.SubSecondNanos) > 1e9 {
+ return false
+ }
+ // TODO: We don't currently validate that each part represents value smaller than 10k years.
+ return true
+}
+
+func int32abs(x int32) int32 {
+ if x < 0 {
+ return -x
+ }
+ return x
+}
+
+func sameSign(nums ...int32) bool {
+ var pos, neg int
+ for _, n := range nums {
+ if n > 0 {
+ pos = pos + 1
+ }
+ if n < 0 {
+ neg = neg + 1
+ }
+ }
+ if pos > 0 && neg > 0 {
+ return false
+ }
+ return true
+}
diff --git a/vendor/cloud.google.com/go/bigquery/iterator.go b/vendor/cloud.google.com/go/bigquery/iterator.go
new file mode 100644
index 000000000..9d177d1b8
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/iterator.go
@@ -0,0 +1,413 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "reflect"
+
+ bq "google.golang.org/api/bigquery/v2"
+ "google.golang.org/api/googleapi"
+ "google.golang.org/api/iterator"
+)
+
+// Construct a RowIterator.
+func newRowIterator(ctx context.Context, src *rowSource, pf pageFetcher) *RowIterator {
+ it := &RowIterator{
+ ctx: ctx,
+ src: src,
+ pf: pf,
+ }
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(
+ it.fetch,
+ func() int { return len(it.rows) },
+ func() interface{} { r := it.rows; it.rows = nil; return r })
+ return it
+}
+
+// A RowIterator provides access to the result of a BigQuery lookup.
+type RowIterator struct {
+ ctx context.Context
+ src *rowSource
+
+ arrowIterator ArrowIterator
+ arrowDecoder *arrowDecoder
+
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+ pf pageFetcher
+
+ // StartIndex can be set before the first call to Next. If PageInfo().Token
+ // is also set, StartIndex is ignored. If Storage API is enabled,
+ // StartIndex is also ignored because is not supported. IsAccelerated()
+ // method can be called to check if Storage API is enabled for the RowIterator.
+ StartIndex uint64
+
+ // The schema of the table.
+ // In some scenarios it will only be available after the first
+ // call to Next(), like when a call to Query.Read uses
+ // the jobs.query API for an optimized query path.
+ Schema Schema
+
+ // The total number of rows in the result.
+ // In some scenarios it will only be available after the first
+ // call to Next(), like when a call to Query.Read uses
+ // the jobs.query API for an optimized query path.
+ // May be zero just after rows were inserted.
+ TotalRows uint64
+
+ rows [][]Value
+ structLoader structLoader // used to populate a pointer to a struct
+}
+
+// SourceJob returns an instance of a Job if the RowIterator is backed by a query,
+// or a nil.
+func (ri *RowIterator) SourceJob() *Job {
+ if ri.src == nil {
+ return nil
+ }
+ if ri.src.j == nil {
+ return nil
+ }
+ return &Job{
+ c: ri.src.j.c,
+ projectID: ri.src.j.projectID,
+ location: ri.src.j.location,
+ jobID: ri.src.j.jobID,
+ }
+}
+
+// QueryID returns a query ID if available, or an empty string.
+func (ri *RowIterator) QueryID() string {
+ if ri.src == nil {
+ return ""
+ }
+ return ri.src.queryID
+}
+
+// We declare a function signature for fetching results. The primary reason
+// for this is to enable us to swap out the fetch function with alternate
+// implementations (e.g. to enable testing).
+type pageFetcher func(ctx context.Context, _ *rowSource, _ Schema, startIndex uint64, pageSize int64, pageToken string) (*fetchPageResult, error)
+
+// Next loads the next row into dst. Its return value is iterator.Done if there
+// are no more results. Once Next returns iterator.Done, all subsequent calls
+// will return iterator.Done.
+//
+// dst may implement ValueLoader, or may be a *[]Value, *map[string]Value, or struct pointer.
+//
+// If dst is a *[]Value, it will be set to new []Value whose i'th element
+// will be populated with the i'th column of the row.
+//
+// If dst is a *map[string]Value, a new map will be created if dst is nil. Then
+// for each schema column name, the map key of that name will be set to the column's
+// value. STRUCT types (RECORD types or nested schemas) become nested maps.
+//
+// If dst is pointer to a struct, each column in the schema will be matched
+// with an exported field of the struct that has the same name, ignoring case.
+// Unmatched schema columns and struct fields will be ignored.
+//
+// Each BigQuery column type corresponds to one or more Go types; a matching struct
+// field must be of the correct type. The correspondences are:
+//
+// STRING string
+// BOOL bool
+// INTEGER int, int8, int16, int32, int64, uint8, uint16, uint32
+// FLOAT float32, float64
+// BYTES []byte
+// TIMESTAMP time.Time
+// DATE civil.Date
+// TIME civil.Time
+// DATETIME civil.DateTime
+// NUMERIC *big.Rat
+// BIGNUMERIC *big.Rat
+//
+// The big.Rat type supports numbers of arbitrary size and precision.
+// See https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#numeric-type
+// for more on NUMERIC.
+//
+// A repeated field corresponds to a slice or array of the element type. A STRUCT
+// type (RECORD or nested schema) corresponds to a nested struct or struct pointer.
+// All calls to Next on the same iterator must use the same struct type.
+//
+// It is an error to attempt to read a BigQuery NULL value into a struct field,
+// unless the field is of type []byte or is one of the special Null types: NullInt64,
+// NullFloat64, NullBool, NullString, NullTimestamp, NullDate, NullTime or
+// NullDateTime. You can also use a *[]Value or *map[string]Value to read from a
+// table with NULLs.
+func (it *RowIterator) Next(dst interface{}) error {
+ var vl ValueLoader
+ switch dst := dst.(type) {
+ case ValueLoader:
+ vl = dst
+ case *[]Value:
+ vl = (*valueList)(dst)
+ case *map[string]Value:
+ vl = (*valueMap)(dst)
+ default:
+ if !isStructPtr(dst) {
+ return fmt.Errorf("bigquery: cannot convert %T to ValueLoader (need pointer to []Value, map[string]Value, or struct)", dst)
+ }
+ }
+ if err := it.nextFunc(); err != nil {
+ return err
+ }
+ row := it.rows[0]
+ it.rows = it.rows[1:]
+
+ if vl == nil {
+ // This can only happen if dst is a pointer to a struct. We couldn't
+ // set vl above because we need the schema.
+ if err := it.structLoader.set(dst, it.Schema); err != nil {
+ return err
+ }
+ vl = &it.structLoader
+ }
+ return vl.Load(row, it.Schema)
+}
+
+func isStructPtr(x interface{}) bool {
+ t := reflect.TypeOf(x)
+ return t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+// Currently pagination is not supported when the Storage API is enabled. IsAccelerated()
+// method can be called to check if Storage API is enabled for the RowIterator.
+func (it *RowIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }
+
+func (it *RowIterator) fetch(pageSize int, pageToken string) (string, error) {
+ res, err := it.pf(it.ctx, it.src, it.Schema, it.StartIndex, int64(pageSize), pageToken)
+ if err != nil {
+ return "", err
+ }
+ it.rows = append(it.rows, res.rows...)
+ if it.Schema == nil {
+ it.Schema = res.schema
+ }
+ it.TotalRows = res.totalRows
+ return res.pageToken, nil
+}
+
+// rowSource represents one of the multiple sources of data for a row iterator.
+// Rows can be read directly from a BigQuery table or from a job reference.
+// If a job is present, that's treated as the authoritative source.
+//
+// rowSource can also cache results for special situations, primarily for the
+// fast execution query path which can return status, rows, and schema all at
+// once. Our cache data expectations are as follows:
+//
+// - We can only cache data from the start of a source.
+// - We need to cache schema, rows, and next page token to effective service
+// a request from cache.
+// - cache references are destroyed as soon as they're interrogated. We don't
+// want to retain the data unnecessarily, and we expect that the backend
+// can always provide them if needed.
+type rowSource struct {
+ j *Job
+ t *Table
+ queryID string
+
+ cachedRows []*bq.TableRow
+ cachedSchema *bq.TableSchema
+ cachedNextToken string
+}
+
+// fetchPageResult represents a page of rows returned from the backend.
+type fetchPageResult struct {
+ pageToken string
+ rows [][]Value
+ totalRows uint64
+ schema Schema
+}
+
+// fetchPage is our generalized fetch mechanism. It interrogates from cache, and
+// then dispatches to either the appropriate job or table-based backend mechanism
+// as needed.
+func fetchPage(ctx context.Context, src *rowSource, schema Schema, startIndex uint64, pageSize int64, pageToken string) (*fetchPageResult, error) {
+ result, err := fetchCachedPage(ctx, src, schema, startIndex, pageSize, pageToken)
+ if err != nil {
+ if err != errNoCacheData {
+ // This likely means something more severe, like a problem with schema.
+ return nil, err
+ }
+ // If we failed to fetch data from cache, invoke the appropriate service method.
+ if src.j != nil {
+ return fetchJobResultPage(ctx, src, schema, startIndex, pageSize, pageToken)
+ }
+ if src.t != nil {
+ return fetchTableResultPage(ctx, src, schema, startIndex, pageSize, pageToken)
+ }
+ // No rows, but no table or job reference. Return an empty result set.
+ return &fetchPageResult{}, nil
+ }
+ return result, nil
+}
+
+func fetchTableResultPage(ctx context.Context, src *rowSource, schema Schema, startIndex uint64, pageSize int64, pageToken string) (*fetchPageResult, error) {
+ // Fetch the table schema in the background, if necessary.
+ errc := make(chan error, 1)
+ if schema != nil {
+ errc <- nil
+ } else {
+ go func() {
+ var bqt *bq.Table
+ err := runWithRetry(ctx, func() (err error) {
+ bqt, err = src.t.c.bqs.Tables.Get(src.t.ProjectID, src.t.DatasetID, src.t.TableID).
+ Fields("schema").
+ Context(ctx).
+ Do()
+ return err
+ })
+ if err == nil && bqt.Schema != nil {
+ schema = bqToSchema(bqt.Schema)
+ }
+ errc <- err
+ }()
+ }
+ call := src.t.c.bqs.Tabledata.List(src.t.ProjectID, src.t.DatasetID, src.t.TableID)
+ call = call.FormatOptionsUseInt64Timestamp(true)
+ setClientHeader(call.Header())
+ if pageToken != "" {
+ call.PageToken(pageToken)
+ } else {
+ call.StartIndex(startIndex)
+ }
+ if pageSize > 0 {
+ call.MaxResults(pageSize)
+ }
+ var res *bq.TableDataList
+ err := runWithRetry(ctx, func() (err error) {
+ res, err = call.Context(ctx).Do()
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ err = <-errc
+ if err != nil {
+ return nil, err
+ }
+ rows, err := convertRows(res.Rows, schema)
+ if err != nil {
+ return nil, err
+ }
+ return &fetchPageResult{
+ pageToken: res.PageToken,
+ rows: rows,
+ totalRows: uint64(res.TotalRows),
+ schema: schema,
+ }, nil
+}
+
+func fetchJobResultPage(ctx context.Context, src *rowSource, schema Schema, startIndex uint64, pageSize int64, pageToken string) (*fetchPageResult, error) {
+ // reduce data transfered by leveraging api projections
+ projectedFields := []googleapi.Field{"rows", "pageToken", "totalRows"}
+ call := src.j.c.bqs.Jobs.GetQueryResults(src.j.projectID, src.j.jobID).Location(src.j.location).Context(ctx)
+ call = call.FormatOptionsUseInt64Timestamp(true)
+ if schema == nil {
+ // only project schema if we weren't supplied one.
+ projectedFields = append(projectedFields, "schema")
+ }
+ call = call.Fields(projectedFields...)
+ setClientHeader(call.Header())
+ if pageToken != "" {
+ call.PageToken(pageToken)
+ } else {
+ call.StartIndex(startIndex)
+ }
+ if pageSize > 0 {
+ call.MaxResults(pageSize)
+ }
+ var res *bq.GetQueryResultsResponse
+ err := runWithRetry(ctx, func() (err error) {
+ res, err = call.Do()
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ // Populate schema in the rowsource if it's missing
+ if schema == nil {
+ schema = bqToSchema(res.Schema)
+ }
+ rows, err := convertRows(res.Rows, schema)
+ if err != nil {
+ return nil, err
+ }
+ return &fetchPageResult{
+ pageToken: res.PageToken,
+ rows: rows,
+ totalRows: uint64(res.TotalRows),
+ schema: schema,
+ }, nil
+}
+
+var errNoCacheData = errors.New("no rows in rowSource cache")
+
+// fetchCachedPage attempts to service the first page of results. For the jobs path specifically, we have an
+// opportunity to fetch rows before the iterator is constructed, and thus serve that data as the first request
+// without an unnecessary network round trip.
+func fetchCachedPage(ctx context.Context, src *rowSource, schema Schema, startIndex uint64, pageSize int64, pageToken string) (*fetchPageResult, error) {
+ // we have no cached data
+ if src.cachedRows == nil {
+ return nil, errNoCacheData
+ }
+ // we have no schema for decoding. convert from the cached representation if available.
+ if schema == nil {
+ if src.cachedSchema == nil {
+ // We can't progress with no schema, destroy references and return a miss.
+ src.cachedRows = nil
+ src.cachedNextToken = ""
+ return nil, errNoCacheData
+ }
+ schema = bqToSchema(src.cachedSchema)
+ }
+ // Only serve from cache where we're confident we know someone's asking for the first page
+ // without having to align data.
+ //
+ // Future consideration: we could service pagesizes smaller than the cache if we're willing to handle generation
+ // of pageTokens for the cache.
+ if pageToken == "" &&
+ startIndex == 0 &&
+ (pageSize == 0 || pageSize == int64(len(src.cachedRows))) {
+ converted, err := convertRows(src.cachedRows, schema)
+ if err != nil {
+ // destroy cache references and return error
+ src.cachedRows = nil
+ src.cachedSchema = nil
+ src.cachedNextToken = ""
+ return nil, err
+ }
+ result := &fetchPageResult{
+ pageToken: src.cachedNextToken,
+ rows: converted,
+ schema: schema,
+ totalRows: uint64(len(converted)),
+ }
+ // clear cache references and return response.
+ src.cachedRows = nil
+ src.cachedSchema = nil
+ src.cachedNextToken = ""
+ return result, nil
+ }
+ // All other cases are invalid. Destroy any cache references on the way out the door.
+ src.cachedRows = nil
+ src.cachedSchema = nil
+ src.cachedNextToken = ""
+ return nil, errNoCacheData
+}
diff --git a/vendor/cloud.google.com/go/bigquery/job.go b/vendor/cloud.google.com/go/bigquery/job.go
new file mode 100644
index 000000000..d1d7f0631
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/job.go
@@ -0,0 +1,1160 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "time"
+
+ "cloud.google.com/go/internal"
+ "cloud.google.com/go/internal/trace"
+ gax "github.com/googleapis/gax-go/v2"
+ bq "google.golang.org/api/bigquery/v2"
+ "google.golang.org/api/googleapi"
+ "google.golang.org/api/iterator"
+)
+
+// A Job represents an operation which has been submitted to BigQuery for processing.
+type Job struct {
+ c *Client
+ projectID string
+ jobID string
+ location string
+ email string
+ config *bq.JobConfiguration
+ lastStatus *JobStatus
+}
+
+// JobFromID creates a Job which refers to an existing BigQuery job. The job
+// need not have been created by this package. For example, the job may have
+// been created in the BigQuery console.
+//
+// For jobs whose location is other than "US" or "EU", set Client.Location or use
+// JobFromIDLocation.
+func (c *Client) JobFromID(ctx context.Context, id string) (*Job, error) {
+ return c.JobFromProject(ctx, c.projectID, id, c.Location)
+}
+
+// JobFromIDLocation creates a Job which refers to an existing BigQuery job. The job
+// need not have been created by this package (for example, it may have
+// been created in the BigQuery console), but it must exist in the specified location.
+func (c *Client) JobFromIDLocation(ctx context.Context, id, location string) (j *Job, err error) {
+ return c.JobFromProject(ctx, c.projectID, id, location)
+}
+
+// JobFromProject creates a Job which refers to an existing BigQuery job. The job
+// need not have been created by this package, nor does it need to reside within the same
+// project or location as the instantiated client.
+func (c *Client) JobFromProject(ctx context.Context, projectID, jobID, location string) (j *Job, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.JobFromProject")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ bqjob, err := c.getJobInternal(ctx, jobID, location, projectID, "user_email", "configuration", "jobReference", "status", "statistics")
+ if err != nil {
+ return nil, err
+ }
+ return bqToJob(bqjob, c)
+}
+
+// ProjectID returns the job's associated project.
+func (j *Job) ProjectID() string {
+ return j.projectID
+}
+
+// ID returns the job's ID.
+func (j *Job) ID() string {
+ return j.jobID
+}
+
+// Location returns the job's location.
+func (j *Job) Location() string {
+ return j.location
+}
+
+// Email returns the email of the job's creator.
+func (j *Job) Email() string {
+ return j.email
+}
+
+// State is one of a sequence of states that a Job progresses through as it is processed.
+type State int
+
+const (
+ // StateUnspecified is the default JobIterator state.
+ StateUnspecified State = iota
+ // Pending is a state that describes that the job is pending.
+ Pending
+ // Running is a state that describes that the job is running.
+ Running
+ // Done is a state that describes that the job is done.
+ Done
+)
+
+// JobStatus contains the current State of a job, and errors encountered while processing that job.
+type JobStatus struct {
+ State State
+
+ err error
+
+ // All errors encountered during the running of the job.
+ // Not all Errors are fatal, so errors here do not necessarily mean that the job has completed or was unsuccessful.
+ Errors []*Error
+
+ // Statistics about the job.
+ Statistics *JobStatistics
+}
+
+// JobConfig contains configuration information for a job. It is implemented by
+// *CopyConfig, *ExtractConfig, *LoadConfig and *QueryConfig.
+type JobConfig interface {
+ isJobConfig()
+}
+
+func (*CopyConfig) isJobConfig() {}
+func (*ExtractConfig) isJobConfig() {}
+func (*LoadConfig) isJobConfig() {}
+func (*QueryConfig) isJobConfig() {}
+
+// Config returns the configuration information for j.
+func (j *Job) Config() (JobConfig, error) {
+ return bqToJobConfig(j.config, j.c)
+}
+
+// Children returns a job iterator for enumerating child jobs
+// of the current job. Currently only scripts, a form of query job,
+// will create child jobs.
+func (j *Job) Children(ctx context.Context) *JobIterator {
+ it := j.c.Jobs(ctx)
+ it.ParentJobID = j.ID()
+ return it
+}
+
+func bqToJobConfig(q *bq.JobConfiguration, c *Client) (JobConfig, error) {
+ switch {
+ case q == nil:
+ return nil, nil
+ case q.Copy != nil:
+ return bqToCopyConfig(q, c), nil
+ case q.Extract != nil:
+ return bqToExtractConfig(q, c), nil
+ case q.Load != nil:
+ return bqToLoadConfig(q, c), nil
+ case q.Query != nil:
+ return bqToQueryConfig(q, c)
+ default:
+ return nil, nil
+ }
+}
+
+// JobIDConfig describes how to create an ID for a job.
+type JobIDConfig struct {
+ // JobID is the ID to use for the job. If empty, a random job ID will be generated.
+ JobID string
+
+ // If AddJobIDSuffix is true, then a random string will be appended to JobID.
+ AddJobIDSuffix bool
+
+ // Location is the location for the job.
+ Location string
+
+ // ProjectID is the Google Cloud project associated with the job.
+ ProjectID string
+}
+
+// createJobRef creates a JobReference.
+func (j *JobIDConfig) createJobRef(c *Client) *bq.JobReference {
+ projectID := j.ProjectID
+ if projectID == "" { // Use Client.ProjectID as a default.
+ projectID = c.projectID
+ }
+ loc := j.Location
+ if loc == "" { // Use Client.Location as a default.
+ loc = c.Location
+ }
+ jr := &bq.JobReference{ProjectId: projectID, Location: loc}
+ if j.JobID == "" {
+ jr.JobId = randomIDFn()
+ } else if j.AddJobIDSuffix {
+ jr.JobId = j.JobID + "-" + randomIDFn()
+ } else {
+ jr.JobId = j.JobID
+ }
+ return jr
+}
+
+// Done reports whether the job has completed.
+// After Done returns true, the Err method will return an error if the job completed unsuccessfully.
+func (s *JobStatus) Done() bool {
+ return s.State == Done
+}
+
+// Err returns the error that caused the job to complete unsuccessfully (if any).
+func (s *JobStatus) Err() error {
+ return s.err
+}
+
+// Status retrieves the current status of the job from BigQuery. It fails if the Status could not be determined.
+func (j *Job) Status(ctx context.Context) (js *JobStatus, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Job.Status")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ bqjob, err := j.c.getJobInternal(ctx, j.jobID, j.location, j.projectID, "status", "statistics")
+ if err != nil {
+ return nil, err
+ }
+ if err := j.setStatus(bqjob.Status); err != nil {
+ return nil, err
+ }
+ j.setStatistics(bqjob.Statistics, j.c)
+ return j.lastStatus, nil
+}
+
+// LastStatus returns the most recently retrieved status of the job. The status is
+// retrieved when a new job is created, or when JobFromID or Job.Status is called.
+// Call Job.Status to get the most up-to-date information about a job.
+func (j *Job) LastStatus() *JobStatus {
+ return j.lastStatus
+}
+
+// Cancel requests that a job be cancelled. This method returns without waiting for
+// cancellation to take effect. To check whether the job has terminated, use Job.Status.
+// Cancelled jobs may still incur costs.
+func (j *Job) Cancel(ctx context.Context) error {
+ // Jobs.Cancel returns a job entity, but the only relevant piece of
+ // data it may contain (the status of the job) is unreliable. From the
+ // docs: "This call will return immediately, and the client will need
+ // to poll for the job status to see if the cancel completed
+ // successfully". So it would be misleading to return a status.
+ call := j.c.bqs.Jobs.Cancel(j.projectID, j.jobID).
+ Location(j.location).
+ Fields(). // We don't need any of the response data.
+ Context(ctx)
+ setClientHeader(call.Header())
+ return runWithRetry(ctx, func() error {
+ sCtx := trace.StartSpan(ctx, "bigquery.jobs.cancel")
+ _, err := call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+}
+
+// Delete deletes the job.
+func (j *Job) Delete(ctx context.Context) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Job.Delete")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ call := j.c.bqs.Jobs.Delete(j.projectID, j.jobID).Context(ctx)
+ if j.location != "" {
+ call = call.Location(j.location)
+ }
+ setClientHeader(call.Header())
+
+ return runWithRetry(ctx, func() (err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.jobs.delete")
+ err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+}
+
+// Wait blocks until the job or the context is done. It returns the final status
+// of the job.
+// If an error occurs while retrieving the status, Wait returns that error. But
+// Wait returns nil if the status was retrieved successfully, even if
+// status.Err() != nil. So callers must check both errors. See the example.
+func (j *Job) Wait(ctx context.Context) (js *JobStatus, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Job.Wait")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ if j.isQuery() {
+ // We can avoid polling for query jobs.
+ if _, _, err := j.waitForQuery(ctx, j.projectID); err != nil {
+ return nil, err
+ }
+ // Note: extra RPC even if you just want to wait for the query to finish.
+ js, err := j.Status(ctx)
+ if err != nil {
+ return nil, err
+ }
+ return js, nil
+ }
+ // Non-query jobs must poll.
+ err = internal.Retry(ctx, gax.Backoff{}, func() (stop bool, err error) {
+ js, err = j.Status(ctx)
+ if err != nil {
+ return true, err
+ }
+ if js.Done() {
+ return true, nil
+ }
+ return false, nil
+ })
+ if err != nil {
+ return nil, err
+ }
+ return js, nil
+}
+
+// Read fetches the results of a query job.
+// If j is not a query job, Read returns an error.
+func (j *Job) Read(ctx context.Context) (ri *RowIterator, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Job.Read")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ return j.read(ctx, j.waitForQuery, fetchPage)
+}
+
+func (j *Job) read(ctx context.Context, waitForQuery func(context.Context, string) (Schema, uint64, error), pf pageFetcher) (*RowIterator, error) {
+ if !j.isQuery() {
+ return nil, errors.New("bigquery: cannot read from a non-query job")
+ }
+ schema, totalRows, err := waitForQuery(ctx, j.projectID)
+ if err != nil {
+ return nil, err
+ }
+ var it *RowIterator
+ if j.c.isStorageReadAvailable() {
+ it, err = newStorageRowIteratorFromJob(ctx, j)
+ if err != nil {
+ it = nil
+ }
+ }
+ if it == nil {
+ // Shave off some potential overhead by only retaining the minimal job representation in the iterator.
+ itJob := &Job{
+ c: j.c,
+ projectID: j.projectID,
+ jobID: j.jobID,
+ location: j.location,
+ }
+ it = newRowIterator(ctx, &rowSource{j: itJob}, pf)
+ it.TotalRows = totalRows
+ }
+ it.Schema = schema
+ return it, nil
+}
+
+// waitForQuery waits for the query job to complete and returns its schema. It also
+// returns the total number of rows in the result set.
+func (j *Job) waitForQuery(ctx context.Context, projectID string) (Schema, uint64, error) {
+ // Use GetQueryResults only to wait for completion, not to read results.
+ call := j.c.bqs.Jobs.GetQueryResults(projectID, j.jobID).Location(j.location).Context(ctx).MaxResults(0)
+ call = call.FormatOptionsUseInt64Timestamp(true)
+ setClientHeader(call.Header())
+ backoff := gax.Backoff{
+ Initial: 1 * time.Second,
+ Multiplier: 2,
+ Max: 60 * time.Second,
+ }
+ var res *bq.GetQueryResultsResponse
+ err := internal.Retry(ctx, backoff, func() (stop bool, err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.jobs.getQueryResults")
+ res, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ if err != nil {
+ return !retryableError(err, jobRetryReasons), err
+ }
+ if !res.JobComplete { // GetQueryResults may return early without error; retry.
+ return false, nil
+ }
+ return true, nil
+ })
+ if err != nil {
+ return nil, 0, err
+ }
+ return bqToSchema(res.Schema), res.TotalRows, nil
+}
+
+// JobStatistics contains statistics about a job.
+type JobStatistics struct {
+ CreationTime time.Time
+ StartTime time.Time
+ EndTime time.Time
+ TotalBytesProcessed int64
+
+ Details Statistics
+
+ // NumChildJobs indicates the number of child jobs run as part of a script.
+ NumChildJobs int64
+
+ // ParentJobID indicates the origin job for jobs run as part of a script.
+ ParentJobID string
+
+ // ScriptStatistics includes information run as part of a child job within
+ // a script.
+ ScriptStatistics *ScriptStatistics
+
+ // ReservationUsage attributes slot consumption to reservations.
+ ReservationUsage []*ReservationUsage
+
+ // TransactionInfo indicates the transaction ID associated with the job, if any.
+ TransactionInfo *TransactionInfo
+
+ // SessionInfo contains information about the session if this job is part of one.
+ SessionInfo *SessionInfo
+}
+
+// Statistics is one of ExtractStatistics, LoadStatistics or QueryStatistics.
+type Statistics interface {
+ implementsStatistics()
+}
+
+// ExtractStatistics contains statistics about an extract job.
+type ExtractStatistics struct {
+ // The number of files per destination URI or URI pattern specified in the
+ // extract configuration. These values will be in the same order as the
+ // URIs specified in the 'destinationUris' field.
+ DestinationURIFileCounts []int64
+}
+
+// LoadStatistics contains statistics about a load job.
+type LoadStatistics struct {
+ // The number of bytes of source data in a load job.
+ InputFileBytes int64
+
+ // The number of source files in a load job.
+ InputFiles int64
+
+ // Size of the loaded data in bytes. Note that while a load job is in the
+ // running state, this value may change.
+ OutputBytes int64
+
+ // The number of rows imported in a load job. Note that while an import job is
+ // in the running state, this value may change.
+ OutputRows int64
+}
+
+// QueryStatistics contains statistics about a query job.
+type QueryStatistics struct {
+
+ // BI-Engine specific statistics.
+ BIEngineStatistics *BIEngineStatistics
+
+ // Billing tier for the job.
+ BillingTier int64
+
+ // Whether the query result was fetched from the query cache.
+ CacheHit bool
+
+ // The type of query statement, if valid.
+ StatementType string
+
+ // Total bytes billed for the job.
+ TotalBytesBilled int64
+
+ // Total bytes processed for the job.
+ TotalBytesProcessed int64
+
+ // For dry run queries, indicates how accurate the TotalBytesProcessed value is.
+ // When indicated, values include:
+ // UNKNOWN: accuracy of the estimate is unknown.
+ // PRECISE: estimate is precise.
+ // LOWER_BOUND: estimate is lower bound of what the query would cost.
+ // UPPER_BOUND: estimate is upper bound of what the query would cost.
+ TotalBytesProcessedAccuracy string
+
+ // Describes execution plan for the query.
+ QueryPlan []*ExplainQueryStage
+
+ // The number of rows affected by a DML statement. Present only for DML
+ // statements INSERT, UPDATE or DELETE.
+ NumDMLAffectedRows int64
+
+ // DMLStats provides statistics about the row mutations performed by
+ // DML statements.
+ DMLStats *DMLStatistics
+
+ // Describes a timeline of job execution.
+ Timeline []*QueryTimelineSample
+
+ // ReferencedTables: [Output-only] Referenced tables for
+ // the job. Queries that reference more than 50 tables will not have a
+ // complete list.
+ ReferencedTables []*Table
+
+ // The schema of the results. Present only for successful dry run of
+ // non-legacy SQL queries.
+ Schema Schema
+
+ // Slot-milliseconds consumed by this query job.
+ SlotMillis int64
+
+ // Standard SQL: list of undeclared query parameter names detected during a
+ // dry run validation.
+ UndeclaredQueryParameterNames []string
+
+ // DDL target table.
+ DDLTargetTable *Table
+
+ // DDL Operation performed on the target table. Used to report how the
+ // query impacted the DDL target table.
+ DDLOperationPerformed string
+
+ // The DDL target table, present only for CREATE/DROP FUNCTION/PROCEDURE queries.
+ DDLTargetRoutine *Routine
+
+ // Statistics for the EXPORT DATA statement as part of Query Job.
+ ExportDataStatistics *ExportDataStatistics
+}
+
+// ExportDataStatistics represents statistics for
+// a EXPORT DATA statement as part of Query Job.
+type ExportDataStatistics struct {
+ // Number of destination files generated.
+ FileCount int64
+
+ // Number of destination rows generated.
+ RowCount int64
+}
+
+func bqToExportDataStatistics(in *bq.ExportDataStatistics) *ExportDataStatistics {
+ if in == nil {
+ return nil
+ }
+ stats := &ExportDataStatistics{
+ FileCount: in.FileCount,
+ RowCount: in.RowCount,
+ }
+ return stats
+}
+
+// BIEngineStatistics contains query statistics specific to the use of BI Engine.
+type BIEngineStatistics struct {
+ // Specifies which mode of BI Engine acceleration was performed.
+ BIEngineMode string
+
+ // In case of DISABLED or PARTIAL BIEngineMode, these
+ // contain the explanatory reasons as to why BI Engine could not
+ // accelerate. In case the full query was accelerated, this field is not
+ // populated.
+ BIEngineReasons []*BIEngineReason
+}
+
+func bqToBIEngineStatistics(in *bq.BiEngineStatistics) *BIEngineStatistics {
+ if in == nil {
+ return nil
+ }
+ stats := &BIEngineStatistics{
+ BIEngineMode: in.BiEngineMode,
+ }
+ for _, v := range in.BiEngineReasons {
+ stats.BIEngineReasons = append(stats.BIEngineReasons, bqToBIEngineReason(v))
+ }
+ return stats
+}
+
+// BIEngineReason contains more detailed information about why a query wasn't fully
+// accelerated.
+type BIEngineReason struct {
+ // High-Level BI engine reason for partial or disabled acceleration.
+ Code string
+
+ // Human-readable reason for partial or disabled acceleration.
+ Message string
+}
+
+func bqToBIEngineReason(in *bq.BiEngineReason) *BIEngineReason {
+ if in == nil {
+ return nil
+ }
+ return &BIEngineReason{
+ Code: in.Code,
+ Message: in.Message,
+ }
+}
+
+// ExplainQueryStage describes one stage of a query.
+type ExplainQueryStage struct {
+ // CompletedParallelInputs: Number of parallel input segments completed.
+ CompletedParallelInputs int64
+
+ // ComputeAvg: Duration the average shard spent on CPU-bound tasks.
+ ComputeAvg time.Duration
+
+ // ComputeMax: Duration the slowest shard spent on CPU-bound tasks.
+ ComputeMax time.Duration
+
+ // Relative amount of the total time the average shard spent on CPU-bound tasks.
+ ComputeRatioAvg float64
+
+ // Relative amount of the total time the slowest shard spent on CPU-bound tasks.
+ ComputeRatioMax float64
+
+ // EndTime: Stage end time.
+ EndTime time.Time
+
+ // Unique ID for stage within plan.
+ ID int64
+
+ // InputStages: IDs for stages that are inputs to this stage.
+ InputStages []int64
+
+ // Human-readable name for stage.
+ Name string
+
+ // ParallelInputs: Number of parallel input segments to be processed.
+ ParallelInputs int64
+
+ // ReadAvg: Duration the average shard spent reading input.
+ ReadAvg time.Duration
+
+ // ReadMax: Duration the slowest shard spent reading input.
+ ReadMax time.Duration
+
+ // Relative amount of the total time the average shard spent reading input.
+ ReadRatioAvg float64
+
+ // Relative amount of the total time the slowest shard spent reading input.
+ ReadRatioMax float64
+
+ // Number of records read into the stage.
+ RecordsRead int64
+
+ // Number of records written by the stage.
+ RecordsWritten int64
+
+ // ShuffleOutputBytes: Total number of bytes written to shuffle.
+ ShuffleOutputBytes int64
+
+ // ShuffleOutputBytesSpilled: Total number of bytes written to shuffle
+ // and spilled to disk.
+ ShuffleOutputBytesSpilled int64
+
+ // StartTime: Stage start time.
+ StartTime time.Time
+
+ // Current status for the stage.
+ Status string
+
+ // List of operations within the stage in dependency order (approximately
+ // chronological).
+ Steps []*ExplainQueryStep
+
+ // WaitAvg: Duration the average shard spent waiting to be scheduled.
+ WaitAvg time.Duration
+
+ // WaitMax: Duration the slowest shard spent waiting to be scheduled.
+ WaitMax time.Duration
+
+ // Relative amount of the total time the average shard spent waiting to be scheduled.
+ WaitRatioAvg float64
+
+ // Relative amount of the total time the slowest shard spent waiting to be scheduled.
+ WaitRatioMax float64
+
+ // WriteAvg: Duration the average shard spent on writing output.
+ WriteAvg time.Duration
+
+ // WriteMax: Duration the slowest shard spent on writing output.
+ WriteMax time.Duration
+
+ // Relative amount of the total time the average shard spent on writing output.
+ WriteRatioAvg float64
+
+ // Relative amount of the total time the slowest shard spent on writing output.
+ WriteRatioMax float64
+}
+
+// ExplainQueryStep describes one step of a query stage.
+type ExplainQueryStep struct {
+ // Machine-readable operation type.
+ Kind string
+
+ // Human-readable stage descriptions.
+ Substeps []string
+}
+
+// QueryTimelineSample represents a sample of execution statistics at a point in time.
+type QueryTimelineSample struct {
+
+ // Total number of units currently being processed by workers, represented as largest value since last sample.
+ ActiveUnits int64
+
+ // Total parallel units of work completed by this query.
+ CompletedUnits int64
+
+ // Time elapsed since start of query execution.
+ Elapsed time.Duration
+
+ // Total parallel units of work remaining for the active stages.
+ PendingUnits int64
+
+ // Cumulative slot-milliseconds consumed by the query.
+ SlotMillis int64
+}
+
+// ReservationUsage contains information about a job's usage of a single reservation.
+type ReservationUsage struct {
+ // SlotMillis reports the slot milliseconds utilized within in the given reservation.
+ SlotMillis int64
+ // Name indicates the utilized reservation name, or "unreserved" for ondemand usage.
+ Name string
+}
+
+func bqToReservationUsage(ru []*bq.JobStatisticsReservationUsage) []*ReservationUsage {
+ var usage []*ReservationUsage
+ for _, in := range ru {
+ usage = append(usage, &ReservationUsage{
+ SlotMillis: in.SlotMs,
+ Name: in.Name,
+ })
+ }
+ return usage
+}
+
+// ScriptStatistics report information about script-based query jobs.
+type ScriptStatistics struct {
+ EvaluationKind string
+ StackFrames []*ScriptStackFrame
+}
+
+func bqToScriptStatistics(bs *bq.ScriptStatistics) *ScriptStatistics {
+ if bs == nil {
+ return nil
+ }
+ ss := &ScriptStatistics{
+ EvaluationKind: bs.EvaluationKind,
+ }
+ for _, f := range bs.StackFrames {
+ ss.StackFrames = append(ss.StackFrames, bqToScriptStackFrame(f))
+ }
+ return ss
+}
+
+// ScriptStackFrame represents the location of the statement/expression being evaluated.
+//
+// Line and column numbers are defined as follows:
+//
+// - Line and column numbers start with one. That is, line 1 column 1 denotes
+// the start of the script.
+// - When inside a stored procedure, all line/column numbers are relative
+// to the procedure body, not the script in which the procedure was defined.
+// - Start/end positions exclude leading/trailing comments and whitespace.
+// The end position always ends with a ";", when present.
+// - Multi-byte Unicode characters are treated as just one column.
+// - If the original script (or procedure definition) contains TAB characters,
+// a tab "snaps" the indentation forward to the nearest multiple of 8
+// characters, plus 1. For example, a TAB on column 1, 2, 3, 4, 5, 6 , or 8
+// will advance the next character to column 9. A TAB on column 9, 10, 11,
+// 12, 13, 14, 15, or 16 will advance the next character to column 17.
+type ScriptStackFrame struct {
+ StartLine int64
+ StartColumn int64
+ EndLine int64
+ EndColumn int64
+ // Name of the active procedure. Empty if in a top-level script.
+ ProcedureID string
+ // Text of the current statement/expression.
+ Text string
+}
+
+func bqToScriptStackFrame(bsf *bq.ScriptStackFrame) *ScriptStackFrame {
+ if bsf == nil {
+ return nil
+ }
+ return &ScriptStackFrame{
+ StartLine: bsf.StartLine,
+ StartColumn: bsf.StartColumn,
+ EndLine: bsf.EndLine,
+ EndColumn: bsf.EndColumn,
+ ProcedureID: bsf.ProcedureId,
+ Text: bsf.Text,
+ }
+}
+
+// DMLStatistics contains counts of row mutations triggered by a DML query statement.
+type DMLStatistics struct {
+ // Rows added by the statement.
+ InsertedRowCount int64
+ // Rows removed by the statement.
+ DeletedRowCount int64
+ // Rows changed by the statement.
+ UpdatedRowCount int64
+}
+
+func bqToDMLStatistics(q *bq.DmlStatistics) *DMLStatistics {
+ if q == nil {
+ return nil
+ }
+ return &DMLStatistics{
+ InsertedRowCount: q.InsertedRowCount,
+ DeletedRowCount: q.DeletedRowCount,
+ UpdatedRowCount: q.UpdatedRowCount,
+ }
+}
+
+func (*ExtractStatistics) implementsStatistics() {}
+func (*LoadStatistics) implementsStatistics() {}
+func (*QueryStatistics) implementsStatistics() {}
+
+// Jobs lists jobs within a project.
+func (c *Client) Jobs(ctx context.Context) *JobIterator {
+ it := &JobIterator{
+ ctx: ctx,
+ c: c,
+ ProjectID: c.projectID,
+ }
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(
+ it.fetch,
+ func() int { return len(it.items) },
+ func() interface{} { b := it.items; it.items = nil; return b })
+ return it
+}
+
+// JobIterator iterates over jobs in a project.
+type JobIterator struct {
+ ProjectID string // Project ID of the jobs to list. Default is the client's project.
+ AllUsers bool // Whether to list jobs owned by all users in the project, or just the current caller.
+ State State // List only jobs in the given state. Defaults to all states.
+ MinCreationTime time.Time // List only jobs created after this time.
+ MaxCreationTime time.Time // List only jobs created before this time.
+ ParentJobID string // List only jobs that are children of a given scripting job.
+
+ ctx context.Context
+ c *Client
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+ items []*Job
+}
+
+// PageInfo is a getter for the JobIterator's PageInfo.
+func (it *JobIterator) PageInfo() *iterator.PageInfo { return it.pageInfo }
+
+// Next returns the next Job. Its second return value is iterator.Done if
+// there are no more results. Once Next returns Done, all subsequent calls will
+// return Done.
+func (it *JobIterator) Next() (*Job, error) {
+ if err := it.nextFunc(); err != nil {
+ return nil, err
+ }
+ item := it.items[0]
+ it.items = it.items[1:]
+ return item, nil
+}
+
+func (it *JobIterator) fetch(pageSize int, pageToken string) (string, error) {
+ var st string
+ switch it.State {
+ case StateUnspecified:
+ st = ""
+ case Pending:
+ st = "pending"
+ case Running:
+ st = "running"
+ case Done:
+ st = "done"
+ default:
+ return "", fmt.Errorf("bigquery: invalid value for JobIterator.State: %d", it.State)
+ }
+
+ req := it.c.bqs.Jobs.List(it.ProjectID).
+ Context(it.ctx).
+ PageToken(pageToken).
+ Projection("full").
+ AllUsers(it.AllUsers)
+ if st != "" {
+ req.StateFilter(st)
+ }
+ if !it.MinCreationTime.IsZero() {
+ req.MinCreationTime(uint64(it.MinCreationTime.UnixNano() / 1e6))
+ }
+ if !it.MaxCreationTime.IsZero() {
+ req.MaxCreationTime(uint64(it.MaxCreationTime.UnixNano() / 1e6))
+ }
+ setClientHeader(req.Header())
+ if pageSize > 0 {
+ req.MaxResults(int64(pageSize))
+ }
+ if it.ParentJobID != "" {
+ req.ParentJobId(it.ParentJobID)
+ }
+ var res *bq.JobList
+ err := runWithRetry(it.ctx, func() (err error) {
+ sCtx := trace.StartSpan(it.ctx, "bigquery.jobs.list")
+ res, err = req.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+
+ if err != nil {
+ return "", err
+ }
+ for _, j := range res.Jobs {
+ job, err := convertListedJob(j, it.c)
+ if err != nil {
+ return "", err
+ }
+ it.items = append(it.items, job)
+ }
+ return res.NextPageToken, nil
+}
+
+func convertListedJob(j *bq.JobListJobs, c *Client) (*Job, error) {
+ return bqToJob2(j.JobReference, j.Configuration, j.Status, j.Statistics, j.UserEmail, c)
+}
+
+func (c *Client) getJobInternal(ctx context.Context, jobID, location, projectID string, fields ...googleapi.Field) (*bq.Job, error) {
+ var job *bq.Job
+ proj := projectID
+ if proj == "" {
+ proj = c.projectID
+ }
+ call := c.bqs.Jobs.Get(proj, jobID).Context(ctx)
+ if location != "" {
+ call = call.Location(location)
+ }
+ if len(fields) > 0 {
+ call = call.Fields(fields...)
+ }
+ setClientHeader(call.Header())
+ err := runWithRetry(ctx, func() (err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.jobs.get")
+ job, err = call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ return job, nil
+}
+
+func bqToJob(q *bq.Job, c *Client) (*Job, error) {
+ return bqToJob2(q.JobReference, q.Configuration, q.Status, q.Statistics, q.UserEmail, c)
+}
+
+func bqToJob2(qr *bq.JobReference, qc *bq.JobConfiguration, qs *bq.JobStatus, qt *bq.JobStatistics, email string, c *Client) (*Job, error) {
+ j := &Job{
+ projectID: qr.ProjectId,
+ jobID: qr.JobId,
+ location: qr.Location,
+ c: c,
+ email: email,
+ }
+ j.setConfig(qc)
+ if err := j.setStatus(qs); err != nil {
+ return nil, err
+ }
+ j.setStatistics(qt, c)
+ return j, nil
+}
+
+func (j *Job) setConfig(config *bq.JobConfiguration) {
+ if config == nil {
+ return
+ }
+ j.config = config
+}
+
+func (j *Job) isQuery() bool {
+ return j.config != nil && j.config.Query != nil
+}
+
+func (j *Job) isScript() bool {
+ return j.hasStatementType("SCRIPT")
+}
+
+func (j *Job) isSelectQuery() bool {
+ return j.hasStatementType("SELECT")
+}
+
+func (j *Job) hasStatementType(statementType string) bool {
+ if !j.isQuery() {
+ return false
+ }
+ if j.lastStatus == nil {
+ return false
+ }
+ queryStats, ok := j.lastStatus.Statistics.Details.(*QueryStatistics)
+ if !ok {
+ return false
+ }
+ return queryStats.StatementType == statementType
+}
+
+var stateMap = map[string]State{"PENDING": Pending, "RUNNING": Running, "DONE": Done}
+
+func (j *Job) setStatus(qs *bq.JobStatus) error {
+ if qs == nil {
+ return nil
+ }
+ state, ok := stateMap[qs.State]
+ if !ok {
+ return fmt.Errorf("unexpected job state: %s", qs.State)
+ }
+ j.lastStatus = &JobStatus{
+ State: state,
+ err: nil,
+ }
+ if err := bqToError(qs.ErrorResult); state == Done && err != nil {
+ j.lastStatus.err = err
+ }
+ for _, ep := range qs.Errors {
+ j.lastStatus.Errors = append(j.lastStatus.Errors, bqToError(ep))
+ }
+ return nil
+}
+
+func (j *Job) setStatistics(s *bq.JobStatistics, c *Client) {
+ if s == nil || j.lastStatus == nil {
+ return
+ }
+ js := &JobStatistics{
+ CreationTime: unixMillisToTime(s.CreationTime),
+ StartTime: unixMillisToTime(s.StartTime),
+ EndTime: unixMillisToTime(s.EndTime),
+ TotalBytesProcessed: s.TotalBytesProcessed,
+ NumChildJobs: s.NumChildJobs,
+ ParentJobID: s.ParentJobId,
+ ScriptStatistics: bqToScriptStatistics(s.ScriptStatistics),
+ ReservationUsage: bqToReservationUsage(s.ReservationUsage),
+ TransactionInfo: bqToTransactionInfo(s.TransactionInfo),
+ SessionInfo: bqToSessionInfo(s.SessionInfo),
+ }
+ switch {
+ case s.Extract != nil:
+ js.Details = &ExtractStatistics{
+ DestinationURIFileCounts: []int64(s.Extract.DestinationUriFileCounts),
+ }
+ case s.Load != nil:
+ js.Details = &LoadStatistics{
+ InputFileBytes: s.Load.InputFileBytes,
+ InputFiles: s.Load.InputFiles,
+ OutputBytes: s.Load.OutputBytes,
+ OutputRows: s.Load.OutputRows,
+ }
+ case s.Query != nil:
+ var names []string
+ for _, qp := range s.Query.UndeclaredQueryParameters {
+ names = append(names, qp.Name)
+ }
+ var tables []*Table
+ for _, tr := range s.Query.ReferencedTables {
+ tables = append(tables, bqToTable(tr, c))
+ }
+ js.Details = &QueryStatistics{
+ BIEngineStatistics: bqToBIEngineStatistics(s.Query.BiEngineStatistics),
+ BillingTier: s.Query.BillingTier,
+ CacheHit: s.Query.CacheHit,
+ DDLTargetTable: bqToTable(s.Query.DdlTargetTable, c),
+ DDLOperationPerformed: s.Query.DdlOperationPerformed,
+ DDLTargetRoutine: bqToRoutine(s.Query.DdlTargetRoutine, c),
+ ExportDataStatistics: bqToExportDataStatistics(s.Query.ExportDataStatistics),
+ StatementType: s.Query.StatementType,
+ TotalBytesBilled: s.Query.TotalBytesBilled,
+ TotalBytesProcessed: s.Query.TotalBytesProcessed,
+ TotalBytesProcessedAccuracy: s.Query.TotalBytesProcessedAccuracy,
+ NumDMLAffectedRows: s.Query.NumDmlAffectedRows,
+ DMLStats: bqToDMLStatistics(s.Query.DmlStats),
+ QueryPlan: queryPlanFromProto(s.Query.QueryPlan),
+ Schema: bqToSchema(s.Query.Schema),
+ SlotMillis: s.Query.TotalSlotMs,
+ Timeline: timelineFromProto(s.Query.Timeline),
+ ReferencedTables: tables,
+ UndeclaredQueryParameterNames: names,
+ }
+ }
+ j.lastStatus.Statistics = js
+}
+
+func queryPlanFromProto(stages []*bq.ExplainQueryStage) []*ExplainQueryStage {
+ var res []*ExplainQueryStage
+ for _, s := range stages {
+ var steps []*ExplainQueryStep
+ for _, p := range s.Steps {
+ steps = append(steps, &ExplainQueryStep{
+ Kind: p.Kind,
+ Substeps: p.Substeps,
+ })
+ }
+ res = append(res, &ExplainQueryStage{
+ CompletedParallelInputs: s.CompletedParallelInputs,
+ ComputeAvg: time.Duration(s.ComputeMsAvg) * time.Millisecond,
+ ComputeMax: time.Duration(s.ComputeMsMax) * time.Millisecond,
+ ComputeRatioAvg: s.ComputeRatioAvg,
+ ComputeRatioMax: s.ComputeRatioMax,
+ EndTime: time.Unix(0, s.EndMs*1e6),
+ ID: s.Id,
+ InputStages: s.InputStages,
+ Name: s.Name,
+ ParallelInputs: s.ParallelInputs,
+ ReadAvg: time.Duration(s.ReadMsAvg) * time.Millisecond,
+ ReadMax: time.Duration(s.ReadMsMax) * time.Millisecond,
+ ReadRatioAvg: s.ReadRatioAvg,
+ ReadRatioMax: s.ReadRatioMax,
+ RecordsRead: s.RecordsRead,
+ RecordsWritten: s.RecordsWritten,
+ ShuffleOutputBytes: s.ShuffleOutputBytes,
+ ShuffleOutputBytesSpilled: s.ShuffleOutputBytesSpilled,
+ StartTime: time.Unix(0, s.StartMs*1e6),
+ Status: s.Status,
+ Steps: steps,
+ WaitAvg: time.Duration(s.WaitMsAvg) * time.Millisecond,
+ WaitMax: time.Duration(s.WaitMsMax) * time.Millisecond,
+ WaitRatioAvg: s.WaitRatioAvg,
+ WaitRatioMax: s.WaitRatioMax,
+ WriteAvg: time.Duration(s.WriteMsAvg) * time.Millisecond,
+ WriteMax: time.Duration(s.WriteMsMax) * time.Millisecond,
+ WriteRatioAvg: s.WriteRatioAvg,
+ WriteRatioMax: s.WriteRatioMax,
+ })
+ }
+ return res
+}
+
+func timelineFromProto(timeline []*bq.QueryTimelineSample) []*QueryTimelineSample {
+ var res []*QueryTimelineSample
+ for _, s := range timeline {
+ res = append(res, &QueryTimelineSample{
+ ActiveUnits: s.ActiveUnits,
+ CompletedUnits: s.CompletedUnits,
+ Elapsed: time.Duration(s.ElapsedMs) * time.Millisecond,
+ PendingUnits: s.PendingUnits,
+ SlotMillis: s.TotalSlotMs,
+ })
+ }
+ return res
+}
+
+// TransactionInfo contains information about a multi-statement transaction that may have associated with a job.
+type TransactionInfo struct {
+ // TransactionID is the system-generated identifier for the transaction.
+ TransactionID string
+}
+
+func bqToTransactionInfo(in *bq.TransactionInfo) *TransactionInfo {
+ if in == nil {
+ return nil
+ }
+ return &TransactionInfo{
+ TransactionID: in.TransactionId,
+ }
+}
+
+// SessionInfo contains information about a session associated with a job.
+type SessionInfo struct {
+ SessionID string
+}
+
+func bqToSessionInfo(in *bq.SessionInfo) *SessionInfo {
+ if in == nil {
+ return nil
+ }
+ return &SessionInfo{
+ SessionID: in.SessionId,
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/load.go b/vendor/cloud.google.com/go/bigquery/load.go
new file mode 100644
index 000000000..3693719c4
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/load.go
@@ -0,0 +1,240 @@
+// Copyright 2016 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "io"
+ "time"
+
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+ "google.golang.org/api/googleapi"
+)
+
+// LoadConfig holds the configuration for a load job.
+type LoadConfig struct {
+ // Src is the source from which data will be loaded.
+ Src LoadSource
+
+ // Dst is the table into which the data will be loaded.
+ Dst *Table
+
+ // CreateDisposition specifies the circumstances under which the destination table will be created.
+ // The default is CreateIfNeeded.
+ CreateDisposition TableCreateDisposition
+
+ // WriteDisposition specifies how existing data in the destination table is treated.
+ // The default is WriteAppend.
+ WriteDisposition TableWriteDisposition
+
+ // The labels associated with this job.
+ Labels map[string]string
+
+ // If non-nil, the destination table is partitioned by time.
+ TimePartitioning *TimePartitioning
+
+ // If non-nil, the destination table is partitioned by integer range.
+ RangePartitioning *RangePartitioning
+
+ // Clustering specifies the data clustering configuration for the destination table.
+ Clustering *Clustering
+
+ // Custom encryption configuration (e.g., Cloud KMS keys).
+ DestinationEncryptionConfig *EncryptionConfig
+
+ // Allows the schema of the destination table to be updated as a side effect of
+ // the load job.
+ SchemaUpdateOptions []string
+
+ // For Avro-based loads, controls whether logical type annotations are used.
+ // See https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#logical_types
+ // for additional information.
+ UseAvroLogicalTypes bool
+
+ // For ingestion from datastore backups, ProjectionFields governs which fields
+ // are projected from the backup. The default behavior projects all fields.
+ ProjectionFields []string
+
+ // HivePartitioningOptions allows use of Hive partitioning based on the
+ // layout of objects in Cloud Storage.
+ HivePartitioningOptions *HivePartitioningOptions
+
+ // DecimalTargetTypes allows selection of how decimal values are converted when
+ // processed in bigquery, subject to the value type having sufficient precision/scale
+ // to support the values. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is
+ // selected if is present in the list and if supports the necessary precision and scale.
+ //
+ // StringTargetType supports all precision and scale values.
+ DecimalTargetTypes []DecimalTargetType
+
+ // Sets a best-effort deadline on a specific job. If job execution exceeds this
+ // timeout, BigQuery may attempt to cancel this work automatically.
+ //
+ // This deadline cannot be adjusted or removed once the job is created. Consider
+ // using Job.Cancel in situations where you need more dynamic behavior.
+ //
+ // Experimental: this option is experimental and may be modified or removed in future versions,
+ // regardless of any other documented package stability guarantees.
+ JobTimeout time.Duration
+
+ // When loading a table with external data, the user can provide a reference file with the table schema.
+ // This is enabled for the following formats: AVRO, PARQUET, ORC.
+ ReferenceFileSchemaURI string
+
+ // If true, creates a new session, where session id will
+ // be a server generated random id. If false, runs query with an
+ // existing session_id passed in ConnectionProperty, otherwise runs the
+ // load job in non-session mode.
+ CreateSession bool
+
+ // ConnectionProperties are optional key-values settings.
+ ConnectionProperties []*ConnectionProperty
+
+ // MediaOptions stores options for customizing media upload.
+ MediaOptions []googleapi.MediaOption
+}
+
+func (l *LoadConfig) toBQ() (*bq.JobConfiguration, io.Reader) {
+ config := &bq.JobConfiguration{
+ Labels: l.Labels,
+ Load: &bq.JobConfigurationLoad{
+ CreateDisposition: string(l.CreateDisposition),
+ WriteDisposition: string(l.WriteDisposition),
+ DestinationTable: l.Dst.toBQ(),
+ TimePartitioning: l.TimePartitioning.toBQ(),
+ RangePartitioning: l.RangePartitioning.toBQ(),
+ Clustering: l.Clustering.toBQ(),
+ DestinationEncryptionConfiguration: l.DestinationEncryptionConfig.toBQ(),
+ SchemaUpdateOptions: l.SchemaUpdateOptions,
+ UseAvroLogicalTypes: l.UseAvroLogicalTypes,
+ ProjectionFields: l.ProjectionFields,
+ HivePartitioningOptions: l.HivePartitioningOptions.toBQ(),
+ ReferenceFileSchemaUri: l.ReferenceFileSchemaURI,
+ CreateSession: l.CreateSession,
+ },
+ JobTimeoutMs: l.JobTimeout.Milliseconds(),
+ }
+ for _, v := range l.DecimalTargetTypes {
+ config.Load.DecimalTargetTypes = append(config.Load.DecimalTargetTypes, string(v))
+ }
+ for _, v := range l.ConnectionProperties {
+ config.Load.ConnectionProperties = append(config.Load.ConnectionProperties, v.toBQ())
+ }
+ media := l.Src.populateLoadConfig(config.Load)
+ return config, media
+}
+
+func bqToLoadConfig(q *bq.JobConfiguration, c *Client) *LoadConfig {
+ lc := &LoadConfig{
+ Labels: q.Labels,
+ CreateDisposition: TableCreateDisposition(q.Load.CreateDisposition),
+ WriteDisposition: TableWriteDisposition(q.Load.WriteDisposition),
+ Dst: bqToTable(q.Load.DestinationTable, c),
+ TimePartitioning: bqToTimePartitioning(q.Load.TimePartitioning),
+ RangePartitioning: bqToRangePartitioning(q.Load.RangePartitioning),
+ Clustering: bqToClustering(q.Load.Clustering),
+ DestinationEncryptionConfig: bqToEncryptionConfig(q.Load.DestinationEncryptionConfiguration),
+ SchemaUpdateOptions: q.Load.SchemaUpdateOptions,
+ UseAvroLogicalTypes: q.Load.UseAvroLogicalTypes,
+ ProjectionFields: q.Load.ProjectionFields,
+ HivePartitioningOptions: bqToHivePartitioningOptions(q.Load.HivePartitioningOptions),
+ ReferenceFileSchemaURI: q.Load.ReferenceFileSchemaUri,
+ CreateSession: q.Load.CreateSession,
+ }
+ if q.JobTimeoutMs > 0 {
+ lc.JobTimeout = time.Duration(q.JobTimeoutMs) * time.Millisecond
+ }
+ for _, v := range q.Load.DecimalTargetTypes {
+ lc.DecimalTargetTypes = append(lc.DecimalTargetTypes, DecimalTargetType(v))
+ }
+ for _, v := range q.Load.ConnectionProperties {
+ lc.ConnectionProperties = append(lc.ConnectionProperties, bqToConnectionProperty(v))
+ }
+ var fc *FileConfig
+ if len(q.Load.SourceUris) == 0 {
+ s := NewReaderSource(nil)
+ fc = &s.FileConfig
+ lc.Src = s
+ } else {
+ s := NewGCSReference(q.Load.SourceUris...)
+ fc = &s.FileConfig
+ lc.Src = s
+ }
+ bqPopulateFileConfig(q.Load, fc)
+ return lc
+}
+
+// A Loader loads data from Google Cloud Storage into a BigQuery table.
+type Loader struct {
+ JobIDConfig
+ LoadConfig
+ c *Client
+}
+
+// A LoadSource represents a source of data that can be loaded into
+// a BigQuery table.
+//
+// This package defines two LoadSources: GCSReference, for Google Cloud Storage
+// objects, and ReaderSource, for data read from an io.Reader.
+type LoadSource interface {
+ // populates config, returns media
+ populateLoadConfig(*bq.JobConfigurationLoad) io.Reader
+}
+
+// LoaderFrom returns a Loader which can be used to load data into a BigQuery table.
+// The returned Loader may optionally be further configured before its Run method is called.
+// See GCSReference and ReaderSource for additional configuration options that
+// affect loading.
+func (t *Table) LoaderFrom(src LoadSource) *Loader {
+ return &Loader{
+ c: t.c,
+ LoadConfig: LoadConfig{
+ Src: src,
+ Dst: t,
+ },
+ }
+}
+
+// Run initiates a load job.
+func (l *Loader) Run(ctx context.Context) (j *Job, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Load.Run")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ job, media := l.newJob()
+ return l.c.insertJob(ctx, job, media, l.LoadConfig.MediaOptions...)
+}
+
+func (l *Loader) newJob() (*bq.Job, io.Reader) {
+ config, media := l.LoadConfig.toBQ()
+ return &bq.Job{
+ JobReference: l.JobIDConfig.createJobRef(l.c),
+ Configuration: config,
+ }, media
+}
+
+// DecimalTargetType is used to express preference ordering for converting values from external formats.
+type DecimalTargetType string
+
+var (
+ // NumericTargetType indicates the preferred type is NUMERIC when supported.
+ NumericTargetType DecimalTargetType = "NUMERIC"
+
+ // BigNumericTargetType indicates the preferred type is BIGNUMERIC when supported.
+ BigNumericTargetType DecimalTargetType = "BIGNUMERIC"
+
+ // StringTargetType indicates the preferred type is STRING when supported.
+ StringTargetType DecimalTargetType = "STRING"
+)
diff --git a/vendor/cloud.google.com/go/bigquery/model.go b/vendor/cloud.google.com/go/bigquery/model.go
new file mode 100644
index 000000000..7fb90493e
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/model.go
@@ -0,0 +1,304 @@
+// Copyright 2019 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "fmt"
+ "strings"
+ "time"
+
+ "cloud.google.com/go/internal/optional"
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// Model represent a reference to a BigQuery ML model.
+// Within the API, models are used largely for communicating
+// statistical information about a given model, as creation of models is only
+// supported via BigQuery queries (e.g. CREATE MODEL .. AS ..).
+//
+// For more info, see documentation for Bigquery ML,
+// see: https://cloud.google.com/bigquery/docs/bigqueryml
+type Model struct {
+ ProjectID string
+ DatasetID string
+ // ModelID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
+ // The maximum length is 1,024 characters.
+ ModelID string
+
+ c *Client
+}
+
+// Identifier returns the ID of the model in the requested format.
+//
+// For Standard SQL format, the identifier will be quoted if the
+// ProjectID contains dash (-) characters.
+func (m *Model) Identifier(f IdentifierFormat) (string, error) {
+ switch f {
+ case LegacySQLID:
+ return fmt.Sprintf("%s:%s.%s", m.ProjectID, m.DatasetID, m.ModelID), nil
+ case StandardSQLID:
+ // Per https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#model_name
+ // we quote the entire identifier.
+ out := fmt.Sprintf("%s.%s.%s", m.ProjectID, m.DatasetID, m.ModelID)
+ if strings.Contains(out, "-") {
+ out = fmt.Sprintf("`%s`", out)
+ }
+ return out, nil
+ default:
+ return "", ErrUnknownIdentifierFormat
+ }
+}
+
+// FullyQualifiedName returns the ID of the model in projectID:datasetID.modelid format.
+func (m *Model) FullyQualifiedName() string {
+ s, _ := m.Identifier(LegacySQLID)
+ return s
+}
+
+func (m *Model) toBQ() *bq.ModelReference {
+ return &bq.ModelReference{
+ ProjectId: m.ProjectID,
+ DatasetId: m.DatasetID,
+ ModelId: m.ModelID,
+ }
+}
+
+// Metadata fetches the metadata for a model, which includes ML training statistics.
+func (m *Model) Metadata(ctx context.Context) (mm *ModelMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Model.Metadata")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ req := m.c.bqs.Models.Get(m.ProjectID, m.DatasetID, m.ModelID).Context(ctx)
+ setClientHeader(req.Header())
+ var model *bq.Model
+ err = runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.models.get")
+ model, err = req.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ return bqToModelMetadata(model)
+}
+
+// Update updates mutable fields in an ML model.
+func (m *Model) Update(ctx context.Context, mm ModelMetadataToUpdate, etag string) (md *ModelMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Model.Update")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ bqm, err := mm.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ call := m.c.bqs.Models.Patch(m.ProjectID, m.DatasetID, m.ModelID, bqm).Context(ctx)
+ setClientHeader(call.Header())
+ if etag != "" {
+ call.Header().Set("If-Match", etag)
+ }
+ var res *bq.Model
+ if err := runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.models.patch")
+ res, err = call.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ }); err != nil {
+ return nil, err
+ }
+ return bqToModelMetadata(res)
+}
+
+// Delete deletes an ML model.
+func (m *Model) Delete(ctx context.Context) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Model.Delete")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ req := m.c.bqs.Models.Delete(m.ProjectID, m.DatasetID, m.ModelID).Context(ctx)
+ setClientHeader(req.Header())
+ return req.Do()
+}
+
+// ModelMetadata represents information about a BigQuery ML model.
+type ModelMetadata struct {
+ // The user-friendly description of the model.
+ Description string
+
+ // The user-friendly name of the model.
+ Name string
+
+ // The type of the model. Possible values include:
+ // "LINEAR_REGRESSION" - a linear regression model
+ // "LOGISTIC_REGRESSION" - a logistic regression model
+ // "KMEANS" - a k-means clustering model
+ Type string
+
+ // The creation time of the model.
+ CreationTime time.Time
+
+ // The last modified time of the model.
+ LastModifiedTime time.Time
+
+ // The expiration time of the model.
+ ExpirationTime time.Time
+
+ // The geographic location where the model resides. This value is
+ // inherited from the encapsulating dataset.
+ Location string
+
+ // Custom encryption configuration (e.g., Cloud KMS keys).
+ EncryptionConfig *EncryptionConfig
+
+ // The input feature columns used to train the model.
+ featureColumns []*bq.StandardSqlField
+
+ // The label columns used to train the model. Output
+ // from the model will have a "predicted_" prefix for these columns.
+ labelColumns []*bq.StandardSqlField
+
+ // Information for all training runs, ordered by increasing start times.
+ trainingRuns []*bq.TrainingRun
+
+ Labels map[string]string
+
+ // ETag is the ETag obtained when reading metadata. Pass it to Model.Update
+ // to ensure that the metadata hasn't changed since it was read.
+ ETag string
+}
+
+// TrainingRun represents information about a single training run for a BigQuery ML model.
+// Experimental: This information may be modified or removed in future versions of this package.
+type TrainingRun bq.TrainingRun
+
+// RawTrainingRuns exposes the underlying training run stats for a model using types from
+// "google.golang.org/api/bigquery/v2", which are subject to change without warning.
+// It is EXPERIMENTAL and subject to change or removal without notice.
+func (mm *ModelMetadata) RawTrainingRuns() []*TrainingRun {
+ if mm.trainingRuns == nil {
+ return nil
+ }
+ var runs []*TrainingRun
+
+ for _, v := range mm.trainingRuns {
+ r := TrainingRun(*v)
+ runs = append(runs, &r)
+ }
+ return runs
+}
+
+// RawLabelColumns exposes the underlying label columns used to train an ML model and uses types from
+// "google.golang.org/api/bigquery/v2", which are subject to change without warning.
+// It is EXPERIMENTAL and subject to change or removal without notice.
+func (mm *ModelMetadata) RawLabelColumns() ([]*StandardSQLField, error) {
+ return bqToModelCols(mm.labelColumns)
+}
+
+// RawFeatureColumns exposes the underlying feature columns used to train an ML model and uses types from
+// "google.golang.org/api/bigquery/v2", which are subject to change without warning.
+// It is EXPERIMENTAL and subject to change or removal without notice.
+func (mm *ModelMetadata) RawFeatureColumns() ([]*StandardSQLField, error) {
+ return bqToModelCols(mm.featureColumns)
+}
+
+func bqToModelCols(s []*bq.StandardSqlField) ([]*StandardSQLField, error) {
+ if s == nil {
+ return nil, nil
+ }
+ var cols []*StandardSQLField
+ for _, v := range s {
+ c, err := bqToStandardSQLField(v)
+ if err != nil {
+ return nil, err
+ }
+ cols = append(cols, c)
+ }
+ return cols, nil
+}
+
+func bqToModelMetadata(m *bq.Model) (*ModelMetadata, error) {
+ md := &ModelMetadata{
+ Description: m.Description,
+ Name: m.FriendlyName,
+ Type: m.ModelType,
+ Location: m.Location,
+ Labels: m.Labels,
+ ExpirationTime: unixMillisToTime(m.ExpirationTime),
+ CreationTime: unixMillisToTime(m.CreationTime),
+ LastModifiedTime: unixMillisToTime(m.LastModifiedTime),
+ EncryptionConfig: bqToEncryptionConfig(m.EncryptionConfiguration),
+ featureColumns: m.FeatureColumns,
+ labelColumns: m.LabelColumns,
+ trainingRuns: m.TrainingRuns,
+ ETag: m.Etag,
+ }
+ return md, nil
+}
+
+// ModelMetadataToUpdate is used when updating an ML model's metadata.
+// Only non-nil fields will be updated.
+type ModelMetadataToUpdate struct {
+ // The user-friendly description of this model.
+ Description optional.String
+
+ // The user-friendly name of this model.
+ Name optional.String
+
+ // The time when this model expires. To remove a model's expiration,
+ // set ExpirationTime to NeverExpire. The zero value is ignored.
+ ExpirationTime time.Time
+
+ // The model's encryption configuration.
+ EncryptionConfig *EncryptionConfig
+
+ labelUpdater
+}
+
+func (mm *ModelMetadataToUpdate) toBQ() (*bq.Model, error) {
+ m := &bq.Model{}
+ forceSend := func(field string) {
+ m.ForceSendFields = append(m.ForceSendFields, field)
+ }
+
+ if mm.Description != nil {
+ m.Description = optional.ToString(mm.Description)
+ forceSend("Description")
+ }
+
+ if mm.Name != nil {
+ m.FriendlyName = optional.ToString(mm.Name)
+ forceSend("FriendlyName")
+ }
+
+ if mm.EncryptionConfig != nil {
+ m.EncryptionConfiguration = mm.EncryptionConfig.toBQ()
+ }
+
+ if !validExpiration(mm.ExpirationTime) {
+ return nil, invalidTimeError(mm.ExpirationTime)
+ }
+ if mm.ExpirationTime == NeverExpire {
+ m.NullFields = append(m.NullFields, "ExpirationTime")
+ } else if !mm.ExpirationTime.IsZero() {
+ m.ExpirationTime = mm.ExpirationTime.UnixNano() / 1e6
+ forceSend("ExpirationTime")
+ }
+ labels, forces, nulls := mm.update()
+ m.Labels = labels
+ m.ForceSendFields = append(m.ForceSendFields, forces...)
+ m.NullFields = append(m.NullFields, nulls...)
+ return m, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/nulls.go b/vendor/cloud.google.com/go/bigquery/nulls.go
new file mode 100644
index 000000000..cbe4fa34d
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/nulls.go
@@ -0,0 +1,410 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "math"
+ "reflect"
+ "strconv"
+ "time"
+
+ "cloud.google.com/go/civil"
+)
+
+var (
+ jsonNull = []byte("null")
+ posInf = []byte(`"+Inf"`)
+ inf = []byte(`"Inf"`)
+ minusInf = []byte(`"-Inf"`)
+ infinity = []byte(`"Infinity"`)
+ minusInfinity = []byte(`"-Infinity"`)
+ nan = []byte(`"NaN"`)
+)
+
+// NullInt64 represents a BigQuery INT64 that may be NULL.
+type NullInt64 struct {
+ Int64 int64
+ Valid bool // Valid is true if Int64 is not NULL.
+}
+
+func (n NullInt64) String() string { return nullstr(n.Valid, n.Int64) }
+
+// NullString represents a BigQuery STRING that may be NULL.
+type NullString struct {
+ StringVal string
+ Valid bool // Valid is true if StringVal is not NULL.
+}
+
+func (n NullString) String() string { return nullstr(n.Valid, n.StringVal) }
+
+// NullGeography represents a BigQuery GEOGRAPHY string that may be NULL.
+type NullGeography struct {
+ GeographyVal string
+ Valid bool // Valid is true if GeographyVal is not NULL.
+}
+
+func (n NullGeography) String() string { return nullstr(n.Valid, n.GeographyVal) }
+
+// NullJSON represents a BigQuery JSON string that may be NULL.
+type NullJSON struct {
+ JSONVal string
+ Valid bool // Valid is true if JSONVal is not NULL.
+}
+
+func (n NullJSON) String() string { return nullstr(n.Valid, n.JSONVal) }
+
+// NullFloat64 represents a BigQuery FLOAT64 that may be NULL.
+type NullFloat64 struct {
+ Float64 float64
+ Valid bool // Valid is true if Float64 is not NULL.
+}
+
+func (n NullFloat64) String() string { return nullstr(n.Valid, n.Float64) }
+
+// NullBool represents a BigQuery BOOL that may be NULL.
+type NullBool struct {
+ Bool bool
+ Valid bool // Valid is true if Bool is not NULL.
+}
+
+func (n NullBool) String() string { return nullstr(n.Valid, n.Bool) }
+
+// NullTimestamp represents a BigQuery TIMESTAMP that may be null.
+type NullTimestamp struct {
+ Timestamp time.Time
+ Valid bool // Valid is true if Time is not NULL.
+}
+
+func (n NullTimestamp) String() string { return nullstr(n.Valid, n.Timestamp) }
+
+// NullDate represents a BigQuery DATE that may be null.
+type NullDate struct {
+ Date civil.Date
+ Valid bool // Valid is true if Date is not NULL.
+}
+
+func (n NullDate) String() string { return nullstr(n.Valid, n.Date) }
+
+// NullTime represents a BigQuery TIME that may be null.
+type NullTime struct {
+ Time civil.Time
+ Valid bool // Valid is true if Time is not NULL.
+}
+
+func (n NullTime) String() string {
+ if !n.Valid {
+ return "<null>"
+ }
+ return CivilTimeString(n.Time)
+}
+
+// NullDateTime represents a BigQuery DATETIME that may be null.
+type NullDateTime struct {
+ DateTime civil.DateTime
+ Valid bool // Valid is true if DateTime is not NULL.
+}
+
+func (n NullDateTime) String() string {
+ if !n.Valid {
+ return "<null>"
+ }
+ return CivilDateTimeString(n.DateTime)
+}
+
+// MarshalJSON converts the NullInt64 to JSON.
+func (n NullInt64) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.Int64) }
+
+// MarshalJSON converts the NullFloat64 to JSON.
+func (n NullFloat64) MarshalJSON() (b []byte, err error) {
+ if n.Valid {
+ switch {
+ case math.IsInf(n.Float64, 1):
+ return infinity, nil
+ case math.IsInf(n.Float64, -1):
+ return minusInfinity, nil
+ case math.IsNaN(n.Float64):
+ return nan, nil
+ default:
+ return json.Marshal(n.Float64)
+ }
+ }
+ return jsonNull, nil
+}
+
+// MarshalJSON converts the NullBool to JSON.
+func (n NullBool) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.Bool) }
+
+// MarshalJSON converts the NullString to JSON.
+func (n NullString) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.StringVal) }
+
+// MarshalJSON converts the NullGeography to JSON.
+func (n NullGeography) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.GeographyVal) }
+
+// MarshalJSON converts the NullJSON to JSON.
+func (n NullJSON) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.JSONVal) }
+
+// MarshalJSON converts the NullTimestamp to JSON.
+func (n NullTimestamp) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.Timestamp) }
+
+// MarshalJSON converts the NullDate to JSON.
+func (n NullDate) MarshalJSON() ([]byte, error) { return nulljson(n.Valid, n.Date) }
+
+// MarshalJSON converts the NullTime to JSON.
+func (n NullTime) MarshalJSON() ([]byte, error) {
+ if !n.Valid {
+ return jsonNull, nil
+ }
+ return []byte(`"` + CivilTimeString(n.Time) + `"`), nil
+}
+
+// MarshalJSON converts the NullDateTime to JSON.
+func (n NullDateTime) MarshalJSON() ([]byte, error) {
+ if !n.Valid {
+ return jsonNull, nil
+ }
+ return []byte(`"` + CivilDateTimeString(n.DateTime) + `"`), nil
+}
+
+func nullstr(valid bool, v interface{}) string {
+ if !valid {
+ return "NULL"
+ }
+ return fmt.Sprint(v)
+}
+
+func nulljson(valid bool, v interface{}) ([]byte, error) {
+ if !valid {
+ return jsonNull, nil
+ }
+ return json.Marshal(v)
+}
+
+// UnmarshalJSON converts JSON into a NullInt64.
+func (n *NullInt64) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.Int64 = 0
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ if err := json.Unmarshal(b, &n.Int64); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullFloat64.
+func (n *NullFloat64) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.Float64 = 0
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ } else if bytes.Equal(b, posInf) || bytes.Equal(b, inf) || bytes.Equal(b, infinity) {
+ n.Float64 = math.Inf(1)
+ n.Valid = true
+ return nil
+ } else if bytes.Equal(b, minusInf) || bytes.Equal(b, minusInfinity) {
+ n.Float64 = math.Inf(-1)
+ n.Valid = true
+ return nil
+ } else if bytes.Equal(b, nan) {
+ n.Float64 = math.NaN()
+ n.Valid = true
+ return nil
+ }
+ if err := json.Unmarshal(b, &n.Float64); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullBool.
+func (n *NullBool) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.Bool = false
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ if err := json.Unmarshal(b, &n.Bool); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullString.
+func (n *NullString) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.StringVal = ""
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ if err := json.Unmarshal(b, &n.StringVal); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullGeography.
+func (n *NullGeography) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.GeographyVal = ""
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+ if err := json.Unmarshal(b, &n.GeographyVal); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullJSON.
+func (n *NullJSON) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.JSONVal = ""
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+ if err := json.Unmarshal(b, &n.JSONVal); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullTimestamp.
+func (n *NullTimestamp) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.Timestamp = time.Time{}
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ if err := json.Unmarshal(b, &n.Timestamp); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullDate.
+func (n *NullDate) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.Date = civil.Date{}
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ if err := json.Unmarshal(b, &n.Date); err != nil {
+ return err
+ }
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullTime.
+func (n *NullTime) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.Time = civil.Time{}
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ s, err := strconv.Unquote(string(b))
+ if err != nil {
+ return err
+ }
+
+ t, err := civil.ParseTime(s)
+ if err != nil {
+ return err
+ }
+ n.Time = t
+
+ n.Valid = true
+ return nil
+}
+
+// UnmarshalJSON converts JSON into a NullDateTime.
+func (n *NullDateTime) UnmarshalJSON(b []byte) error {
+ n.Valid = false
+ n.DateTime = civil.DateTime{}
+ if bytes.Equal(b, jsonNull) {
+ return nil
+ }
+
+ s, err := strconv.Unquote(string(b))
+ if err != nil {
+ return err
+ }
+
+ dt, err := parseCivilDateTime(s)
+ if err != nil {
+ return err
+ }
+ n.DateTime = dt
+
+ n.Valid = true
+ return nil
+}
+
+var (
+ typeOfNullInt64 = reflect.TypeOf(NullInt64{})
+ typeOfNullFloat64 = reflect.TypeOf(NullFloat64{})
+ typeOfNullBool = reflect.TypeOf(NullBool{})
+ typeOfNullString = reflect.TypeOf(NullString{})
+ typeOfNullGeography = reflect.TypeOf(NullGeography{})
+ typeOfNullJSON = reflect.TypeOf(NullJSON{})
+ typeOfNullTimestamp = reflect.TypeOf(NullTimestamp{})
+ typeOfNullDate = reflect.TypeOf(NullDate{})
+ typeOfNullTime = reflect.TypeOf(NullTime{})
+ typeOfNullDateTime = reflect.TypeOf(NullDateTime{})
+)
+
+func nullableFieldType(t reflect.Type) FieldType {
+ switch t {
+ case typeOfNullInt64:
+ return IntegerFieldType
+ case typeOfNullFloat64:
+ return FloatFieldType
+ case typeOfNullBool:
+ return BooleanFieldType
+ case typeOfNullString:
+ return StringFieldType
+ case typeOfNullGeography:
+ return GeographyFieldType
+ case typeOfNullJSON:
+ return JSONFieldType
+ case typeOfNullTimestamp:
+ return TimestampFieldType
+ case typeOfNullDate:
+ return DateFieldType
+ case typeOfNullTime:
+ return TimeFieldType
+ case typeOfNullDateTime:
+ return DateTimeFieldType
+ default:
+ return ""
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/params.go b/vendor/cloud.google.com/go/bigquery/params.go
new file mode 100644
index 000000000..cf47e9a23
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/params.go
@@ -0,0 +1,683 @@
+// Copyright 2016 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "encoding/base64"
+ "errors"
+ "fmt"
+ "math/big"
+ "reflect"
+ "regexp"
+ "strings"
+ "time"
+
+ "cloud.google.com/go/civil"
+ "cloud.google.com/go/internal/fields"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// See https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#timestamp-type.
+var (
+ timestampFormat = "2006-01-02 15:04:05.999999-07:00"
+ dateTimeFormat = "2006-01-02 15:04:05"
+)
+
+var (
+ // See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#schema.fields.name
+ validFieldName = regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]{0,127}$")
+)
+
+const nullableTagOption = "nullable"
+
+func bqTagParser(t reflect.StructTag) (name string, keep bool, other interface{}, err error) {
+ name, keep, opts, err := fields.ParseStandardTag("bigquery", t)
+ if err != nil {
+ return "", false, nil, err
+ }
+ if name != "" && !validFieldName.MatchString(name) {
+ return "", false, nil, invalidFieldNameError(name)
+ }
+ for _, opt := range opts {
+ if opt != nullableTagOption {
+ return "", false, nil, fmt.Errorf(
+ "bigquery: invalid tag option %q. The only valid option is %q",
+ opt, nullableTagOption)
+ }
+ }
+ return name, keep, opts, nil
+}
+
+type invalidFieldNameError string
+
+func (e invalidFieldNameError) Error() string {
+ return fmt.Sprintf("bigquery: invalid name %q of field in struct", string(e))
+}
+
+var fieldCache = fields.NewCache(bqTagParser, nil, nil)
+
+var (
+ int64ParamType = &bq.QueryParameterType{Type: "INT64"}
+ float64ParamType = &bq.QueryParameterType{Type: "FLOAT64"}
+ boolParamType = &bq.QueryParameterType{Type: "BOOL"}
+ stringParamType = &bq.QueryParameterType{Type: "STRING"}
+ bytesParamType = &bq.QueryParameterType{Type: "BYTES"}
+ dateParamType = &bq.QueryParameterType{Type: "DATE"}
+ timeParamType = &bq.QueryParameterType{Type: "TIME"}
+ dateTimeParamType = &bq.QueryParameterType{Type: "DATETIME"}
+ timestampParamType = &bq.QueryParameterType{Type: "TIMESTAMP"}
+ numericParamType = &bq.QueryParameterType{Type: "NUMERIC"}
+ bigNumericParamType = &bq.QueryParameterType{Type: "BIGNUMERIC"}
+ geographyParamType = &bq.QueryParameterType{Type: "GEOGRAPHY"}
+ intervalParamType = &bq.QueryParameterType{Type: "INTERVAL"}
+ jsonParamType = &bq.QueryParameterType{Type: "JSON"}
+)
+
+var (
+ typeOfDate = reflect.TypeOf(civil.Date{})
+ typeOfTime = reflect.TypeOf(civil.Time{})
+ typeOfDateTime = reflect.TypeOf(civil.DateTime{})
+ typeOfGoTime = reflect.TypeOf(time.Time{})
+ typeOfRat = reflect.TypeOf(&big.Rat{})
+ typeOfIntervalValue = reflect.TypeOf(&IntervalValue{})
+ typeOfQueryParameterValue = reflect.TypeOf(&QueryParameterValue{})
+)
+
+// A QueryParameter is a parameter to a query.
+type QueryParameter struct {
+ // Name is used for named parameter mode.
+ // It must match the name in the query case-insensitively.
+ Name string
+
+ // Value is the value of the parameter.
+ //
+ // When you create a QueryParameter to send to BigQuery, the following Go types
+ // are supported, with their corresponding Bigquery types:
+ // int, int8, int16, int32, int64, uint8, uint16, uint32: INT64
+ // Note that uint, uint64 and uintptr are not supported, because
+ // they may contain values that cannot fit into a 64-bit signed integer.
+ // float32, float64: FLOAT64
+ // bool: BOOL
+ // string: STRING
+ // []byte: BYTES
+ // time.Time: TIMESTAMP
+ // *big.Rat: NUMERIC
+ // *IntervalValue: INTERVAL
+ // Arrays and slices of the above.
+ // Structs of the above. Only the exported fields are used.
+ //
+ // For scalar values, you can supply the Null types within this library
+ // to send the appropriate NULL values (e.g. NullInt64, NullString, etc).
+ //
+ // To specify query parameters explicitly rather by inference, *QueryParameterValue can be used.
+ // For example, a BIGNUMERIC can be specified like this:
+ // &QueryParameterValue{
+ // Type: StandardSQLDataType{
+ // TypeKind: "BIGNUMERIC",
+ // },
+ // Value: BigNumericString(*big.Rat),
+ // }
+ //
+ // When a QueryParameter is returned inside a QueryConfig from a call to
+ // Job.Config:
+ // Integers are of type int64.
+ // Floating-point values are of type float64.
+ // Arrays are of type []interface{}, regardless of the array element type.
+ // Structs are of type map[string]interface{}.
+ //
+ // When valid (non-null) Null types are sent, they come back as the Go types indicated
+ // above. Null strings will report in query statistics as a valid empty
+ // string.
+ Value interface{}
+}
+
+// QueryParameterValue is a go type for representing a explicit typed QueryParameter.
+type QueryParameterValue struct {
+ // Type specifies the parameter type. See StandardSQLDataType for more.
+ // Scalar parameters and more complex types can be defined within this field.
+ // See examples on the value fields.
+ Type StandardSQLDataType
+
+ // Value is the value of the parameter, if a simple scalar type.
+ // The default behavior for scalar values is to do type inference
+ // and format it accordingly.
+ // Because of that, depending on the parameter type, is recommended
+ // to send value as a String.
+ // We provide some formatter functions for some types:
+ // CivilTimeString(civil.Time)
+ // CivilDateTimeString(civil.DateTime)
+ // NumericString(*big.Rat)
+ // BigNumericString(*big.Rat)
+ // IntervalString(*IntervalValue)
+ //
+ // Example:
+ //
+ // &QueryParameterValue{
+ // Type: StandardSQLDataType{
+ // TypeKind: "BIGNUMERIC",
+ // },
+ // Value: BigNumericString(*big.Rat),
+ // }
+ Value interface{}
+
+ // ArrayValue is the array of values for the parameter.
+ //
+ // Must be used with QueryParameterValue.Type being a StandardSQLDataType
+ // with ArrayElementType filled with the given element type.
+ //
+ // Example of an array of strings :
+ // &QueryParameterValue{
+ // Type: &StandardSQLDataType{
+ // ArrayElementType: &StandardSQLDataType{
+ // TypeKind: "STRING",
+ // },
+ // },
+ // ArrayValue: []QueryParameterValue{
+ // {Value: "a"},
+ // {Value: "b"},
+ // },
+ // }
+ //
+ // Example of an array of structs :
+ // &QueryParameterValue{
+ // Type: &StandardSQLDataType{
+ // ArrayElementType: &StandardSQLDataType{
+ // StructType: &StandardSQLDataType{
+ // Fields: []*StandardSQLField{
+ // {
+ // Name: "NumberField",
+ // Type: &StandardSQLDataType{
+ // TypeKind: "INT64",
+ // },
+ // },
+ // },
+ // },
+ // },
+ // },
+ // ArrayValue: []QueryParameterValue{
+ // {StructValue: map[string]QueryParameterValue{
+ // "NumberField": {
+ // Value: int64(42),
+ // },
+ // }},
+ // {StructValue: map[string]QueryParameterValue{
+ // "NumberField": {
+ // Value: int64(43),
+ // },
+ // }},
+ // },
+ // }
+ ArrayValue []QueryParameterValue
+
+ // StructValue is the struct field values for the parameter.
+ //
+ // Must be used with QueryParameterValue.Type being a StandardSQLDataType
+ // with StructType filled with the given field types.
+ //
+ // Example:
+ //
+ // &QueryParameterValue{
+ // Type: &StandardSQLDataType{
+ // StructType{
+ // Fields: []*StandardSQLField{
+ // {
+ // Name: "StringField",
+ // Type: &StandardSQLDataType{
+ // TypeKind: "STRING",
+ // },
+ // },
+ // {
+ // Name: "NumberField",
+ // Type: &StandardSQLDataType{
+ // TypeKind: "INT64",
+ // },
+ // },
+ // },
+ // },
+ // },
+ // StructValue: []map[string]QueryParameterValue{
+ // "NumberField": {
+ // Value: int64(42),
+ // },
+ // "StringField": {
+ // Value: "Value",
+ // },
+ // },
+ // }
+ StructValue map[string]QueryParameterValue
+}
+
+func (p QueryParameterValue) toBQParamType() *bq.QueryParameterType {
+ return p.Type.toBQParamType()
+}
+
+func (p QueryParameterValue) toBQParamValue() (*bq.QueryParameterValue, error) {
+ if len(p.ArrayValue) > 0 {
+ pv := &bq.QueryParameterValue{}
+ pv.ArrayValues = []*bq.QueryParameterValue{}
+ for _, v := range p.ArrayValue {
+ val, err := v.toBQParamValue()
+ if err != nil {
+ return nil, err
+ }
+ pv.ArrayValues = append(pv.ArrayValues, val)
+ }
+ return pv, nil
+ }
+ if len(p.StructValue) > 0 {
+ pv := &bq.QueryParameterValue{}
+ pv.StructValues = map[string]bq.QueryParameterValue{}
+ for name, param := range p.StructValue {
+ v, err := param.toBQParamValue()
+ if err != nil {
+ return nil, err
+ }
+ pv.StructValues[name] = *v
+ }
+ return pv, nil
+ }
+ pv, err := paramValue(reflect.ValueOf(p.Value))
+ if err != nil {
+ return nil, err
+ }
+ return pv, nil
+}
+
+func (p QueryParameter) toBQ() (*bq.QueryParameter, error) {
+ v := reflect.ValueOf(p.Value)
+ pv, err := paramValue(v)
+ if err != nil {
+ return nil, err
+ }
+ pt, err := paramType(reflect.TypeOf(p.Value), v)
+ if err != nil {
+ return nil, err
+ }
+ return &bq.QueryParameter{
+ Name: p.Name,
+ ParameterValue: pv,
+ ParameterType: pt,
+ }, nil
+}
+
+func paramType(t reflect.Type, v reflect.Value) (*bq.QueryParameterType, error) {
+ if t == nil {
+ return nil, errors.New("bigquery: nil parameter")
+ }
+ switch t {
+ case typeOfDate, typeOfNullDate:
+ return dateParamType, nil
+ case typeOfTime, typeOfNullTime:
+ return timeParamType, nil
+ case typeOfDateTime, typeOfNullDateTime:
+ return dateTimeParamType, nil
+ case typeOfGoTime, typeOfNullTimestamp:
+ return timestampParamType, nil
+ case typeOfRat:
+ return numericParamType, nil
+ case typeOfIntervalValue:
+ return intervalParamType, nil
+ case typeOfNullBool:
+ return boolParamType, nil
+ case typeOfNullFloat64:
+ return float64ParamType, nil
+ case typeOfNullInt64:
+ return int64ParamType, nil
+ case typeOfNullString:
+ return stringParamType, nil
+ case typeOfNullGeography:
+ return geographyParamType, nil
+ case typeOfNullJSON:
+ return jsonParamType, nil
+ case typeOfQueryParameterValue:
+ return v.Interface().(*QueryParameterValue).toBQParamType(), nil
+ }
+ switch t.Kind() {
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint8, reflect.Uint16, reflect.Uint32:
+ return int64ParamType, nil
+
+ case reflect.Float32, reflect.Float64:
+ return float64ParamType, nil
+
+ case reflect.Bool:
+ return boolParamType, nil
+
+ case reflect.String:
+ return stringParamType, nil
+
+ case reflect.Slice:
+ if t.Elem().Kind() == reflect.Uint8 {
+ return bytesParamType, nil
+ }
+ fallthrough
+
+ case reflect.Array:
+ et, err := paramType(t.Elem(), v)
+ if err != nil {
+ return nil, err
+ }
+ return &bq.QueryParameterType{Type: "ARRAY", ArrayType: et}, nil
+
+ case reflect.Ptr:
+ if t.Elem().Kind() != reflect.Struct {
+ break
+ }
+ t = t.Elem()
+ fallthrough
+
+ case reflect.Struct:
+ var fts []*bq.QueryParameterTypeStructTypes
+ fields, err := fieldCache.Fields(t)
+ if err != nil {
+ return nil, err
+ }
+ for _, f := range fields {
+ prefixes := []string{"*", "[]"} // check pointer and arrays
+ for _, prefix := range prefixes {
+ if strings.TrimPrefix(t.String(), prefix) == strings.TrimPrefix(f.Type.String(), prefix) {
+ return nil, fmt.Errorf("bigquery: Go type %s cannot be represented as a parameter due to an attribute cycle/recursion detected", t)
+ }
+ }
+ pt, err := paramType(f.Type, v)
+ if err != nil {
+ return nil, err
+ }
+ fts = append(fts, &bq.QueryParameterTypeStructTypes{
+ Name: f.Name,
+ Type: pt,
+ })
+ }
+ return &bq.QueryParameterType{Type: "STRUCT", StructTypes: fts}, nil
+ }
+ return nil, fmt.Errorf("bigquery: Go type %s cannot be represented as a parameter type", t)
+}
+
+func paramValue(v reflect.Value) (*bq.QueryParameterValue, error) {
+ res := &bq.QueryParameterValue{}
+ if !v.IsValid() {
+ return res, errors.New("bigquery: nil parameter")
+ }
+ t := v.Type()
+ switch t {
+
+ // Handle all the custom null types as a group first, as they all have the same logic when invalid.
+ case typeOfNullInt64,
+ typeOfNullString,
+ typeOfNullGeography,
+ typeOfNullFloat64,
+ typeOfNullBool,
+ typeOfNullTimestamp,
+ typeOfNullDate,
+ typeOfNullTime,
+ typeOfNullDateTime,
+ typeOfNullJSON:
+ // Shared: If the Null type isn't valid, we have no value to send.
+ // However, the backend requires us to send the QueryParameterValue with
+ // the fields empty.
+ if !v.FieldByName("Valid").Bool() {
+ // Ensure we don't send a default value by using NullFields in the JSON
+ // serialization.
+ res.NullFields = append(res.NullFields, "Value")
+ return res, nil
+ }
+ // For cases where the Null type is valid, populate the scalar value as needed.
+ switch t {
+ case typeOfNullInt64:
+ res.Value = fmt.Sprint(v.FieldByName("Int64").Interface())
+ case typeOfNullString:
+ res.Value = fmt.Sprint(v.FieldByName("StringVal").Interface())
+ case typeOfNullGeography:
+ res.Value = fmt.Sprint(v.FieldByName("GeographyVal").Interface())
+ case typeOfNullJSON:
+ res.Value = fmt.Sprint(v.FieldByName("JSONVal").Interface())
+ case typeOfNullFloat64:
+ res.Value = fmt.Sprint(v.FieldByName("Float64").Interface())
+ case typeOfNullBool:
+ res.Value = fmt.Sprint(v.FieldByName("Bool").Interface())
+ case typeOfNullTimestamp:
+ res.Value = v.FieldByName("Timestamp").Interface().(time.Time).Format(timestampFormat)
+ case typeOfNullDate:
+ res.Value = v.FieldByName("Date").Interface().(civil.Date).String()
+ case typeOfNullTime:
+ res.Value = CivilTimeString(v.FieldByName("Time").Interface().(civil.Time))
+ case typeOfNullDateTime:
+ res.Value = CivilDateTimeString(v.FieldByName("DateTime").Interface().(civil.DateTime))
+ }
+ // We expect to produce a value in all these cases, so force send if the result is the empty
+ // string.
+ if res.Value == "" {
+ res.ForceSendFields = append(res.ForceSendFields, "Value")
+ }
+ return res, nil
+
+ case typeOfDate:
+ res.Value = v.Interface().(civil.Date).String()
+ return res, nil
+ case typeOfTime:
+ // civil.Time has nanosecond resolution, but BigQuery TIME only microsecond.
+ // (If we send nanoseconds, then when we try to read the result we get "query job
+ // missing destination table").
+ res.Value = CivilTimeString(v.Interface().(civil.Time))
+ return res, nil
+
+ case typeOfDateTime:
+ res.Value = CivilDateTimeString(v.Interface().(civil.DateTime))
+ return res, nil
+
+ case typeOfGoTime:
+ res.Value = v.Interface().(time.Time).Format(timestampFormat)
+ return res, nil
+
+ case typeOfRat:
+ // big.Rat types don't communicate scale or precision, so we cannot
+ // disambiguate between NUMERIC and BIGNUMERIC. For now, we'll continue
+ // to honor previous behavior and send as Numeric type.
+ res.Value = NumericString(v.Interface().(*big.Rat))
+ return res, nil
+ case typeOfIntervalValue:
+ res.Value = IntervalString(v.Interface().(*IntervalValue))
+ return res, nil
+ case typeOfQueryParameterValue:
+ return v.Interface().(*QueryParameterValue).toBQParamValue()
+ }
+ switch t.Kind() {
+ case reflect.Slice:
+ if t.Elem().Kind() == reflect.Uint8 {
+ res.Value = base64.StdEncoding.EncodeToString(v.Interface().([]byte))
+ return res, nil
+ }
+ fallthrough
+
+ case reflect.Array:
+ var vals []*bq.QueryParameterValue
+ for i := 0; i < v.Len(); i++ {
+ val, err := paramValue(v.Index(i))
+ if err != nil {
+ return nil, err
+ }
+ vals = append(vals, val)
+ }
+ return &bq.QueryParameterValue{ArrayValues: vals}, nil
+
+ case reflect.Ptr:
+ if t.Elem().Kind() != reflect.Struct {
+ return res, fmt.Errorf("bigquery: Go type %s cannot be represented as a parameter value", t)
+ }
+ t = t.Elem()
+ v = v.Elem()
+ if !v.IsValid() {
+ // nil pointer becomes empty value
+ return res, nil
+ }
+ fallthrough
+
+ case reflect.Struct:
+ fields, err := fieldCache.Fields(t)
+ if err != nil {
+ return nil, err
+ }
+ res.StructValues = map[string]bq.QueryParameterValue{}
+ for _, f := range fields {
+ fv := v.FieldByIndex(f.Index)
+ fp, err := paramValue(fv)
+ if err != nil {
+ return nil, err
+ }
+ res.StructValues[f.Name] = *fp
+ }
+ return res, nil
+ }
+ // None of the above: assume a scalar type. (If it's not a valid type,
+ // paramType will catch the error.)
+ res.Value = fmt.Sprint(v.Interface())
+ // Ensure empty string values are sent.
+ if res.Value == "" {
+ res.ForceSendFields = append(res.ForceSendFields, "Value")
+ }
+ return res, nil
+}
+
+func bqToQueryParameter(q *bq.QueryParameter) (QueryParameter, error) {
+ p := QueryParameter{Name: q.Name}
+ val, err := convertParamValue(q.ParameterValue, q.ParameterType)
+ if err != nil {
+ return QueryParameter{}, err
+ }
+ p.Value = val
+ return p, nil
+}
+
+var paramTypeToFieldType = map[string]FieldType{
+ int64ParamType.Type: IntegerFieldType,
+ float64ParamType.Type: FloatFieldType,
+ boolParamType.Type: BooleanFieldType,
+ stringParamType.Type: StringFieldType,
+ bytesParamType.Type: BytesFieldType,
+ dateParamType.Type: DateFieldType,
+ timeParamType.Type: TimeFieldType,
+ numericParamType.Type: NumericFieldType,
+ bigNumericParamType.Type: BigNumericFieldType,
+ geographyParamType.Type: GeographyFieldType,
+ intervalParamType.Type: IntervalFieldType,
+ jsonParamType.Type: JSONFieldType,
+}
+
+// Convert a parameter value from the service to a Go value. This is similar to, but
+// not quite the same as, converting data values. Namely, rather than returning nil
+// directly, we wrap them in the appropriate Null types (NullInt64, etc).
+func convertParamValue(qval *bq.QueryParameterValue, qtype *bq.QueryParameterType) (interface{}, error) {
+ switch qtype.Type {
+ case "ARRAY":
+ if qval == nil {
+ return []interface{}(nil), nil
+ }
+ return convertParamArray(qval.ArrayValues, qtype.ArrayType)
+ case "STRUCT":
+ if qval == nil {
+ return map[string]interface{}(nil), nil
+ }
+ return convertParamStruct(qval.StructValues, qtype.StructTypes)
+ case "TIMESTAMP":
+ if isNullScalar(qval) {
+ return NullTimestamp{Valid: false}, nil
+ }
+ formats := []string{timestampFormat, time.RFC3339Nano, dateTimeFormat}
+ var lastParseErr error
+ for _, format := range formats {
+ t, err := time.Parse(format, qval.Value)
+ if err != nil {
+ lastParseErr = err
+ continue
+ }
+ return t, nil
+ }
+ return nil, lastParseErr
+
+ case "DATETIME":
+ if isNullScalar(qval) {
+ return NullDateTime{Valid: false}, nil
+ }
+ return parseCivilDateTime(qval.Value)
+ default:
+ if isNullScalar(qval) {
+ switch qtype.Type {
+ case "INT64":
+ return NullInt64{Valid: false}, nil
+ case "STRING":
+ return NullString{Valid: false}, nil
+ case "FLOAT64":
+ return NullFloat64{Valid: false}, nil
+ case "BOOL":
+ return NullBool{Valid: false}, nil
+ case "DATE":
+ return NullDate{Valid: false}, nil
+ case "TIME":
+ return NullTime{Valid: false}, nil
+ case "GEOGRAPHY":
+ return NullGeography{Valid: false}, nil
+ case "JSON":
+ return NullJSON{Valid: false}, nil
+ }
+
+ }
+ return convertBasicType(qval.Value, paramTypeToFieldType[qtype.Type])
+ }
+}
+
+// isNullScalar determines if the input is meant to represent a null scalar
+// value.
+func isNullScalar(qval *bq.QueryParameterValue) bool {
+ if qval == nil {
+ return true
+ }
+ for _, v := range qval.NullFields {
+ if v == "Value" {
+ return true
+ }
+ }
+ return false
+}
+
+// convertParamArray converts a query parameter array value to a Go value. It
+// always returns a []interface{}.
+func convertParamArray(elVals []*bq.QueryParameterValue, elType *bq.QueryParameterType) ([]interface{}, error) {
+ var vals []interface{}
+ for _, el := range elVals {
+ val, err := convertParamValue(el, elType)
+ if err != nil {
+ return nil, err
+ }
+ vals = append(vals, val)
+ }
+ return vals, nil
+}
+
+// convertParamStruct converts a query parameter struct value into a Go value. It
+// always returns a map[string]interface{}.
+func convertParamStruct(sVals map[string]bq.QueryParameterValue, sTypes []*bq.QueryParameterTypeStructTypes) (map[string]interface{}, error) {
+ vals := map[string]interface{}{}
+ for _, st := range sTypes {
+ if sv, ok := sVals[st.Name]; ok {
+ val, err := convertParamValue(&sv, st.Type)
+ if err != nil {
+ return nil, err
+ }
+ vals[st.Name] = val
+ } else {
+ vals[st.Name] = nil
+ }
+ }
+ return vals, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/query.go b/vendor/cloud.google.com/go/bigquery/query.go
new file mode 100644
index 000000000..f14f650cf
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/query.go
@@ -0,0 +1,526 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "time"
+
+ "cloud.google.com/go/internal/trace"
+ "cloud.google.com/go/internal/uid"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// QueryConfig holds the configuration for a query job.
+type QueryConfig struct {
+ // Dst is the table into which the results of the query will be written.
+ // If this field is nil, a temporary table will be created.
+ Dst *Table
+
+ // The query to execute. See https://cloud.google.com/bigquery/query-reference for details.
+ Q string
+
+ // DefaultProjectID and DefaultDatasetID specify the dataset to use for unqualified table names in the query.
+ // If DefaultProjectID is set, DefaultDatasetID must also be set.
+ DefaultProjectID string
+ DefaultDatasetID string
+
+ // TableDefinitions describes data sources outside of BigQuery.
+ // The map keys may be used as table names in the query string.
+ //
+ // When a QueryConfig is returned from Job.Config, the map values
+ // are always of type *ExternalDataConfig.
+ TableDefinitions map[string]ExternalData
+
+ // CreateDisposition specifies the circumstances under which the destination table will be created.
+ // The default is CreateIfNeeded.
+ CreateDisposition TableCreateDisposition
+
+ // WriteDisposition specifies how existing data in the destination table is treated.
+ // The default is WriteEmpty.
+ WriteDisposition TableWriteDisposition
+
+ // DisableQueryCache prevents results being fetched from the query cache.
+ // If this field is false, results are fetched from the cache if they are available.
+ // The query cache is a best-effort cache that is flushed whenever tables in the query are modified.
+ // Cached results are only available when TableID is unspecified in the query's destination Table.
+ // For more information, see https://cloud.google.com/bigquery/querying-data#querycaching
+ DisableQueryCache bool
+
+ // DisableFlattenedResults prevents results being flattened.
+ // If this field is false, results from nested and repeated fields are flattened.
+ // DisableFlattenedResults implies AllowLargeResults
+ // For more information, see https://cloud.google.com/bigquery/docs/data#nested
+ DisableFlattenedResults bool
+
+ // AllowLargeResults allows the query to produce arbitrarily large result tables.
+ // The destination must be a table.
+ // When using this option, queries will take longer to execute, even if the result set is small.
+ // For additional limitations, see https://cloud.google.com/bigquery/querying-data#largequeryresults
+ AllowLargeResults bool
+
+ // Priority specifies the priority with which to schedule the query.
+ // The default priority is InteractivePriority.
+ // For more information, see https://cloud.google.com/bigquery/querying-data#batchqueries
+ Priority QueryPriority
+
+ // MaxBillingTier sets the maximum billing tier for a Query.
+ // Queries that have resource usage beyond this tier will fail (without
+ // incurring a charge). If this field is zero, the project default will be used.
+ MaxBillingTier int
+
+ // MaxBytesBilled limits the number of bytes billed for
+ // this job. Queries that would exceed this limit will fail (without incurring
+ // a charge).
+ // If this field is less than 1, the project default will be
+ // used.
+ MaxBytesBilled int64
+
+ // UseStandardSQL causes the query to use standard SQL. The default.
+ // Deprecated: use UseLegacySQL.
+ UseStandardSQL bool
+
+ // UseLegacySQL causes the query to use legacy SQL.
+ UseLegacySQL bool
+
+ // Parameters is a list of query parameters. The presence of parameters
+ // implies the use of standard SQL.
+ // If the query uses positional syntax ("?"), then no parameter may have a name.
+ // If the query uses named syntax ("@p"), then all parameters must have names.
+ // It is illegal to mix positional and named syntax.
+ Parameters []QueryParameter
+
+ // TimePartitioning specifies time-based partitioning
+ // for the destination table.
+ TimePartitioning *TimePartitioning
+
+ // RangePartitioning specifies integer range-based partitioning
+ // for the destination table.
+ RangePartitioning *RangePartitioning
+
+ // Clustering specifies the data clustering configuration for the destination table.
+ Clustering *Clustering
+
+ // The labels associated with this job.
+ Labels map[string]string
+
+ // If true, don't actually run this job. A valid query will return a mostly
+ // empty response with some processing statistics, while an invalid query will
+ // return the same error it would if it wasn't a dry run.
+ //
+ // Query.Read will fail with dry-run queries. Call Query.Run instead, and then
+ // call LastStatus on the returned job to get statistics. Calling Status on a
+ // dry-run job will fail.
+ DryRun bool
+
+ // Custom encryption configuration (e.g., Cloud KMS keys).
+ DestinationEncryptionConfig *EncryptionConfig
+
+ // Allows the schema of the destination table to be updated as a side effect of
+ // the query job.
+ SchemaUpdateOptions []string
+
+ // CreateSession will trigger creation of a new session when true.
+ CreateSession bool
+
+ // ConnectionProperties are optional key-values settings.
+ ConnectionProperties []*ConnectionProperty
+
+ // Sets a best-effort deadline on a specific job. If job execution exceeds this
+ // timeout, BigQuery may attempt to cancel this work automatically.
+ //
+ // This deadline cannot be adjusted or removed once the job is created. Consider
+ // using Job.Cancel in situations where you need more dynamic behavior.
+ //
+ // Experimental: this option is experimental and may be modified or removed in future versions,
+ // regardless of any other documented package stability guarantees.
+ JobTimeout time.Duration
+
+ // Force usage of Storage API if client is available. For test scenarios
+ forceStorageAPI bool
+}
+
+func (qc *QueryConfig) toBQ() (*bq.JobConfiguration, error) {
+ qconf := &bq.JobConfigurationQuery{
+ Query: qc.Q,
+ CreateDisposition: string(qc.CreateDisposition),
+ WriteDisposition: string(qc.WriteDisposition),
+ AllowLargeResults: qc.AllowLargeResults,
+ Priority: string(qc.Priority),
+ MaximumBytesBilled: qc.MaxBytesBilled,
+ TimePartitioning: qc.TimePartitioning.toBQ(),
+ RangePartitioning: qc.RangePartitioning.toBQ(),
+ Clustering: qc.Clustering.toBQ(),
+ DestinationEncryptionConfiguration: qc.DestinationEncryptionConfig.toBQ(),
+ SchemaUpdateOptions: qc.SchemaUpdateOptions,
+ CreateSession: qc.CreateSession,
+ }
+ if len(qc.TableDefinitions) > 0 {
+ qconf.TableDefinitions = make(map[string]bq.ExternalDataConfiguration)
+ }
+ for name, data := range qc.TableDefinitions {
+ qconf.TableDefinitions[name] = data.toBQ()
+ }
+ if qc.DefaultProjectID != "" || qc.DefaultDatasetID != "" {
+ qconf.DefaultDataset = &bq.DatasetReference{
+ DatasetId: qc.DefaultDatasetID,
+ ProjectId: qc.DefaultProjectID,
+ }
+ }
+ if tier := int64(qc.MaxBillingTier); tier > 0 {
+ qconf.MaximumBillingTier = &tier
+ }
+ f := false
+ if qc.DisableQueryCache {
+ qconf.UseQueryCache = &f
+ }
+ if qc.DisableFlattenedResults {
+ qconf.FlattenResults = &f
+ // DisableFlattenResults implies AllowLargeResults.
+ qconf.AllowLargeResults = true
+ }
+ if qc.UseStandardSQL && qc.UseLegacySQL {
+ return nil, errors.New("bigquery: cannot provide both UseStandardSQL and UseLegacySQL")
+ }
+ if len(qc.Parameters) > 0 && qc.UseLegacySQL {
+ return nil, errors.New("bigquery: cannot provide both Parameters (implying standard SQL) and UseLegacySQL")
+ }
+ ptrue := true
+ pfalse := false
+ if qc.UseLegacySQL {
+ qconf.UseLegacySql = &ptrue
+ } else {
+ qconf.UseLegacySql = &pfalse
+ }
+ if qc.Dst != nil && !qc.Dst.implicitTable() {
+ qconf.DestinationTable = qc.Dst.toBQ()
+ }
+ for _, p := range qc.Parameters {
+ qp, err := p.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ qconf.QueryParameters = append(qconf.QueryParameters, qp)
+ }
+ if len(qc.ConnectionProperties) > 0 {
+ bqcp := make([]*bq.ConnectionProperty, len(qc.ConnectionProperties))
+ for k, v := range qc.ConnectionProperties {
+ bqcp[k] = v.toBQ()
+ }
+ qconf.ConnectionProperties = bqcp
+ }
+ jc := &bq.JobConfiguration{
+ Labels: qc.Labels,
+ DryRun: qc.DryRun,
+ Query: qconf,
+ }
+ if qc.JobTimeout > 0 {
+ jc.JobTimeoutMs = qc.JobTimeout.Milliseconds()
+ }
+ return jc, nil
+}
+
+func bqToQueryConfig(q *bq.JobConfiguration, c *Client) (*QueryConfig, error) {
+ qq := q.Query
+ qc := &QueryConfig{
+ Labels: q.Labels,
+ DryRun: q.DryRun,
+ JobTimeout: time.Duration(q.JobTimeoutMs) * time.Millisecond,
+ Q: qq.Query,
+ CreateDisposition: TableCreateDisposition(qq.CreateDisposition),
+ WriteDisposition: TableWriteDisposition(qq.WriteDisposition),
+ AllowLargeResults: qq.AllowLargeResults,
+ Priority: QueryPriority(qq.Priority),
+ MaxBytesBilled: qq.MaximumBytesBilled,
+ UseLegacySQL: qq.UseLegacySql == nil || *qq.UseLegacySql,
+ TimePartitioning: bqToTimePartitioning(qq.TimePartitioning),
+ RangePartitioning: bqToRangePartitioning(qq.RangePartitioning),
+ Clustering: bqToClustering(qq.Clustering),
+ DestinationEncryptionConfig: bqToEncryptionConfig(qq.DestinationEncryptionConfiguration),
+ SchemaUpdateOptions: qq.SchemaUpdateOptions,
+ CreateSession: qq.CreateSession,
+ }
+ qc.UseStandardSQL = !qc.UseLegacySQL
+
+ if len(qq.TableDefinitions) > 0 {
+ qc.TableDefinitions = make(map[string]ExternalData)
+ }
+ for name, qedc := range qq.TableDefinitions {
+ edc, err := bqToExternalDataConfig(&qedc)
+ if err != nil {
+ return nil, err
+ }
+ qc.TableDefinitions[name] = edc
+ }
+ if qq.DefaultDataset != nil {
+ qc.DefaultProjectID = qq.DefaultDataset.ProjectId
+ qc.DefaultDatasetID = qq.DefaultDataset.DatasetId
+ }
+ if qq.MaximumBillingTier != nil {
+ qc.MaxBillingTier = int(*qq.MaximumBillingTier)
+ }
+ if qq.UseQueryCache != nil && !*qq.UseQueryCache {
+ qc.DisableQueryCache = true
+ }
+ if qq.FlattenResults != nil && !*qq.FlattenResults {
+ qc.DisableFlattenedResults = true
+ }
+ if qq.DestinationTable != nil {
+ qc.Dst = bqToTable(qq.DestinationTable, c)
+ }
+ for _, qp := range qq.QueryParameters {
+ p, err := bqToQueryParameter(qp)
+ if err != nil {
+ return nil, err
+ }
+ qc.Parameters = append(qc.Parameters, p)
+ }
+ if len(qq.ConnectionProperties) > 0 {
+ props := make([]*ConnectionProperty, len(qq.ConnectionProperties))
+ for k, v := range qq.ConnectionProperties {
+ props[k] = bqToConnectionProperty(v)
+ }
+ qc.ConnectionProperties = props
+ }
+ return qc, nil
+}
+
+// QueryPriority specifies a priority with which a query is to be executed.
+type QueryPriority string
+
+const (
+ // BatchPriority specifies that the query should be scheduled with the
+ // batch priority. BigQuery queues each batch query on your behalf, and
+ // starts the query as soon as idle resources are available, usually within
+ // a few minutes. If BigQuery hasn't started the query within 24 hours,
+ // BigQuery changes the job priority to interactive. Batch queries don't
+ // count towards your concurrent rate limit, which can make it easier to
+ // start many queries at once.
+ //
+ // More information can be found at https://cloud.google.com/bigquery/docs/running-queries#batchqueries.
+ BatchPriority QueryPriority = "BATCH"
+ // InteractivePriority specifies that the query should be scheduled with
+ // interactive priority, which means that the query is executed as soon as
+ // possible. Interactive queries count towards your concurrent rate limit
+ // and your daily limit. It is the default priority with which queries get
+ // executed.
+ //
+ // More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries.
+ InteractivePriority QueryPriority = "INTERACTIVE"
+)
+
+// A Query queries data from a BigQuery table. Use Client.Query to create a Query.
+type Query struct {
+ JobIDConfig
+ QueryConfig
+ client *Client
+}
+
+// Query creates a query with string q.
+// The returned Query may optionally be further configured before its Run method is called.
+func (c *Client) Query(q string) *Query {
+ return &Query{
+ client: c,
+ QueryConfig: QueryConfig{Q: q},
+ }
+}
+
+// Run initiates a query job.
+func (q *Query) Run(ctx context.Context) (j *Job, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Query.Run")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ job, err := q.newJob()
+ if err != nil {
+ return nil, err
+ }
+ j, err = q.client.insertJob(ctx, job, nil)
+ if err != nil {
+ return nil, err
+ }
+ return j, nil
+}
+
+func (q *Query) newJob() (*bq.Job, error) {
+ config, err := q.QueryConfig.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ return &bq.Job{
+ JobReference: q.JobIDConfig.createJobRef(q.client),
+ Configuration: config,
+ }, nil
+}
+
+// Read submits a query for execution and returns the results via a RowIterator.
+// If the request can be satisfied by running using the optimized query path, it
+// is used in place of the jobs.insert path as this path does not expose a job
+// object.
+func (q *Query) Read(ctx context.Context) (it *RowIterator, err error) {
+ if q.QueryConfig.DryRun {
+ return nil, errors.New("bigquery: cannot evaluate Query.Read() for dry-run queries")
+ }
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Query.Run")
+ defer func() { trace.EndSpan(ctx, err) }()
+ queryRequest, err := q.probeFastPath()
+ if err != nil {
+ // Any error means we fallback to the older mechanism.
+ job, err := q.Run(ctx)
+ if err != nil {
+ return nil, err
+ }
+ return job.Read(ctx)
+ }
+
+ // we have a config, run on fastPath.
+ resp, err := q.client.runQuery(ctx, queryRequest)
+ if err != nil {
+ return nil, err
+ }
+
+ // construct a minimal job for backing the row iterator.
+ var minimalJob *Job
+ if resp.JobReference != nil {
+ minimalJob = &Job{
+ c: q.client,
+ jobID: resp.JobReference.JobId,
+ location: resp.JobReference.Location,
+ projectID: resp.JobReference.ProjectId,
+ }
+ }
+
+ if resp.JobComplete {
+ // If more pages are available, discard and use the Storage API instead
+ if resp.PageToken != "" && q.client.isStorageReadAvailable() {
+ it, err = newStorageRowIteratorFromJob(ctx, minimalJob)
+ if err == nil {
+ return it, nil
+ }
+ }
+ rowSource := &rowSource{
+ j: minimalJob,
+ queryID: resp.QueryId,
+ // RowIterator can precache results from the iterator to save a lookup.
+ cachedRows: resp.Rows,
+ cachedSchema: resp.Schema,
+ cachedNextToken: resp.PageToken,
+ }
+ return newRowIterator(ctx, rowSource, fetchPage), nil
+ }
+ // We're on the fastPath, but we need to poll because the job is incomplete.
+ // Fallback to job-based Read().
+ //
+ // (Issue 2937) In order to satisfy basic probing of the job in classic path,
+ // we need to supply additional config which is probed for presence, not contents.
+ //
+ minimalJob.config = &bq.JobConfiguration{
+ Query: &bq.JobConfigurationQuery{},
+ }
+
+ return minimalJob.Read(ctx)
+}
+
+// probeFastPath is used to attempt configuring a jobs.Query request based on a
+// user's Query configuration. If all the options set on the job are supported on the
+// faster query path, this method returns a QueryRequest suitable for execution.
+func (q *Query) probeFastPath() (*bq.QueryRequest, error) {
+ if q.forceStorageAPI && q.client.isStorageReadAvailable() {
+ return nil, fmt.Errorf("force Storage API usage")
+ }
+ // This is a denylist of settings which prevent us from composing an equivalent
+ // bq.QueryRequest due to differences between configuration parameters accepted
+ // by jobs.insert vs jobs.query.
+ if q.QueryConfig.Dst != nil ||
+ q.QueryConfig.TableDefinitions != nil ||
+ q.QueryConfig.CreateDisposition != "" ||
+ q.QueryConfig.WriteDisposition != "" ||
+ !(q.QueryConfig.Priority == "" || q.QueryConfig.Priority == InteractivePriority) ||
+ q.QueryConfig.UseLegacySQL ||
+ q.QueryConfig.MaxBillingTier != 0 ||
+ q.QueryConfig.TimePartitioning != nil ||
+ q.QueryConfig.RangePartitioning != nil ||
+ q.QueryConfig.Clustering != nil ||
+ q.QueryConfig.DestinationEncryptionConfig != nil ||
+ q.QueryConfig.SchemaUpdateOptions != nil ||
+ q.QueryConfig.JobTimeout != 0 ||
+ // User has defined the jobID generation behavior
+ q.JobIDConfig.JobID != "" {
+ return nil, fmt.Errorf("QueryConfig incompatible with fastPath")
+ }
+ pfalse := false
+ qRequest := &bq.QueryRequest{
+ Query: q.QueryConfig.Q,
+ CreateSession: q.CreateSession,
+ Location: q.Location,
+ UseLegacySql: &pfalse,
+ MaximumBytesBilled: q.QueryConfig.MaxBytesBilled,
+ RequestId: uid.NewSpace("request", nil).New(),
+ Labels: q.Labels,
+ FormatOptions: &bq.DataFormatOptions{
+ UseInt64Timestamp: true,
+ },
+ }
+ if q.QueryConfig.DisableQueryCache {
+ qRequest.UseQueryCache = &pfalse
+ }
+ // Convert query parameters
+ for _, p := range q.QueryConfig.Parameters {
+ qp, err := p.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ qRequest.QueryParameters = append(qRequest.QueryParameters, qp)
+ }
+ if q.QueryConfig.DefaultDatasetID != "" {
+ qRequest.DefaultDataset = &bq.DatasetReference{
+ ProjectId: q.QueryConfig.DefaultProjectID,
+ DatasetId: q.QueryConfig.DefaultDatasetID,
+ }
+ }
+ if q.client.enableQueryPreview {
+ qRequest.JobCreationMode = "JOB_CREATION_OPTIONAL"
+ }
+ return qRequest, nil
+}
+
+// ConnectionProperty represents a single key and value pair that can be sent alongside a query request or load job.
+type ConnectionProperty struct {
+ // Name of the connection property to set.
+ Key string
+ // Value of the connection property.
+ Value string
+}
+
+func (cp *ConnectionProperty) toBQ() *bq.ConnectionProperty {
+ if cp == nil {
+ return nil
+ }
+ return &bq.ConnectionProperty{
+ Key: cp.Key,
+ Value: cp.Value,
+ }
+}
+
+func bqToConnectionProperty(in *bq.ConnectionProperty) *ConnectionProperty {
+ if in == nil {
+ return nil
+ }
+ return &ConnectionProperty{
+ Key: in.Key,
+ Value: in.Value,
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/random.go b/vendor/cloud.google.com/go/bigquery/random.go
new file mode 100644
index 000000000..65f938434
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/random.go
@@ -0,0 +1,56 @@
+// Copyright 2018 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "math/rand"
+ "os"
+ "sync"
+ "time"
+)
+
+// Support for random values (typically job IDs and insert IDs).
+
+const alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+
+var (
+ rngMu sync.Mutex
+ rng = rand.New(rand.NewSource(time.Now().UnixNano() ^ int64(os.Getpid())))
+)
+
+// For testing.
+var randomIDFn = randomID
+
+// As of August 2017, the BigQuery service uses 27 alphanumeric characters for
+// suffixes.
+const randomIDLen = 27
+
+func randomID() string {
+ // This is used for both job IDs and insert IDs.
+ var b [randomIDLen]byte
+ rngMu.Lock()
+ for i := 0; i < len(b); i++ {
+ b[i] = alphanum[rng.Intn(len(alphanum))]
+ }
+ rngMu.Unlock()
+ return string(b[:])
+}
+
+// Seed seeds this package's random number generator, used for generating job and
+// insert IDs. Use Seed to obtain repeatable, deterministic behavior from bigquery
+// clients. Seed should be called before any clients are created.
+func Seed(s int64) {
+ rng = rand.New(rand.NewSource(s))
+}
diff --git a/vendor/cloud.google.com/go/bigquery/routine.go b/vendor/cloud.google.com/go/bigquery/routine.go
new file mode 100644
index 000000000..77fd5d90d
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/routine.go
@@ -0,0 +1,542 @@
+// Copyright 2019 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "strings"
+ "time"
+
+ "cloud.google.com/go/internal/optional"
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// Routine represents a reference to a BigQuery routine. There are multiple
+// types of routines including stored procedures and scalar user-defined functions (UDFs).
+// For more information, see the BigQuery documentation at https://cloud.google.com/bigquery/docs/
+type Routine struct {
+ ProjectID string
+ DatasetID string
+ RoutineID string
+
+ c *Client
+}
+
+func (r *Routine) toBQ() *bq.RoutineReference {
+ return &bq.RoutineReference{
+ ProjectId: r.ProjectID,
+ DatasetId: r.DatasetID,
+ RoutineId: r.RoutineID,
+ }
+}
+
+// Identifier returns the ID of the routine in the requested format.
+//
+// For Standard SQL format, the identifier will be quoted if the
+// ProjectID contains dash (-) characters.
+func (r *Routine) Identifier(f IdentifierFormat) (string, error) {
+ switch f {
+ case StandardSQLID:
+ if strings.Contains(r.ProjectID, "-") {
+ return fmt.Sprintf("`%s`.%s.%s", r.ProjectID, r.DatasetID, r.RoutineID), nil
+ }
+ return fmt.Sprintf("%s.%s.%s", r.ProjectID, r.DatasetID, r.RoutineID), nil
+ default:
+ return "", ErrUnknownIdentifierFormat
+ }
+}
+
+// FullyQualifiedName returns an identifer for the routine in project.dataset.routine format.
+func (r *Routine) FullyQualifiedName() string {
+ s, _ := r.Identifier(StandardSQLID)
+ return s
+}
+
+// Create creates a Routine in the BigQuery service.
+// Pass in a RoutineMetadata to define the routine.
+func (r *Routine) Create(ctx context.Context, rm *RoutineMetadata) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Routine.Create")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ routine, err := rm.toBQ()
+ if err != nil {
+ return err
+ }
+ routine.RoutineReference = &bq.RoutineReference{
+ ProjectId: r.ProjectID,
+ DatasetId: r.DatasetID,
+ RoutineId: r.RoutineID,
+ }
+ req := r.c.bqs.Routines.Insert(r.ProjectID, r.DatasetID, routine).Context(ctx)
+ setClientHeader(req.Header())
+ _, err = req.Do()
+ return err
+}
+
+// Metadata fetches the metadata for a given Routine.
+func (r *Routine) Metadata(ctx context.Context) (rm *RoutineMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Routine.Metadata")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ req := r.c.bqs.Routines.Get(r.ProjectID, r.DatasetID, r.RoutineID).Context(ctx)
+ setClientHeader(req.Header())
+ var routine *bq.Routine
+ err = runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.routines.get")
+ routine, err = req.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+ return bqToRoutineMetadata(routine)
+}
+
+// Update modifies properties of a Routine using the API.
+func (r *Routine) Update(ctx context.Context, upd *RoutineMetadataToUpdate, etag string) (rm *RoutineMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Routine.Update")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ bqr, err := upd.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ //TODO: remove when routines update supports partial requests.
+ bqr.RoutineReference = &bq.RoutineReference{
+ ProjectId: r.ProjectID,
+ DatasetId: r.DatasetID,
+ RoutineId: r.RoutineID,
+ }
+
+ call := r.c.bqs.Routines.Update(r.ProjectID, r.DatasetID, r.RoutineID, bqr).Context(ctx)
+ setClientHeader(call.Header())
+ if etag != "" {
+ call.Header().Set("If-Match", etag)
+ }
+ var res *bq.Routine
+ if err := runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.routines.update")
+ res, err = call.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ }); err != nil {
+ return nil, err
+ }
+ return bqToRoutineMetadata(res)
+}
+
+// Delete removes a Routine from a dataset.
+func (r *Routine) Delete(ctx context.Context) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Model.Delete")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ req := r.c.bqs.Routines.Delete(r.ProjectID, r.DatasetID, r.RoutineID).Context(ctx)
+ setClientHeader(req.Header())
+ return req.Do()
+}
+
+// RoutineDeterminism specifies the level of determinism that javascript User Defined Functions
+// exhibit.
+type RoutineDeterminism string
+
+const (
+ // Deterministic indicates that two calls with the same input to a UDF yield the same output.
+ Deterministic RoutineDeterminism = "DETERMINISTIC"
+ // NotDeterministic indicates that the output of the UDF is not guaranteed to yield the same
+ // output each time for a given set of inputs.
+ NotDeterministic RoutineDeterminism = "NOT_DETERMINISTIC"
+)
+
+const (
+ // ScalarFunctionRoutine scalar function routine type
+ ScalarFunctionRoutine = "SCALAR_FUNCTION"
+ // ProcedureRoutine procedure routine type
+ ProcedureRoutine = "PROCEDURE"
+ // TableValuedFunctionRoutine routine type for table valued functions
+ TableValuedFunctionRoutine = "TABLE_VALUED_FUNCTION"
+)
+
+// RoutineMetadata represents details of a given BigQuery Routine.
+type RoutineMetadata struct {
+ ETag string
+ // Type indicates the type of routine, such as SCALAR_FUNCTION, PROCEDURE,
+ // or TABLE_VALUED_FUNCTION.
+ Type string
+ CreationTime time.Time
+ Description string
+ // DeterminismLevel is only applicable to Javascript UDFs.
+ DeterminismLevel RoutineDeterminism
+ LastModifiedTime time.Time
+ // Language of the routine, such as SQL or JAVASCRIPT.
+ Language string
+ // The list of arguments for the the routine.
+ Arguments []*RoutineArgument
+
+ // Information for a remote user-defined function.
+ RemoteFunctionOptions *RemoteFunctionOptions
+
+ ReturnType *StandardSQLDataType
+
+ // Set only if the routine type is TABLE_VALUED_FUNCTION.
+ ReturnTableType *StandardSQLTableType
+ // For javascript routines, this indicates the paths for imported libraries.
+ ImportedLibraries []string
+ // Body contains the routine's body.
+ // For functions, Body is the expression in the AS clause.
+ //
+ // For SQL functions, it is the substring inside the parentheses of a CREATE
+ // FUNCTION statement.
+ //
+ // For JAVASCRIPT function, it is the evaluated string in the AS clause of
+ // a CREATE FUNCTION statement.
+ Body string
+
+ // For data governance use cases. If set to "DATA_MASKING", the function
+ // is validated and made available as a masking function. For more information,
+ // see: https://cloud.google.com/bigquery/docs/user-defined-functions#custom-mask
+ DataGovernanceType string
+}
+
+// RemoteFunctionOptions contains information for a remote user-defined function.
+type RemoteFunctionOptions struct {
+
+ // Fully qualified name of the user-provided connection object which holds
+ // the authentication information to send requests to the remote service.
+ // Format:
+ // projects/{projectId}/locations/{locationId}/connections/{connectionId}
+ Connection string
+
+ // Endpoint of the user-provided remote service (e.g. a function url in
+ // Google Cloud Function or Cloud Run )
+ Endpoint string
+
+ // Max number of rows in each batch sent to the remote service.
+ // If absent or if 0, it means no limit.
+ MaxBatchingRows int64
+
+ // User-defined context as a set of key/value pairs,
+ // which will be sent as function invocation context together with
+ // batched arguments in the requests to the remote service. The total
+ // number of bytes of keys and values must be less than 8KB.
+ UserDefinedContext map[string]string
+}
+
+func bqToRemoteFunctionOptions(in *bq.RemoteFunctionOptions) (*RemoteFunctionOptions, error) {
+ if in == nil {
+ return nil, nil
+ }
+ rfo := &RemoteFunctionOptions{
+ Connection: in.Connection,
+ Endpoint: in.Endpoint,
+ MaxBatchingRows: in.MaxBatchingRows,
+ }
+ if in.UserDefinedContext != nil {
+ rfo.UserDefinedContext = make(map[string]string)
+ for k, v := range in.UserDefinedContext {
+ rfo.UserDefinedContext[k] = v
+ }
+ }
+ return rfo, nil
+}
+
+func (rfo *RemoteFunctionOptions) toBQ() (*bq.RemoteFunctionOptions, error) {
+ if rfo == nil {
+ return nil, nil
+ }
+ r := &bq.RemoteFunctionOptions{
+ Connection: rfo.Connection,
+ Endpoint: rfo.Endpoint,
+ MaxBatchingRows: rfo.MaxBatchingRows,
+ }
+ if rfo.UserDefinedContext != nil {
+ r.UserDefinedContext = make(map[string]string)
+ for k, v := range rfo.UserDefinedContext {
+ r.UserDefinedContext[k] = v
+ }
+ }
+ return r, nil
+}
+
+func (rm *RoutineMetadata) toBQ() (*bq.Routine, error) {
+ r := &bq.Routine{}
+ if rm == nil {
+ return r, nil
+ }
+ r.Description = rm.Description
+ r.DeterminismLevel = string(rm.DeterminismLevel)
+ r.Language = rm.Language
+ r.RoutineType = rm.Type
+ r.DefinitionBody = rm.Body
+ r.DataGovernanceType = rm.DataGovernanceType
+ rt, err := rm.ReturnType.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ r.ReturnType = rt
+ if rm.ReturnTableType != nil {
+ tt, err := rm.ReturnTableType.toBQ()
+ if err != nil {
+ return nil, fmt.Errorf("couldn't convert return table type: %w", err)
+ }
+ r.ReturnTableType = tt
+ }
+ var args []*bq.Argument
+ for _, v := range rm.Arguments {
+ bqa, err := v.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ args = append(args, bqa)
+ }
+ r.Arguments = args
+ r.ImportedLibraries = rm.ImportedLibraries
+ if rm.RemoteFunctionOptions != nil {
+ rfo, err := rm.RemoteFunctionOptions.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ r.RemoteFunctionOptions = rfo
+ }
+ if !rm.CreationTime.IsZero() {
+ return nil, errors.New("cannot set CreationTime on create")
+ }
+ if !rm.LastModifiedTime.IsZero() {
+ return nil, errors.New("cannot set LastModifiedTime on create")
+ }
+ if rm.ETag != "" {
+ return nil, errors.New("cannot set ETag on create")
+ }
+ return r, nil
+}
+
+// RoutineArgument represents an argument supplied to a routine such as a UDF or
+// stored procedured.
+type RoutineArgument struct {
+ // The name of this argument. Can be absent for function return argument.
+ Name string
+ // Kind indicates the kind of argument represented.
+ // Possible values:
+ // ARGUMENT_KIND_UNSPECIFIED
+ // FIXED_TYPE - The argument is a variable with fully specified
+ // type, which can be a struct or an array, but not a table.
+ // ANY_TYPE - The argument is any type, including struct or array,
+ // but not a table.
+ Kind string
+ // Mode is optional, and indicates whether an argument is input or output.
+ // Mode can only be set for procedures.
+ //
+ // Possible values:
+ // MODE_UNSPECIFIED
+ // IN - The argument is input-only.
+ // OUT - The argument is output-only.
+ // INOUT - The argument is both an input and an output.
+ Mode string
+ // DataType provides typing information. Unnecessary for ANY_TYPE Kind
+ // arguments.
+ DataType *StandardSQLDataType
+}
+
+func (ra *RoutineArgument) toBQ() (*bq.Argument, error) {
+ if ra == nil {
+ return nil, nil
+ }
+ a := &bq.Argument{
+ Name: ra.Name,
+ ArgumentKind: ra.Kind,
+ Mode: ra.Mode,
+ }
+ if ra.DataType != nil {
+ dt, err := ra.DataType.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ a.DataType = dt
+ }
+ return a, nil
+}
+
+func bqToRoutineArgument(bqa *bq.Argument) (*RoutineArgument, error) {
+ arg := &RoutineArgument{
+ Name: bqa.Name,
+ Kind: bqa.ArgumentKind,
+ Mode: bqa.Mode,
+ }
+ dt, err := bqToStandardSQLDataType(bqa.DataType)
+ if err != nil {
+ return nil, err
+ }
+ arg.DataType = dt
+ return arg, nil
+}
+
+func bqToArgs(in []*bq.Argument) ([]*RoutineArgument, error) {
+ var out []*RoutineArgument
+ for _, a := range in {
+ arg, err := bqToRoutineArgument(a)
+ if err != nil {
+ return nil, err
+ }
+ out = append(out, arg)
+ }
+ return out, nil
+}
+
+func routineArgumentsToBQ(in []*RoutineArgument) ([]*bq.Argument, error) {
+ var out []*bq.Argument
+ for _, inarg := range in {
+ arg, err := inarg.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ out = append(out, arg)
+ }
+ return out, nil
+}
+
+// RoutineMetadataToUpdate governs updating a routine.
+type RoutineMetadataToUpdate struct {
+ Arguments []*RoutineArgument
+ Description optional.String
+ DeterminismLevel optional.String
+ Type optional.String
+ Language optional.String
+ Body optional.String
+ ImportedLibraries []string
+ ReturnType *StandardSQLDataType
+ ReturnTableType *StandardSQLTableType
+ DataGovernanceType optional.String
+}
+
+func (rm *RoutineMetadataToUpdate) toBQ() (*bq.Routine, error) {
+ r := &bq.Routine{}
+ forceSend := func(field string) {
+ r.ForceSendFields = append(r.ForceSendFields, field)
+ }
+ nullField := func(field string) {
+ r.NullFields = append(r.NullFields, field)
+ }
+ if rm.Description != nil {
+ r.Description = optional.ToString(rm.Description)
+ forceSend("Description")
+ }
+ if rm.DeterminismLevel != nil {
+ processed := false
+ // Allow either string or RoutineDeterminism, a type based on string.
+ if x, ok := rm.DeterminismLevel.(RoutineDeterminism); ok {
+ r.DeterminismLevel = string(x)
+ processed = true
+ }
+ if x, ok := rm.DeterminismLevel.(string); ok {
+ r.DeterminismLevel = x
+ processed = true
+ }
+ if !processed {
+ panic(fmt.Sprintf("DeterminismLevel should be either type string or RoutineDetermism in update, got %T", rm.DeterminismLevel))
+ }
+ }
+ if rm.Arguments != nil {
+ if len(rm.Arguments) == 0 {
+ nullField("Arguments")
+ } else {
+ args, err := routineArgumentsToBQ(rm.Arguments)
+ if err != nil {
+ return nil, err
+ }
+ r.Arguments = args
+ forceSend("Arguments")
+ }
+ }
+ if rm.Type != nil {
+ r.RoutineType = optional.ToString(rm.Type)
+ forceSend("RoutineType")
+ }
+ if rm.Language != nil {
+ r.Language = optional.ToString(rm.Language)
+ forceSend("Language")
+ }
+ if rm.Body != nil {
+ r.DefinitionBody = optional.ToString(rm.Body)
+ forceSend("DefinitionBody")
+ }
+ if rm.ImportedLibraries != nil {
+ if len(rm.ImportedLibraries) == 0 {
+ nullField("ImportedLibraries")
+ } else {
+ r.ImportedLibraries = rm.ImportedLibraries
+ forceSend("ImportedLibraries")
+ }
+ }
+ if rm.ReturnType != nil {
+ dt, err := rm.ReturnType.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ r.ReturnType = dt
+ forceSend("ReturnType")
+ }
+ if rm.ReturnTableType != nil {
+ tt, err := rm.ReturnTableType.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ r.ReturnTableType = tt
+ forceSend("ReturnTableType")
+ }
+ if rm.DataGovernanceType != nil {
+ r.DataGovernanceType = optional.ToString(rm.DataGovernanceType)
+ forceSend("DataGovernanceType")
+ }
+ return r, nil
+}
+
+func bqToRoutineMetadata(r *bq.Routine) (*RoutineMetadata, error) {
+ meta := &RoutineMetadata{
+ ETag: r.Etag,
+ Type: r.RoutineType,
+ CreationTime: unixMillisToTime(r.CreationTime),
+ Description: r.Description,
+ DeterminismLevel: RoutineDeterminism(r.DeterminismLevel),
+ LastModifiedTime: unixMillisToTime(r.LastModifiedTime),
+ Language: r.Language,
+ ImportedLibraries: r.ImportedLibraries,
+ Body: r.DefinitionBody,
+ DataGovernanceType: r.DataGovernanceType,
+ }
+ args, err := bqToArgs(r.Arguments)
+ if err != nil {
+ return nil, err
+ }
+ meta.Arguments = args
+ ret, err := bqToStandardSQLDataType(r.ReturnType)
+ if err != nil {
+ return nil, err
+ }
+ meta.ReturnType = ret
+ rfo, err := bqToRemoteFunctionOptions(r.RemoteFunctionOptions)
+ if err != nil {
+ return nil, err
+ }
+ meta.RemoteFunctionOptions = rfo
+ tt, err := bqToStandardSQLTableType(r.ReturnTableType)
+ if err != nil {
+ return nil, err
+ }
+ meta.ReturnTableType = tt
+ return meta, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/schema.go b/vendor/cloud.google.com/go/bigquery/schema.go
new file mode 100644
index 000000000..17d4ab71d
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/schema.go
@@ -0,0 +1,704 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "reflect"
+ "sync"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// Schema describes the fields in a table or query result.
+type Schema []*FieldSchema
+
+// Relax returns a version of the schema where no fields are marked
+// as Required.
+func (s Schema) Relax() Schema {
+ var out Schema
+ for _, v := range s {
+ relaxed := &FieldSchema{
+ Name: v.Name,
+ Description: v.Description,
+ Repeated: v.Repeated,
+ Required: false,
+ Type: v.Type,
+ Schema: v.Schema.Relax(),
+ }
+ out = append(out, relaxed)
+ }
+ return out
+}
+
+// ToJSONFields exposes the schema as a JSON array of
+// TableFieldSchema objects: https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema
+//
+// Generally this isn't needed for direct usage of this library, but is
+// provided for use cases where you're interacting with other tools
+// that consume the underlying API representation directly such as the
+// BQ CLI tool.
+func (s Schema) ToJSONFields() ([]byte, error) {
+ var rawSchema []*bq.TableFieldSchema
+ for _, f := range s {
+ rawSchema = append(rawSchema, f.toBQ())
+ }
+ // Use json.MarshalIndent to make the output more human-readable.
+ return json.MarshalIndent(rawSchema, "", " ")
+}
+
+// FieldSchema describes a single field.
+type FieldSchema struct {
+ // The field name.
+ // Must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_),
+ // and must start with a letter or underscore.
+ // The maximum length is 128 characters.
+ Name string
+
+ // A description of the field. The maximum length is 16,384 characters.
+ Description string
+
+ // Whether the field may contain multiple values.
+ Repeated bool
+ // Whether the field is required. Ignored if Repeated is true.
+ Required bool
+
+ // The field data type. If Type is Record, then this field contains a nested schema,
+ // which is described by Schema.
+ Type FieldType
+
+ // Annotations for enforcing column-level security constraints.
+ PolicyTags *PolicyTagList
+
+ // Describes the nested schema if Type is set to Record.
+ Schema Schema
+
+ // Maximum length of the field for STRING or BYTES type.
+ //
+ // It is invalid to set value for types other than STRING or BYTES.
+ //
+ // For STRING type, this represents the maximum UTF-8 length of strings
+ // allowed in the field. For BYTES type, this represents the maximum
+ // number of bytes in the field.
+ MaxLength int64
+
+ // Precision can be used to constrain the maximum number of
+ // total digits allowed for NUMERIC or BIGNUMERIC types.
+ //
+ // It is invalid to set values for Precision for types other than
+ // NUMERIC or BIGNUMERIC.
+ //
+ // For NUMERIC type, acceptable values for Precision must
+ // be: 1 ≤ (Precision - Scale) ≤ 29. Values for Scale
+ // must be: 0 ≤ Scale ≤ 9.
+ //
+ // For BIGNUMERIC type, acceptable values for Precision must
+ // be: 1 ≤ (Precision - Scale) ≤ 38. Values for Scale
+ // must be: 0 ≤ Scale ≤ 38.
+ Precision int64
+
+ // Scale can be used to constrain the maximum number of digits
+ // in the fractional part of a NUMERIC or BIGNUMERIC type.
+ //
+ // If the Scale value is set, the Precision value must be set as well.
+ //
+ // It is invalid to set values for Scale for types other than
+ // NUMERIC or BIGNUMERIC.
+ //
+ // See the Precision field for additional guidance about valid values.
+ Scale int64
+
+ // DefaultValueExpression is used to specify the default value of a field
+ // using a SQL expression. It can only be set for top level fields (columns).
+ //
+ // You can use struct or array expression to specify default value for the
+ // entire struct or array. The valid SQL expressions are:
+ //
+ // - Literals for all data types, including STRUCT and ARRAY.
+ // - The following functions:
+ // - CURRENT_TIMESTAMP
+ // - CURRENT_TIME
+ // - CURRENT_DATE
+ // - CURRENT_DATETIME
+ // - GENERATE_UUID
+ // - RAND
+ // - SESSION_USER
+ // - ST_GEOGPOINT
+ // - Struct or array composed with the above allowed functions, for example:
+ // [CURRENT_DATE(), DATE '2020-01-01']"
+ DefaultValueExpression string
+
+ // Collation can be set only when the type of field is STRING.
+ // The following values are supported:
+ // - 'und:ci': undetermined locale, case insensitive.
+ // - '': empty string. Default to case-sensitive behavior.
+ // More information: https://cloud.google.com/bigquery/docs/reference/standard-sql/collation-concepts
+ Collation string
+
+ // Information about the range.
+ // If the type is RANGE, this field is required.
+ RangeElementType *RangeElementType
+}
+
+func (fs *FieldSchema) toBQ() *bq.TableFieldSchema {
+ tfs := &bq.TableFieldSchema{
+ Description: fs.Description,
+ Name: fs.Name,
+ Type: string(fs.Type),
+ PolicyTags: fs.PolicyTags.toBQ(),
+ MaxLength: fs.MaxLength,
+ Precision: fs.Precision,
+ Scale: fs.Scale,
+ DefaultValueExpression: fs.DefaultValueExpression,
+ Collation: string(fs.Collation),
+ RangeElementType: fs.RangeElementType.toBQ(),
+ }
+
+ if fs.Repeated {
+ tfs.Mode = "REPEATED"
+ } else if fs.Required {
+ tfs.Mode = "REQUIRED"
+ } // else leave as default, which is interpreted as NULLABLE.
+
+ for _, f := range fs.Schema {
+ tfs.Fields = append(tfs.Fields, f.toBQ())
+ }
+
+ return tfs
+}
+
+// RangeElementType describes information about the range type.
+type RangeElementType struct {
+ // The subtype of the RANGE, if the type of this field is RANGE.
+ // Possible values for the field element type of a RANGE include:
+ // DATE, DATETIME, or TIMESTAMP.
+ Type FieldType
+}
+
+func (rt *RangeElementType) toBQ() *bq.TableFieldSchemaRangeElementType {
+ if rt == nil {
+ return nil
+ }
+ return &bq.TableFieldSchemaRangeElementType{
+ Type: string(rt.Type),
+ }
+}
+
+func bqToRangeElementType(rt *bq.TableFieldSchemaRangeElementType) *RangeElementType {
+ if rt == nil {
+ return nil
+ }
+ return &RangeElementType{
+ Type: FieldType(rt.Type),
+ }
+}
+
+// PolicyTagList represents the annotations on a schema column for enforcing column-level security.
+// For more information, see https://cloud.google.com/bigquery/docs/column-level-security-intro
+type PolicyTagList struct {
+ Names []string
+}
+
+func (ptl *PolicyTagList) toBQ() *bq.TableFieldSchemaPolicyTags {
+ if ptl == nil {
+ return nil
+ }
+ return &bq.TableFieldSchemaPolicyTags{
+ Names: ptl.Names,
+ }
+}
+
+func bqToPolicyTagList(pt *bq.TableFieldSchemaPolicyTags) *PolicyTagList {
+ if pt == nil {
+ return nil
+ }
+ return &PolicyTagList{
+ Names: pt.Names,
+ }
+}
+
+func (s Schema) toBQ() *bq.TableSchema {
+ var fields []*bq.TableFieldSchema
+ for _, f := range s {
+ fields = append(fields, f.toBQ())
+ }
+ return &bq.TableSchema{Fields: fields}
+}
+
+func bqToFieldSchema(tfs *bq.TableFieldSchema) *FieldSchema {
+ fs := &FieldSchema{
+ Description: tfs.Description,
+ Name: tfs.Name,
+ Repeated: tfs.Mode == "REPEATED",
+ Required: tfs.Mode == "REQUIRED",
+ Type: FieldType(tfs.Type),
+ PolicyTags: bqToPolicyTagList(tfs.PolicyTags),
+ MaxLength: tfs.MaxLength,
+ Precision: tfs.Precision,
+ Scale: tfs.Scale,
+ DefaultValueExpression: tfs.DefaultValueExpression,
+ Collation: tfs.Collation,
+ RangeElementType: bqToRangeElementType(tfs.RangeElementType),
+ }
+
+ for _, f := range tfs.Fields {
+ fs.Schema = append(fs.Schema, bqToFieldSchema(f))
+ }
+ return fs
+}
+
+func bqToSchema(ts *bq.TableSchema) Schema {
+ if ts == nil {
+ return nil
+ }
+ var s Schema
+ for _, f := range ts.Fields {
+ s = append(s, bqToFieldSchema(f))
+ }
+ return s
+}
+
+// FieldType is the type of field.
+type FieldType string
+
+const (
+ // StringFieldType is a string field type.
+ StringFieldType FieldType = "STRING"
+ // BytesFieldType is a bytes field type.
+ BytesFieldType FieldType = "BYTES"
+ // IntegerFieldType is a integer field type.
+ IntegerFieldType FieldType = "INTEGER"
+ // FloatFieldType is a float field type.
+ FloatFieldType FieldType = "FLOAT"
+ // BooleanFieldType is a boolean field type.
+ BooleanFieldType FieldType = "BOOLEAN"
+ // TimestampFieldType is a timestamp field type.
+ TimestampFieldType FieldType = "TIMESTAMP"
+ // RecordFieldType is a record field type. It is typically used to create columns with repeated or nested data.
+ RecordFieldType FieldType = "RECORD"
+ // DateFieldType is a date field type.
+ DateFieldType FieldType = "DATE"
+ // TimeFieldType is a time field type.
+ TimeFieldType FieldType = "TIME"
+ // DateTimeFieldType is a datetime field type.
+ DateTimeFieldType FieldType = "DATETIME"
+ // NumericFieldType is a numeric field type. Numeric types include integer types, floating point types and the
+ // NUMERIC data type.
+ NumericFieldType FieldType = "NUMERIC"
+ // GeographyFieldType is a string field type. Geography types represent a set of points
+ // on the Earth's surface, represented in Well Known Text (WKT) format.
+ GeographyFieldType FieldType = "GEOGRAPHY"
+ // BigNumericFieldType is a numeric field type that supports values of larger precision
+ // and scale than the NumericFieldType.
+ BigNumericFieldType FieldType = "BIGNUMERIC"
+ // IntervalFieldType is a representation of a duration or an amount of time.
+ IntervalFieldType FieldType = "INTERVAL"
+ // JSONFieldType is a representation of a json object.
+ JSONFieldType FieldType = "JSON"
+ // RangeFieldType represents a continuous range of values.
+ RangeFieldType FieldType = "RANGE"
+)
+
+var (
+ errEmptyJSONSchema = errors.New("bigquery: empty JSON schema")
+ fieldTypes = map[FieldType]bool{
+ StringFieldType: true,
+ BytesFieldType: true,
+ IntegerFieldType: true,
+ FloatFieldType: true,
+ BooleanFieldType: true,
+ TimestampFieldType: true,
+ RecordFieldType: true,
+ DateFieldType: true,
+ TimeFieldType: true,
+ DateTimeFieldType: true,
+ NumericFieldType: true,
+ GeographyFieldType: true,
+ BigNumericFieldType: true,
+ IntervalFieldType: true,
+ JSONFieldType: true,
+ RangeFieldType: true,
+ }
+ // The API will accept alias names for the types based on the Standard SQL type names.
+ fieldAliases = map[FieldType]FieldType{
+ "BOOL": BooleanFieldType,
+ "FLOAT64": FloatFieldType,
+ "INT64": IntegerFieldType,
+ "STRUCT": RecordFieldType,
+ "DECIMAL": NumericFieldType,
+ "BIGDECIMAL": BigNumericFieldType,
+ }
+)
+
+var typeOfByteSlice = reflect.TypeOf([]byte{})
+
+// InferSchema tries to derive a BigQuery schema from the supplied struct value.
+// Each exported struct field is mapped to a field in the schema.
+//
+// The following BigQuery types are inferred from the corresponding Go types.
+// (This is the same mapping as that used for RowIterator.Next.) Fields inferred
+// from these types are marked required (non-nullable).
+//
+// STRING string
+// BOOL bool
+// INTEGER int, int8, int16, int32, int64, uint8, uint16, uint32
+// FLOAT float32, float64
+// BYTES []byte
+// TIMESTAMP time.Time
+// DATE civil.Date
+// TIME civil.Time
+// DATETIME civil.DateTime
+// NUMERIC *big.Rat
+//
+// The big.Rat type supports numbers of arbitrary size and precision. Values
+// will be rounded to 9 digits after the decimal point before being transmitted
+// to BigQuery. See https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#numeric-type
+// for more on NUMERIC.
+//
+// A Go slice or array type is inferred to be a BigQuery repeated field of the
+// element type. The element type must be one of the above listed types.
+//
+// Due to lack of unique native Go type for GEOGRAPHY, there is no schema
+// inference to GEOGRAPHY at this time.
+//
+// Nullable fields are inferred from the NullXXX types, declared in this package:
+//
+// STRING NullString
+// BOOL NullBool
+// INTEGER NullInt64
+// FLOAT NullFloat64
+// TIMESTAMP NullTimestamp
+// DATE NullDate
+// TIME NullTime
+// DATETIME NullDateTime
+// GEOGRAPHY NullGeography
+//
+// For a nullable BYTES field, use the type []byte and tag the field "nullable" (see below).
+// For a nullable NUMERIC field, use the type *big.Rat and tag the field "nullable".
+//
+// A struct field that is of struct type is inferred to be a required field of type
+// RECORD with a schema inferred recursively. For backwards compatibility, a field of
+// type pointer to struct is also inferred to be required. To get a nullable RECORD
+// field, use the "nullable" tag (see below).
+//
+// InferSchema returns an error if any of the examined fields is of type uint,
+// uint64, uintptr, map, interface, complex64, complex128, func, or chan. Future
+// versions may handle these cases without error.
+//
+// Recursively defined structs are also disallowed.
+//
+// Struct fields may be tagged in a way similar to the encoding/json package.
+// A tag of the form
+//
+// bigquery:"name"
+//
+// uses "name" instead of the struct field name as the BigQuery field name.
+// A tag of the form
+//
+// bigquery:"-"
+//
+// omits the field from the inferred schema.
+// The "nullable" option marks the field as nullable (not required). It is only
+// needed for []byte, *big.Rat and pointer-to-struct fields, and cannot appear on other
+// fields. In this example, the Go name of the field is retained:
+//
+// bigquery:",nullable"
+func InferSchema(st interface{}) (Schema, error) {
+ return inferSchemaReflectCached(reflect.TypeOf(st))
+}
+
+var schemaCache sync.Map
+
+type cacheVal struct {
+ schema Schema
+ err error
+}
+
+func inferSchemaReflectCached(t reflect.Type) (Schema, error) {
+ var cv cacheVal
+ v, ok := schemaCache.Load(t)
+ if ok {
+ cv = v.(cacheVal)
+ } else {
+ s, err := inferSchemaReflect(t)
+ cv = cacheVal{s, err}
+ schemaCache.Store(t, cv)
+ }
+ return cv.schema, cv.err
+}
+
+func inferSchemaReflect(t reflect.Type) (Schema, error) {
+ rec, err := hasRecursiveType(t, nil)
+ if err != nil {
+ return nil, err
+ }
+ if rec {
+ return nil, fmt.Errorf("bigquery: schema inference for recursive type %s", t)
+ }
+ return inferStruct(t)
+}
+
+func inferStruct(t reflect.Type) (Schema, error) {
+ switch t.Kind() {
+ case reflect.Ptr:
+ if t.Elem().Kind() != reflect.Struct {
+ return nil, noStructError{t}
+ }
+ t = t.Elem()
+ fallthrough
+
+ case reflect.Struct:
+ return inferFields(t)
+ default:
+ return nil, noStructError{t}
+ }
+}
+
+// inferFieldSchema infers the FieldSchema for a Go type
+func inferFieldSchema(fieldName string, rt reflect.Type, nullable bool) (*FieldSchema, error) {
+ // Only []byte and struct pointers can be tagged nullable.
+ if nullable && !(rt == typeOfByteSlice || rt.Kind() == reflect.Ptr && rt.Elem().Kind() == reflect.Struct) {
+ return nil, badNullableError{fieldName, rt}
+ }
+ switch rt {
+ case typeOfByteSlice:
+ return &FieldSchema{Required: !nullable, Type: BytesFieldType}, nil
+ case typeOfGoTime:
+ return &FieldSchema{Required: true, Type: TimestampFieldType}, nil
+ case typeOfDate:
+ return &FieldSchema{Required: true, Type: DateFieldType}, nil
+ case typeOfTime:
+ return &FieldSchema{Required: true, Type: TimeFieldType}, nil
+ case typeOfDateTime:
+ return &FieldSchema{Required: true, Type: DateTimeFieldType}, nil
+ case typeOfRat:
+ // We automatically infer big.Rat values as NUMERIC as we cannot
+ // determine precision/scale from the type. Users who want the
+ // larger precision of BIGNUMERIC need to manipulate the inferred
+ // schema.
+ return &FieldSchema{Required: !nullable, Type: NumericFieldType}, nil
+ }
+ if ft := nullableFieldType(rt); ft != "" {
+ return &FieldSchema{Required: false, Type: ft}, nil
+ }
+ if isSupportedIntType(rt) || isSupportedUintType(rt) {
+ return &FieldSchema{Required: true, Type: IntegerFieldType}, nil
+ }
+ switch rt.Kind() {
+ case reflect.Slice, reflect.Array:
+ et := rt.Elem()
+ if et != typeOfByteSlice && (et.Kind() == reflect.Slice || et.Kind() == reflect.Array) {
+ // Multi dimensional slices/arrays are not supported by BigQuery
+ return nil, unsupportedFieldTypeError{fieldName, rt}
+ }
+ if nullableFieldType(et) != "" {
+ // Repeated nullable types are not supported by BigQuery.
+ return nil, unsupportedFieldTypeError{fieldName, rt}
+ }
+ f, err := inferFieldSchema(fieldName, et, false)
+ if err != nil {
+ return nil, err
+ }
+ f.Repeated = true
+ f.Required = false
+ return f, nil
+ case reflect.Ptr:
+ if rt.Elem().Kind() != reflect.Struct {
+ return nil, unsupportedFieldTypeError{fieldName, rt}
+ }
+ fallthrough
+ case reflect.Struct:
+ nested, err := inferStruct(rt)
+ if err != nil {
+ return nil, err
+ }
+ return &FieldSchema{Required: !nullable, Type: RecordFieldType, Schema: nested}, nil
+ case reflect.String:
+ return &FieldSchema{Required: !nullable, Type: StringFieldType}, nil
+ case reflect.Bool:
+ return &FieldSchema{Required: !nullable, Type: BooleanFieldType}, nil
+ case reflect.Float32, reflect.Float64:
+ return &FieldSchema{Required: !nullable, Type: FloatFieldType}, nil
+ default:
+ return nil, unsupportedFieldTypeError{fieldName, rt}
+ }
+}
+
+// inferFields extracts all exported field types from struct type.
+func inferFields(rt reflect.Type) (Schema, error) {
+ var s Schema
+ fields, err := fieldCache.Fields(rt)
+ if err != nil {
+ return nil, err
+ }
+ for _, field := range fields {
+ var nullable bool
+ for _, opt := range field.ParsedTag.([]string) {
+ if opt == nullableTagOption {
+ nullable = true
+ break
+ }
+ }
+ f, err := inferFieldSchema(field.Name, field.Type, nullable)
+ if err != nil {
+ return nil, err
+ }
+ f.Name = field.Name
+ s = append(s, f)
+ }
+ return s, nil
+}
+
+// isSupportedIntType reports whether t is an int type that can be properly
+// represented by the BigQuery INTEGER/INT64 type.
+func isSupportedIntType(t reflect.Type) bool {
+ switch t.Kind() {
+ case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:
+ return true
+ default:
+ return false
+ }
+}
+
+// isSupportedIntType reports whether t is a uint type that can be properly
+// represented by the BigQuery INTEGER/INT64 type.
+func isSupportedUintType(t reflect.Type) bool {
+ switch t.Kind() {
+ case reflect.Uint8, reflect.Uint16, reflect.Uint32:
+ return true
+ default:
+ return false
+ }
+}
+
+// typeList is a linked list of reflect.Types.
+type typeList struct {
+ t reflect.Type
+ next *typeList
+}
+
+func (l *typeList) has(t reflect.Type) bool {
+ for l != nil {
+ if l.t == t {
+ return true
+ }
+ l = l.next
+ }
+ return false
+}
+
+// hasRecursiveType reports whether t or any type inside t refers to itself, directly or indirectly,
+// via exported fields. (Schema inference ignores unexported fields.)
+func hasRecursiveType(t reflect.Type, seen *typeList) (bool, error) {
+ for t.Kind() == reflect.Ptr || t.Kind() == reflect.Slice || t.Kind() == reflect.Array {
+ t = t.Elem()
+ }
+ if t.Kind() != reflect.Struct {
+ return false, nil
+ }
+ if seen.has(t) {
+ return true, nil
+ }
+ fields, err := fieldCache.Fields(t)
+ if err != nil {
+ return false, err
+ }
+ seen = &typeList{t, seen}
+ // Because seen is a linked list, additions to it from one field's
+ // recursive call will not affect the value for subsequent fields' calls.
+ for _, field := range fields {
+ ok, err := hasRecursiveType(field.Type, seen)
+ if err != nil {
+ return false, err
+ }
+ if ok {
+ return true, nil
+ }
+ }
+ return false, nil
+}
+
+// validateKnownType ensures a type is known (or alias of a known type).
+func validateKnownType(in FieldType) (FieldType, error) {
+ if _, ok := fieldTypes[in]; !ok {
+ // not a defined type, check aliases.
+ if resolved, ok := fieldAliases[in]; ok {
+ return resolved, nil
+ }
+ return "", fmt.Errorf("unknown field type (%s)", in)
+ }
+ return in, nil
+}
+
+// SchemaFromJSON takes a native JSON BigQuery table schema definition and converts it to
+// a populated Schema. The native API definition is used by tools such as the BQ CLI and
+// https://github.com/GoogleCloudPlatform/protoc-gen-bq-schema.
+//
+// The expected format is a JSON array of TableFieldSchema objects from the underlying API:
+// https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema
+func SchemaFromJSON(schemaJSON []byte) (Schema, error) {
+
+ // Make sure we actually have some content:
+ if len(schemaJSON) == 0 {
+ return nil, errEmptyJSONSchema
+ }
+
+ var rawSchema []*bq.TableFieldSchema
+
+ if err := json.Unmarshal(schemaJSON, &rawSchema); err != nil {
+ return nil, err
+ }
+
+ convertedSchema := Schema{}
+ for _, f := range rawSchema {
+ convField := bqToFieldSchema(f)
+ // Normalize the types.
+ validType, err := validateKnownType(convField.Type)
+ if err != nil {
+ return nil, err
+ }
+ convField.Type = validType
+ convertedSchema = append(convertedSchema, convField)
+ }
+ return convertedSchema, nil
+}
+
+type noStructError struct {
+ typ reflect.Type
+}
+
+func (e noStructError) Error() string {
+ return fmt.Sprintf("bigquery: can only infer schema from struct or pointer to struct, not %s", e.typ)
+}
+
+type badNullableError struct {
+ name string
+ typ reflect.Type
+}
+
+func (e badNullableError) Error() string {
+ return fmt.Sprintf(`bigquery: field %q of type %s: use "nullable" only for []byte and struct pointers; for all other types, use a NullXXX type`, e.name, e.typ)
+}
+
+type unsupportedFieldTypeError struct {
+ name string
+ typ reflect.Type
+}
+
+func (e unsupportedFieldTypeError) Error() string {
+ return fmt.Sprintf("bigquery: field %q: type %s is not supported", e.name, e.typ)
+}
diff --git a/vendor/cloud.google.com/go/bigquery/standardsql.go b/vendor/cloud.google.com/go/bigquery/standardsql.go
new file mode 100644
index 000000000..7f8ca6e11
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/standardsql.go
@@ -0,0 +1,231 @@
+// Copyright 2019 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "fmt"
+
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// StandardSQLDataType conveys type information using the Standard SQL type
+// system.
+type StandardSQLDataType struct {
+ // ArrayElementType indicates the type of an array's elements, when the
+ // TypeKind is ARRAY.
+ ArrayElementType *StandardSQLDataType
+ // StructType indicates the struct definition (fields), when the
+ // TypeKind is STRUCT.
+ StructType *StandardSQLStructType
+ // The top-level type of this type definition.
+ // Can be any standard SQL data type. For more information about BigQuery
+ // data types, see
+ // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types
+ //
+ // Additional information is available in the REST documentation:
+ // https://cloud.google.com/bigquery/docs/reference/rest/v2/StandardSqlDataType
+ TypeKind string
+}
+
+func (ssdt *StandardSQLDataType) toBQ() (*bq.StandardSqlDataType, error) {
+ if ssdt == nil {
+ return nil, nil
+ }
+ bqdt := &bq.StandardSqlDataType{
+ TypeKind: ssdt.TypeKind,
+ }
+ if ssdt.ArrayElementType != nil {
+ dt, err := ssdt.ArrayElementType.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ bqdt.ArrayElementType = dt
+ }
+ if ssdt.StructType != nil {
+ dt, err := ssdt.StructType.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ bqdt.StructType = dt
+ }
+ return bqdt, nil
+}
+
+func (ssdt StandardSQLDataType) toBQParamType() *bq.QueryParameterType {
+ if ssdt.ArrayElementType != nil {
+ return &bq.QueryParameterType{Type: "ARRAY", ArrayType: ssdt.ArrayElementType.toBQParamType()}
+ }
+ if ssdt.StructType != nil {
+ var fts []*bq.QueryParameterTypeStructTypes
+ for _, field := range ssdt.StructType.Fields {
+ fts = append(fts, &bq.QueryParameterTypeStructTypes{
+ Name: field.Name,
+ Type: field.Type.toBQParamType(),
+ })
+ }
+ return &bq.QueryParameterType{Type: "STRUCT", StructTypes: fts}
+ }
+ return &bq.QueryParameterType{Type: ssdt.TypeKind}
+}
+
+func bqToStandardSQLDataType(bqdt *bq.StandardSqlDataType) (*StandardSQLDataType, error) {
+ if bqdt == nil {
+ return nil, nil
+ }
+ ssdt := &StandardSQLDataType{
+ TypeKind: bqdt.TypeKind,
+ }
+
+ if bqdt.ArrayElementType != nil {
+ dt, err := bqToStandardSQLDataType(bqdt.ArrayElementType)
+ if err != nil {
+ return nil, err
+ }
+ ssdt.ArrayElementType = dt
+ }
+ if bqdt.StructType != nil {
+ st, err := bqToStandardSQLStructType(bqdt.StructType)
+ if err != nil {
+ return nil, err
+ }
+ ssdt.StructType = st
+ }
+ return ssdt, nil
+}
+
+// StandardSQLField represents a field using the Standard SQL data type system.
+type StandardSQLField struct {
+ // The name of this field. Can be absent for struct fields.
+ Name string
+ // Data type for the field.
+ Type *StandardSQLDataType
+}
+
+func (ssf *StandardSQLField) toBQ() (*bq.StandardSqlField, error) {
+ if ssf == nil {
+ return nil, nil
+ }
+ bqf := &bq.StandardSqlField{
+ Name: ssf.Name,
+ }
+ if ssf.Type != nil {
+ dt, err := ssf.Type.toBQ()
+ if err != nil {
+ return nil, err
+ }
+ bqf.Type = dt
+ }
+ return bqf, nil
+}
+
+func bqToStandardSQLField(bqf *bq.StandardSqlField) (*StandardSQLField, error) {
+ if bqf == nil {
+ return nil, nil
+ }
+ t, err := bqToStandardSQLDataType(bqf.Type)
+ if err != nil {
+ return nil, err
+ }
+ return &StandardSQLField{
+ Name: bqf.Name,
+ Type: t,
+ }, nil
+}
+
+// StandardSQLStructType represents a structure type, which is a list of Standard SQL fields.
+// For more information, see:
+// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#struct-type
+type StandardSQLStructType struct {
+ Fields []*StandardSQLField
+}
+
+func (ssst *StandardSQLStructType) toBQ() (*bq.StandardSqlStructType, error) {
+ if ssst == nil {
+ return nil, nil
+ }
+ fields, err := standardSQLStructFieldsToBQ(ssst.Fields)
+ if err != nil {
+ return nil, err
+ }
+ return &bq.StandardSqlStructType{
+ Fields: fields,
+ }, nil
+}
+
+func bqToStandardSQLStructType(bqst *bq.StandardSqlStructType) (*StandardSQLStructType, error) {
+ if bqst == nil {
+ return nil, nil
+ }
+ var fields []*StandardSQLField
+ for _, v := range bqst.Fields {
+ f, err := bqToStandardSQLField(v)
+ if err != nil {
+ return nil, err
+ }
+ fields = append(fields, f)
+ }
+ return &StandardSQLStructType{
+ Fields: fields,
+ }, nil
+}
+
+func standardSQLStructFieldsToBQ(fields []*StandardSQLField) ([]*bq.StandardSqlField, error) {
+ var bqFields []*bq.StandardSqlField
+ for _, v := range fields {
+ bqf, err := v.toBQ()
+ if err != nil {
+ return nil, fmt.Errorf("error converting struct fields: %w", err)
+ }
+ bqFields = append(bqFields, bqf)
+ }
+ return bqFields, nil
+}
+
+// StandardSQLTableType models a table-like resource, which has a set of columns.
+type StandardSQLTableType struct {
+
+ // The columns of the table.
+ Columns []*StandardSQLField
+}
+
+func (sstt *StandardSQLTableType) toBQ() (*bq.StandardSqlTableType, error) {
+ if sstt == nil {
+ return nil, nil
+ }
+ out := &bq.StandardSqlTableType{}
+ for k, v := range sstt.Columns {
+ bq, err := v.toBQ()
+ if err != nil {
+ return nil, fmt.Errorf("error converting column %d: %v", k, err)
+ }
+ out.Columns = append(out.Columns, bq)
+ }
+ return out, nil
+}
+
+func bqToStandardSQLTableType(in *bq.StandardSqlTableType) (*StandardSQLTableType, error) {
+ if in == nil {
+ return nil, nil
+ }
+ out := &StandardSQLTableType{}
+ for k, v := range in.Columns {
+ f, err := bqToStandardSQLField(v)
+ if err != nil {
+ return nil, fmt.Errorf("error converting column %d: %v", k, err)
+ }
+ out.Columns = append(out.Columns, f)
+ }
+ return out, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/auxiliary.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/auxiliary.go
new file mode 100644
index 000000000..8f7891d25
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/auxiliary.go
@@ -0,0 +1,17 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
+
+package storage
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_read_client.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_read_client.go
new file mode 100644
index 000000000..dd7ffecc4
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_read_client.go
@@ -0,0 +1,323 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
+
+package storage
+
+import (
+ "context"
+ "fmt"
+ "math"
+ "net/url"
+ "time"
+
+ storagepb "cloud.google.com/go/bigquery/storage/apiv1/storagepb"
+ gax "github.com/googleapis/gax-go/v2"
+ "google.golang.org/api/option"
+ "google.golang.org/api/option/internaloption"
+ gtransport "google.golang.org/api/transport/grpc"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/codes"
+)
+
+var newBigQueryReadClientHook clientHook
+
+// BigQueryReadCallOptions contains the retry settings for each method of BigQueryReadClient.
+type BigQueryReadCallOptions struct {
+ CreateReadSession []gax.CallOption
+ ReadRows []gax.CallOption
+ SplitReadStream []gax.CallOption
+}
+
+func defaultBigQueryReadGRPCClientOptions() []option.ClientOption {
+ return []option.ClientOption{
+ internaloption.WithDefaultEndpoint("bigquerystorage.googleapis.com:443"),
+ internaloption.WithDefaultEndpointTemplate("bigquerystorage.UNIVERSE_DOMAIN:443"),
+ internaloption.WithDefaultMTLSEndpoint("bigquerystorage.mtls.googleapis.com:443"),
+ internaloption.WithDefaultUniverseDomain("googleapis.com"),
+ internaloption.WithDefaultAudience("https://bigquerystorage.googleapis.com/"),
+ internaloption.WithDefaultScopes(DefaultAuthScopes()...),
+ internaloption.EnableJwtWithScope(),
+ option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
+ grpc.MaxCallRecvMsgSize(math.MaxInt32))),
+ }
+}
+
+func defaultBigQueryReadCallOptions() *BigQueryReadCallOptions {
+ return &BigQueryReadCallOptions{
+ CreateReadSession: []gax.CallOption{
+ gax.WithTimeout(600000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ ReadRows: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ SplitReadStream: []gax.CallOption{
+ gax.WithTimeout(600000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ }
+}
+
+// internalBigQueryReadClient is an interface that defines the methods available from BigQuery Storage API.
+type internalBigQueryReadClient interface {
+ Close() error
+ setGoogleClientInfo(...string)
+ Connection() *grpc.ClientConn
+ CreateReadSession(context.Context, *storagepb.CreateReadSessionRequest, ...gax.CallOption) (*storagepb.ReadSession, error)
+ ReadRows(context.Context, *storagepb.ReadRowsRequest, ...gax.CallOption) (storagepb.BigQueryRead_ReadRowsClient, error)
+ SplitReadStream(context.Context, *storagepb.SplitReadStreamRequest, ...gax.CallOption) (*storagepb.SplitReadStreamResponse, error)
+}
+
+// BigQueryReadClient is a client for interacting with BigQuery Storage API.
+// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
+//
+// BigQuery Read API.
+//
+// The Read API can be used to read data from BigQuery.
+type BigQueryReadClient struct {
+ // The internal transport-dependent client.
+ internalClient internalBigQueryReadClient
+
+ // The call options for this service.
+ CallOptions *BigQueryReadCallOptions
+}
+
+// Wrapper methods routed to the internal client.
+
+// Close closes the connection to the API service. The user should invoke this when
+// the client is no longer required.
+func (c *BigQueryReadClient) Close() error {
+ return c.internalClient.Close()
+}
+
+// setGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Intended for
+// use by Google-written clients.
+func (c *BigQueryReadClient) setGoogleClientInfo(keyval ...string) {
+ c.internalClient.setGoogleClientInfo(keyval...)
+}
+
+// Connection returns a connection to the API service.
+//
+// Deprecated: Connections are now pooled so this method does not always
+// return the same resource.
+func (c *BigQueryReadClient) Connection() *grpc.ClientConn {
+ return c.internalClient.Connection()
+}
+
+// CreateReadSession creates a new read session. A read session divides the contents of a
+// BigQuery table into one or more streams, which can then be used to read
+// data from the table. The read session also specifies properties of the
+// data to be read, such as a list of columns or a push-down filter describing
+// the rows to be returned.
+//
+// A particular row can be read by at most one stream. When the caller has
+// reached the end of each stream in the session, then all the data in the
+// table has been read.
+//
+// Data is assigned to each stream such that roughly the same number of
+// rows can be read from each stream. Because the server-side unit for
+// assigning data is collections of rows, the API does not guarantee that
+// each stream will return the same number or rows. Additionally, the
+// limits are enforced based on the number of pre-filtered rows, so some
+// filters can lead to lopsided assignments.
+//
+// Read sessions automatically expire 6 hours after they are created and do
+// not require manual clean-up by the caller.
+func (c *BigQueryReadClient) CreateReadSession(ctx context.Context, req *storagepb.CreateReadSessionRequest, opts ...gax.CallOption) (*storagepb.ReadSession, error) {
+ return c.internalClient.CreateReadSession(ctx, req, opts...)
+}
+
+// ReadRows reads rows from the stream in the format prescribed by the ReadSession.
+// Each response contains one or more table rows, up to a maximum of 100 MiB
+// per response; read requests which attempt to read individual rows larger
+// than 100 MiB will fail.
+//
+// Each request also returns a set of stream statistics reflecting the current
+// state of the stream.
+func (c *BigQueryReadClient) ReadRows(ctx context.Context, req *storagepb.ReadRowsRequest, opts ...gax.CallOption) (storagepb.BigQueryRead_ReadRowsClient, error) {
+ return c.internalClient.ReadRows(ctx, req, opts...)
+}
+
+// SplitReadStream splits a given ReadStream into two ReadStream objects. These
+// ReadStream objects are referred to as the primary and the residual
+// streams of the split. The original ReadStream can still be read from in
+// the same manner as before. Both of the returned ReadStream objects can
+// also be read from, and the rows returned by both child streams will be
+// the same as the rows read from the original stream.
+//
+// Moreover, the two child streams will be allocated back-to-back in the
+// original ReadStream. Concretely, it is guaranteed that for streams
+// original, primary, and residual, that original[0-j] = primary[0-j] and
+// original[j-n] = residual[0-m] once the streams have been read to
+// completion.
+func (c *BigQueryReadClient) SplitReadStream(ctx context.Context, req *storagepb.SplitReadStreamRequest, opts ...gax.CallOption) (*storagepb.SplitReadStreamResponse, error) {
+ return c.internalClient.SplitReadStream(ctx, req, opts...)
+}
+
+// bigQueryReadGRPCClient is a client for interacting with BigQuery Storage API over gRPC transport.
+//
+// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
+type bigQueryReadGRPCClient struct {
+ // Connection pool of gRPC connections to the service.
+ connPool gtransport.ConnPool
+
+ // Points back to the CallOptions field of the containing BigQueryReadClient
+ CallOptions **BigQueryReadCallOptions
+
+ // The gRPC API client.
+ bigQueryReadClient storagepb.BigQueryReadClient
+
+ // The x-goog-* metadata to be sent with each request.
+ xGoogHeaders []string
+}
+
+// NewBigQueryReadClient creates a new big query read client based on gRPC.
+// The returned client must be Closed when it is done being used to clean up its underlying connections.
+//
+// BigQuery Read API.
+//
+// The Read API can be used to read data from BigQuery.
+func NewBigQueryReadClient(ctx context.Context, opts ...option.ClientOption) (*BigQueryReadClient, error) {
+ clientOpts := defaultBigQueryReadGRPCClientOptions()
+ if newBigQueryReadClientHook != nil {
+ hookOpts, err := newBigQueryReadClientHook(ctx, clientHookParams{})
+ if err != nil {
+ return nil, err
+ }
+ clientOpts = append(clientOpts, hookOpts...)
+ }
+
+ connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...)
+ if err != nil {
+ return nil, err
+ }
+ client := BigQueryReadClient{CallOptions: defaultBigQueryReadCallOptions()}
+
+ c := &bigQueryReadGRPCClient{
+ connPool: connPool,
+ bigQueryReadClient: storagepb.NewBigQueryReadClient(connPool),
+ CallOptions: &client.CallOptions,
+ }
+ c.setGoogleClientInfo()
+
+ client.internalClient = c
+
+ return &client, nil
+}
+
+// Connection returns a connection to the API service.
+//
+// Deprecated: Connections are now pooled so this method does not always
+// return the same resource.
+func (c *bigQueryReadGRPCClient) Connection() *grpc.ClientConn {
+ return c.connPool.Conn()
+}
+
+// setGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Intended for
+// use by Google-written clients.
+func (c *bigQueryReadGRPCClient) setGoogleClientInfo(keyval ...string) {
+ kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)}
+}
+
+// Close closes the connection to the API service. The user should invoke this when
+// the client is no longer required.
+func (c *bigQueryReadGRPCClient) Close() error {
+ return c.connPool.Close()
+}
+
+func (c *bigQueryReadGRPCClient) CreateReadSession(ctx context.Context, req *storagepb.CreateReadSessionRequest, opts ...gax.CallOption) (*storagepb.ReadSession, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "read_session.table", url.QueryEscape(req.GetReadSession().GetTable()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).CreateReadSession[0:len((*c.CallOptions).CreateReadSession):len((*c.CallOptions).CreateReadSession)], opts...)
+ var resp *storagepb.ReadSession
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryReadClient.CreateReadSession(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryReadGRPCClient) ReadRows(ctx context.Context, req *storagepb.ReadRowsRequest, opts ...gax.CallOption) (storagepb.BigQueryRead_ReadRowsClient, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "read_stream", url.QueryEscape(req.GetReadStream()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).ReadRows[0:len((*c.CallOptions).ReadRows):len((*c.CallOptions).ReadRows)], opts...)
+ var resp storagepb.BigQueryRead_ReadRowsClient
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryReadClient.ReadRows(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryReadGRPCClient) SplitReadStream(ctx context.Context, req *storagepb.SplitReadStreamRequest, opts ...gax.CallOption) (*storagepb.SplitReadStreamResponse, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).SplitReadStream[0:len((*c.CallOptions).SplitReadStream):len((*c.CallOptions).SplitReadStream)], opts...)
+ var resp *storagepb.SplitReadStreamResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryReadClient.SplitReadStream(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_write_client.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_write_client.go
new file mode 100644
index 000000000..cdacb42f6
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/big_query_write_client.go
@@ -0,0 +1,458 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
+
+package storage
+
+import (
+ "context"
+ "fmt"
+ "math"
+ "net/url"
+ "time"
+
+ storagepb "cloud.google.com/go/bigquery/storage/apiv1/storagepb"
+ gax "github.com/googleapis/gax-go/v2"
+ "google.golang.org/api/option"
+ "google.golang.org/api/option/internaloption"
+ gtransport "google.golang.org/api/transport/grpc"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/codes"
+)
+
+var newBigQueryWriteClientHook clientHook
+
+// BigQueryWriteCallOptions contains the retry settings for each method of BigQueryWriteClient.
+type BigQueryWriteCallOptions struct {
+ CreateWriteStream []gax.CallOption
+ AppendRows []gax.CallOption
+ GetWriteStream []gax.CallOption
+ FinalizeWriteStream []gax.CallOption
+ BatchCommitWriteStreams []gax.CallOption
+ FlushRows []gax.CallOption
+}
+
+func defaultBigQueryWriteGRPCClientOptions() []option.ClientOption {
+ return []option.ClientOption{
+ internaloption.WithDefaultEndpoint("bigquerystorage.googleapis.com:443"),
+ internaloption.WithDefaultEndpointTemplate("bigquerystorage.UNIVERSE_DOMAIN:443"),
+ internaloption.WithDefaultMTLSEndpoint("bigquerystorage.mtls.googleapis.com:443"),
+ internaloption.WithDefaultUniverseDomain("googleapis.com"),
+ internaloption.WithDefaultAudience("https://bigquerystorage.googleapis.com/"),
+ internaloption.WithDefaultScopes(DefaultAuthScopes()...),
+ internaloption.EnableJwtWithScope(),
+ option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
+ grpc.MaxCallRecvMsgSize(math.MaxInt32))),
+ }
+}
+
+func defaultBigQueryWriteCallOptions() *BigQueryWriteCallOptions {
+ return &BigQueryWriteCallOptions{
+ CreateWriteStream: []gax.CallOption{
+ gax.WithTimeout(1200000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ codes.ResourceExhausted,
+ }, gax.Backoff{
+ Initial: 10000 * time.Millisecond,
+ Max: 120000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ AppendRows: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ GetWriteStream: []gax.CallOption{
+ gax.WithTimeout(600000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ codes.ResourceExhausted,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ FinalizeWriteStream: []gax.CallOption{
+ gax.WithTimeout(600000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ codes.ResourceExhausted,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ BatchCommitWriteStreams: []gax.CallOption{
+ gax.WithTimeout(600000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ codes.ResourceExhausted,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ FlushRows: []gax.CallOption{
+ gax.WithTimeout(600000 * time.Millisecond),
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ codes.ResourceExhausted,
+ }, gax.Backoff{
+ Initial: 100 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 1.30,
+ })
+ }),
+ },
+ }
+}
+
+// internalBigQueryWriteClient is an interface that defines the methods available from BigQuery Storage API.
+type internalBigQueryWriteClient interface {
+ Close() error
+ setGoogleClientInfo(...string)
+ Connection() *grpc.ClientConn
+ CreateWriteStream(context.Context, *storagepb.CreateWriteStreamRequest, ...gax.CallOption) (*storagepb.WriteStream, error)
+ AppendRows(context.Context, ...gax.CallOption) (storagepb.BigQueryWrite_AppendRowsClient, error)
+ GetWriteStream(context.Context, *storagepb.GetWriteStreamRequest, ...gax.CallOption) (*storagepb.WriteStream, error)
+ FinalizeWriteStream(context.Context, *storagepb.FinalizeWriteStreamRequest, ...gax.CallOption) (*storagepb.FinalizeWriteStreamResponse, error)
+ BatchCommitWriteStreams(context.Context, *storagepb.BatchCommitWriteStreamsRequest, ...gax.CallOption) (*storagepb.BatchCommitWriteStreamsResponse, error)
+ FlushRows(context.Context, *storagepb.FlushRowsRequest, ...gax.CallOption) (*storagepb.FlushRowsResponse, error)
+}
+
+// BigQueryWriteClient is a client for interacting with BigQuery Storage API.
+// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
+//
+// BigQuery Write API.
+//
+// The Write API can be used to write data to BigQuery.
+//
+// For supplementary information about the Write API, see:
+// https://cloud.google.com/bigquery/docs/write-api (at https://cloud.google.com/bigquery/docs/write-api)
+type BigQueryWriteClient struct {
+ // The internal transport-dependent client.
+ internalClient internalBigQueryWriteClient
+
+ // The call options for this service.
+ CallOptions *BigQueryWriteCallOptions
+}
+
+// Wrapper methods routed to the internal client.
+
+// Close closes the connection to the API service. The user should invoke this when
+// the client is no longer required.
+func (c *BigQueryWriteClient) Close() error {
+ return c.internalClient.Close()
+}
+
+// setGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Intended for
+// use by Google-written clients.
+func (c *BigQueryWriteClient) setGoogleClientInfo(keyval ...string) {
+ c.internalClient.setGoogleClientInfo(keyval...)
+}
+
+// Connection returns a connection to the API service.
+//
+// Deprecated: Connections are now pooled so this method does not always
+// return the same resource.
+func (c *BigQueryWriteClient) Connection() *grpc.ClientConn {
+ return c.internalClient.Connection()
+}
+
+// CreateWriteStream creates a write stream to the given table.
+// Additionally, every table has a special stream named ‘_default’
+// to which data can be written. This stream doesn’t need to be created using
+// CreateWriteStream. It is a stream that can be used simultaneously by any
+// number of clients. Data written to this stream is considered committed as
+// soon as an acknowledgement is received.
+func (c *BigQueryWriteClient) CreateWriteStream(ctx context.Context, req *storagepb.CreateWriteStreamRequest, opts ...gax.CallOption) (*storagepb.WriteStream, error) {
+ return c.internalClient.CreateWriteStream(ctx, req, opts...)
+}
+
+// AppendRows appends data to the given stream.
+//
+// If offset is specified, the offset is checked against the end of
+// stream. The server returns OUT_OF_RANGE in AppendRowsResponse if an
+// attempt is made to append to an offset beyond the current end of the stream
+// or ALREADY_EXISTS if user provides an offset that has already been
+// written to. User can retry with adjusted offset within the same RPC
+// connection. If offset is not specified, append happens at the end of the
+// stream.
+//
+// The response contains an optional offset at which the append
+// happened. No offset information will be returned for appends to a
+// default stream.
+//
+// Responses are received in the same order in which requests are sent.
+// There will be one response for each successful inserted request. Responses
+// may optionally embed error information if the originating AppendRequest was
+// not successfully processed.
+//
+// The specifics of when successfully appended data is made visible to the
+// table are governed by the type of stream:
+//
+// For COMMITTED streams (which includes the default stream), data is
+// visible immediately upon successful append.
+//
+// For BUFFERED streams, data is made visible via a subsequent FlushRows
+// rpc which advances a cursor to a newer offset in the stream.
+//
+// For PENDING streams, data is not made visible until the stream itself is
+// finalized (via the FinalizeWriteStream rpc), and the stream is explicitly
+// committed via the BatchCommitWriteStreams rpc.
+func (c *BigQueryWriteClient) AppendRows(ctx context.Context, opts ...gax.CallOption) (storagepb.BigQueryWrite_AppendRowsClient, error) {
+ return c.internalClient.AppendRows(ctx, opts...)
+}
+
+// GetWriteStream gets information about a write stream.
+func (c *BigQueryWriteClient) GetWriteStream(ctx context.Context, req *storagepb.GetWriteStreamRequest, opts ...gax.CallOption) (*storagepb.WriteStream, error) {
+ return c.internalClient.GetWriteStream(ctx, req, opts...)
+}
+
+// FinalizeWriteStream finalize a write stream so that no new data can be appended to the
+// stream. Finalize is not supported on the ‘_default’ stream.
+func (c *BigQueryWriteClient) FinalizeWriteStream(ctx context.Context, req *storagepb.FinalizeWriteStreamRequest, opts ...gax.CallOption) (*storagepb.FinalizeWriteStreamResponse, error) {
+ return c.internalClient.FinalizeWriteStream(ctx, req, opts...)
+}
+
+// BatchCommitWriteStreams atomically commits a group of PENDING streams that belong to the same
+// parent table.
+//
+// Streams must be finalized before commit and cannot be committed multiple
+// times. Once a stream is committed, data in the stream becomes available
+// for read operations.
+func (c *BigQueryWriteClient) BatchCommitWriteStreams(ctx context.Context, req *storagepb.BatchCommitWriteStreamsRequest, opts ...gax.CallOption) (*storagepb.BatchCommitWriteStreamsResponse, error) {
+ return c.internalClient.BatchCommitWriteStreams(ctx, req, opts...)
+}
+
+// FlushRows flushes rows to a BUFFERED stream.
+//
+// If users are appending rows to BUFFERED stream, flush operation is
+// required in order for the rows to become available for reading. A
+// Flush operation flushes up to any previously flushed offset in a BUFFERED
+// stream, to the offset specified in the request.
+//
+// Flush is not supported on the _default stream, since it is not BUFFERED.
+func (c *BigQueryWriteClient) FlushRows(ctx context.Context, req *storagepb.FlushRowsRequest, opts ...gax.CallOption) (*storagepb.FlushRowsResponse, error) {
+ return c.internalClient.FlushRows(ctx, req, opts...)
+}
+
+// bigQueryWriteGRPCClient is a client for interacting with BigQuery Storage API over gRPC transport.
+//
+// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
+type bigQueryWriteGRPCClient struct {
+ // Connection pool of gRPC connections to the service.
+ connPool gtransport.ConnPool
+
+ // Points back to the CallOptions field of the containing BigQueryWriteClient
+ CallOptions **BigQueryWriteCallOptions
+
+ // The gRPC API client.
+ bigQueryWriteClient storagepb.BigQueryWriteClient
+
+ // The x-goog-* metadata to be sent with each request.
+ xGoogHeaders []string
+}
+
+// NewBigQueryWriteClient creates a new big query write client based on gRPC.
+// The returned client must be Closed when it is done being used to clean up its underlying connections.
+//
+// BigQuery Write API.
+//
+// The Write API can be used to write data to BigQuery.
+//
+// For supplementary information about the Write API, see:
+// https://cloud.google.com/bigquery/docs/write-api (at https://cloud.google.com/bigquery/docs/write-api)
+func NewBigQueryWriteClient(ctx context.Context, opts ...option.ClientOption) (*BigQueryWriteClient, error) {
+ clientOpts := defaultBigQueryWriteGRPCClientOptions()
+ if newBigQueryWriteClientHook != nil {
+ hookOpts, err := newBigQueryWriteClientHook(ctx, clientHookParams{})
+ if err != nil {
+ return nil, err
+ }
+ clientOpts = append(clientOpts, hookOpts...)
+ }
+
+ connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...)
+ if err != nil {
+ return nil, err
+ }
+ client := BigQueryWriteClient{CallOptions: defaultBigQueryWriteCallOptions()}
+
+ c := &bigQueryWriteGRPCClient{
+ connPool: connPool,
+ bigQueryWriteClient: storagepb.NewBigQueryWriteClient(connPool),
+ CallOptions: &client.CallOptions,
+ }
+ c.setGoogleClientInfo()
+
+ client.internalClient = c
+
+ return &client, nil
+}
+
+// Connection returns a connection to the API service.
+//
+// Deprecated: Connections are now pooled so this method does not always
+// return the same resource.
+func (c *bigQueryWriteGRPCClient) Connection() *grpc.ClientConn {
+ return c.connPool.Conn()
+}
+
+// setGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Intended for
+// use by Google-written clients.
+func (c *bigQueryWriteGRPCClient) setGoogleClientInfo(keyval ...string) {
+ kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)}
+}
+
+// Close closes the connection to the API service. The user should invoke this when
+// the client is no longer required.
+func (c *bigQueryWriteGRPCClient) Close() error {
+ return c.connPool.Close()
+}
+
+func (c *bigQueryWriteGRPCClient) CreateWriteStream(ctx context.Context, req *storagepb.CreateWriteStreamRequest, opts ...gax.CallOption) (*storagepb.WriteStream, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).CreateWriteStream[0:len((*c.CallOptions).CreateWriteStream):len((*c.CallOptions).CreateWriteStream)], opts...)
+ var resp *storagepb.WriteStream
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryWriteClient.CreateWriteStream(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryWriteGRPCClient) AppendRows(ctx context.Context, opts ...gax.CallOption) (storagepb.BigQueryWrite_AppendRowsClient, error) {
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
+ var resp storagepb.BigQueryWrite_AppendRowsClient
+ opts = append((*c.CallOptions).AppendRows[0:len((*c.CallOptions).AppendRows):len((*c.CallOptions).AppendRows)], opts...)
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryWriteClient.AppendRows(ctx, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryWriteGRPCClient) GetWriteStream(ctx context.Context, req *storagepb.GetWriteStreamRequest, opts ...gax.CallOption) (*storagepb.WriteStream, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).GetWriteStream[0:len((*c.CallOptions).GetWriteStream):len((*c.CallOptions).GetWriteStream)], opts...)
+ var resp *storagepb.WriteStream
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryWriteClient.GetWriteStream(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryWriteGRPCClient) FinalizeWriteStream(ctx context.Context, req *storagepb.FinalizeWriteStreamRequest, opts ...gax.CallOption) (*storagepb.FinalizeWriteStreamResponse, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).FinalizeWriteStream[0:len((*c.CallOptions).FinalizeWriteStream):len((*c.CallOptions).FinalizeWriteStream)], opts...)
+ var resp *storagepb.FinalizeWriteStreamResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryWriteClient.FinalizeWriteStream(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryWriteGRPCClient) BatchCommitWriteStreams(ctx context.Context, req *storagepb.BatchCommitWriteStreamsRequest, opts ...gax.CallOption) (*storagepb.BatchCommitWriteStreamsResponse, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).BatchCommitWriteStreams[0:len((*c.CallOptions).BatchCommitWriteStreams):len((*c.CallOptions).BatchCommitWriteStreams)], opts...)
+ var resp *storagepb.BatchCommitWriteStreamsResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryWriteClient.BatchCommitWriteStreams(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *bigQueryWriteGRPCClient) FlushRows(ctx context.Context, req *storagepb.FlushRowsRequest, opts ...gax.CallOption) (*storagepb.FlushRowsResponse, error) {
+ hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "write_stream", url.QueryEscape(req.GetWriteStream()))}
+
+ hds = append(c.xGoogHeaders, hds...)
+ ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
+ opts = append((*c.CallOptions).FlushRows[0:len((*c.CallOptions).FlushRows):len((*c.CallOptions).FlushRows)], opts...)
+ var resp *storagepb.FlushRowsResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.bigQueryWriteClient.FlushRows(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/doc.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/doc.go
new file mode 100644
index 000000000..271f43d9b
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/doc.go
@@ -0,0 +1,121 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
+
+// Package storage is an auto-generated package for the
+// BigQuery Storage API.
+//
+// # General documentation
+//
+// For information that is relevant for all client libraries please reference
+// https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this
+// page includes:
+//
+// - [Authentication and Authorization]
+// - [Timeouts and Cancellation]
+// - [Testing against Client Libraries]
+// - [Debugging Client Libraries]
+// - [Inspecting errors]
+//
+// # Example usage
+//
+// To get started with this package, create a client.
+//
+// ctx := context.Background()
+// // This snippet has been automatically generated and should be regarded as a code template only.
+// // It will require modifications to work:
+// // - It may require correct/in-range values for request initialization.
+// // - It may require specifying regional endpoints when creating the service client as shown in:
+// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
+// c, err := storage.NewBigQueryReadClient(ctx)
+// if err != nil {
+// // TODO: Handle error.
+// }
+// defer c.Close()
+//
+// The client will use your default application credentials. Clients should be reused instead of created as needed.
+// The methods of Client are safe for concurrent use by multiple goroutines.
+// The returned client must be Closed when it is done being used.
+//
+// # Using the Client
+//
+// The following is an example of making an API call with the newly created client.
+//
+// ctx := context.Background()
+// // This snippet has been automatically generated and should be regarded as a code template only.
+// // It will require modifications to work:
+// // - It may require correct/in-range values for request initialization.
+// // - It may require specifying regional endpoints when creating the service client as shown in:
+// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
+// c, err := storage.NewBigQueryReadClient(ctx)
+// if err != nil {
+// // TODO: Handle error.
+// }
+// defer c.Close()
+//
+// req := &storagepb.CreateReadSessionRequest{
+// // TODO: Fill request struct fields.
+// // See https://pkg.go.dev/cloud.google.com/go/bigquery/storage/apiv1/storagepb#CreateReadSessionRequest.
+// }
+// resp, err := c.CreateReadSession(ctx, req)
+// if err != nil {
+// // TODO: Handle error.
+// }
+// // TODO: Use resp.
+// _ = resp
+//
+// # Use of Context
+//
+// The ctx passed to NewBigQueryReadClient is used for authentication requests and
+// for creating the underlying connection, but is not used for subsequent calls.
+// Individual methods on the client use the ctx given to them.
+//
+// To close the open connection, use the Close() method.
+//
+// [Authentication and Authorization]: https://pkg.go.dev/cloud.google.com/go#hdr-Authentication_and_Authorization
+// [Timeouts and Cancellation]: https://pkg.go.dev/cloud.google.com/go#hdr-Timeouts_and_Cancellation
+// [Testing against Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Testing
+// [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging
+// [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors
+package storage // import "cloud.google.com/go/bigquery/storage/apiv1"
+
+import (
+ "context"
+
+ "google.golang.org/api/option"
+)
+
+// For more information on implementing a client constructor hook, see
+// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors.
+type clientHookParams struct{}
+type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error)
+
+var versionClient string
+
+func getVersionClient() string {
+ if versionClient == "" {
+ return "UNKNOWN"
+ }
+ return versionClient
+}
+
+// DefaultAuthScopes reports the default set of authentication scopes to use with this package.
+func DefaultAuthScopes() []string {
+ return []string{
+ "https://www.googleapis.com/auth/bigquery",
+ "https://www.googleapis.com/auth/bigquery.insertdata",
+ "https://www.googleapis.com/auth/cloud-platform",
+ }
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/info.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/info.go
new file mode 100644
index 000000000..7669185f6
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/info.go
@@ -0,0 +1,33 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package storage
+
+// SetGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Also passes any
+// provided key-value pairs. Intended for use by Google-written clients.
+//
+// Internal use only.
+func (c *BigQueryWriteClient) SetGoogleClientInfo(keyval ...string) {
+ c.setGoogleClientInfo(keyval...)
+}
+
+// SetGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Also passes any
+// provided key-value pairs. Intended for use by Google-written clients.
+//
+// Internal use only.
+func (c *BigQueryReadClient) SetGoogleClientInfo(keyval ...string) {
+ c.setGoogleClientInfo(keyval...)
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/annotations.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/annotations.pb.go
new file mode 100644
index 000000000..58b4a66a5
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/annotations.pb.go
@@ -0,0 +1,119 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/annotations.proto
+
+package storagepb
+
+import (
+ reflect "reflect"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+var file_google_cloud_bigquery_storage_v1_annotations_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.FieldOptions)(nil),
+ ExtensionType: (*string)(nil),
+ Field: 454943157,
+ Name: "google.cloud.bigquery.storage.v1.column_name",
+ Tag: "bytes,454943157,opt,name=column_name",
+ Filename: "google/cloud/bigquery/storage/v1/annotations.proto",
+ },
+}
+
+// Extension fields to descriptorpb.FieldOptions.
+var (
+ // Setting the column_name extension allows users to reference
+ // bigquery column independently of the field name in the protocol buffer
+ // message.
+ //
+ // The intended use of this annotation is to reference a destination column
+ // named using characters unavailable for protobuf field names (e.g. unicode
+ // characters).
+ //
+ // More details about BigQuery naming limitations can be found here:
+ // https://cloud.google.com/bigquery/docs/schemas#column_names
+ //
+ // This extension is currently experimental.
+ //
+ // optional string column_name = 454943157;
+ E_ColumnName = &file_google_cloud_bigquery_storage_v1_annotations_proto_extTypes[0]
+)
+
+var File_google_cloud_bigquery_storage_v1_annotations_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_annotations_proto_rawDesc = []byte{
+ 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75,
+ 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb5, 0xc3, 0xf7, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42,
+ 0xc0, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67,
+ 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x20, 0x47,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69, 0x67, 0x51,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31, 0xca,
+ 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42,
+ 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5c,
+ 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_google_cloud_bigquery_storage_v1_annotations_proto_goTypes = []interface{}{
+ (*descriptorpb.FieldOptions)(nil), // 0: google.protobuf.FieldOptions
+}
+var file_google_cloud_bigquery_storage_v1_annotations_proto_depIdxs = []int32{
+ 0, // 0: google.cloud.bigquery.storage.v1.column_name:extendee -> google.protobuf.FieldOptions
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 0, // [0:1] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_annotations_proto_init() }
+func file_google_cloud_bigquery_storage_v1_annotations_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_annotations_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_annotations_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 1,
+ NumServices: 0,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_annotations_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_annotations_proto_depIdxs,
+ ExtensionInfos: file_google_cloud_bigquery_storage_v1_annotations_proto_extTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_annotations_proto = out.File
+ file_google_cloud_bigquery_storage_v1_annotations_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_annotations_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_annotations_proto_depIdxs = nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/arrow.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/arrow.pb.go
new file mode 100644
index 000000000..d60ddef96
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/arrow.pb.go
@@ -0,0 +1,396 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/arrow.proto
+
+package storagepb
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Compression codec's supported by Arrow.
+type ArrowSerializationOptions_CompressionCodec int32
+
+const (
+ // If unspecified no compression will be used.
+ ArrowSerializationOptions_COMPRESSION_UNSPECIFIED ArrowSerializationOptions_CompressionCodec = 0
+ // LZ4 Frame (https://github.com/lz4/lz4/blob/dev/doc/lz4_Frame_format.md)
+ ArrowSerializationOptions_LZ4_FRAME ArrowSerializationOptions_CompressionCodec = 1
+ // Zstandard compression.
+ ArrowSerializationOptions_ZSTD ArrowSerializationOptions_CompressionCodec = 2
+)
+
+// Enum value maps for ArrowSerializationOptions_CompressionCodec.
+var (
+ ArrowSerializationOptions_CompressionCodec_name = map[int32]string{
+ 0: "COMPRESSION_UNSPECIFIED",
+ 1: "LZ4_FRAME",
+ 2: "ZSTD",
+ }
+ ArrowSerializationOptions_CompressionCodec_value = map[string]int32{
+ "COMPRESSION_UNSPECIFIED": 0,
+ "LZ4_FRAME": 1,
+ "ZSTD": 2,
+ }
+)
+
+func (x ArrowSerializationOptions_CompressionCodec) Enum() *ArrowSerializationOptions_CompressionCodec {
+ p := new(ArrowSerializationOptions_CompressionCodec)
+ *p = x
+ return p
+}
+
+func (x ArrowSerializationOptions_CompressionCodec) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ArrowSerializationOptions_CompressionCodec) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_arrow_proto_enumTypes[0].Descriptor()
+}
+
+func (ArrowSerializationOptions_CompressionCodec) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_arrow_proto_enumTypes[0]
+}
+
+func (x ArrowSerializationOptions_CompressionCodec) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ArrowSerializationOptions_CompressionCodec.Descriptor instead.
+func (ArrowSerializationOptions_CompressionCodec) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescGZIP(), []int{2, 0}
+}
+
+// Arrow schema as specified in
+// https://arrow.apache.org/docs/python/api/datatypes.html
+// and serialized to bytes using IPC:
+// https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc
+//
+// See code samples on how this message can be deserialized.
+type ArrowSchema struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // IPC serialized Arrow schema.
+ SerializedSchema []byte `protobuf:"bytes,1,opt,name=serialized_schema,json=serializedSchema,proto3" json:"serialized_schema,omitempty"`
+}
+
+func (x *ArrowSchema) Reset() {
+ *x = ArrowSchema{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArrowSchema) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArrowSchema) ProtoMessage() {}
+
+func (x *ArrowSchema) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArrowSchema.ProtoReflect.Descriptor instead.
+func (*ArrowSchema) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ArrowSchema) GetSerializedSchema() []byte {
+ if x != nil {
+ return x.SerializedSchema
+ }
+ return nil
+}
+
+// Arrow RecordBatch.
+type ArrowRecordBatch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // IPC-serialized Arrow RecordBatch.
+ SerializedRecordBatch []byte `protobuf:"bytes,1,opt,name=serialized_record_batch,json=serializedRecordBatch,proto3" json:"serialized_record_batch,omitempty"`
+ // [Deprecated] The count of rows in `serialized_record_batch`.
+ // Please use the format-independent ReadRowsResponse.row_count instead.
+ //
+ // Deprecated: Marked as deprecated in google/cloud/bigquery/storage/v1/arrow.proto.
+ RowCount int64 `protobuf:"varint,2,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
+}
+
+func (x *ArrowRecordBatch) Reset() {
+ *x = ArrowRecordBatch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArrowRecordBatch) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArrowRecordBatch) ProtoMessage() {}
+
+func (x *ArrowRecordBatch) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArrowRecordBatch.ProtoReflect.Descriptor instead.
+func (*ArrowRecordBatch) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ArrowRecordBatch) GetSerializedRecordBatch() []byte {
+ if x != nil {
+ return x.SerializedRecordBatch
+ }
+ return nil
+}
+
+// Deprecated: Marked as deprecated in google/cloud/bigquery/storage/v1/arrow.proto.
+func (x *ArrowRecordBatch) GetRowCount() int64 {
+ if x != nil {
+ return x.RowCount
+ }
+ return 0
+}
+
+// Contains options specific to Arrow Serialization.
+type ArrowSerializationOptions struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The compression codec to use for Arrow buffers in serialized record
+ // batches.
+ BufferCompression ArrowSerializationOptions_CompressionCodec `protobuf:"varint,2,opt,name=buffer_compression,json=bufferCompression,proto3,enum=google.cloud.bigquery.storage.v1.ArrowSerializationOptions_CompressionCodec" json:"buffer_compression,omitempty"`
+}
+
+func (x *ArrowSerializationOptions) Reset() {
+ *x = ArrowSerializationOptions{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArrowSerializationOptions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArrowSerializationOptions) ProtoMessage() {}
+
+func (x *ArrowSerializationOptions) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArrowSerializationOptions.ProtoReflect.Descriptor instead.
+func (*ArrowSerializationOptions) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ArrowSerializationOptions) GetBufferCompression() ArrowSerializationOptions_CompressionCodec {
+ if x != nil {
+ return x.BufferCompression
+ }
+ return ArrowSerializationOptions_COMPRESSION_UNSPECIFIED
+}
+
+var File_google_cloud_bigquery_storage_v1_arrow_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_arrow_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x22, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
+ 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x6b, 0x0a, 0x10,
+ 0x41, 0x72, 0x72, 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68,
+ 0x12, 0x36, 0x0a, 0x17, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x15, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52,
+ 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe2, 0x01, 0x0a, 0x19, 0x41, 0x72,
+ 0x72, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65,
+ 0x63, 0x52, 0x11, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4d, 0x50,
+ 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
+ 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x5a, 0x34, 0x5f, 0x46, 0x52, 0x41,
+ 0x4d, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x53, 0x54, 0x44, 0x10, 0x02, 0x42, 0xba,
+ 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76,
+ 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescOnce sync.Once
+ file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescData = file_google_cloud_bigquery_storage_v1_arrow_proto_rawDesc
+)
+
+func file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescGZIP() []byte {
+ file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescOnce.Do(func() {
+ file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescData)
+ })
+ return file_google_cloud_bigquery_storage_v1_arrow_proto_rawDescData
+}
+
+var file_google_cloud_bigquery_storage_v1_arrow_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_google_cloud_bigquery_storage_v1_arrow_proto_goTypes = []interface{}{
+ (ArrowSerializationOptions_CompressionCodec)(0), // 0: google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec
+ (*ArrowSchema)(nil), // 1: google.cloud.bigquery.storage.v1.ArrowSchema
+ (*ArrowRecordBatch)(nil), // 2: google.cloud.bigquery.storage.v1.ArrowRecordBatch
+ (*ArrowSerializationOptions)(nil), // 3: google.cloud.bigquery.storage.v1.ArrowSerializationOptions
+}
+var file_google_cloud_bigquery_storage_v1_arrow_proto_depIdxs = []int32{
+ 0, // 0: google.cloud.bigquery.storage.v1.ArrowSerializationOptions.buffer_compression:type_name -> google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_arrow_proto_init() }
+func file_google_cloud_bigquery_storage_v1_arrow_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_arrow_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArrowSchema); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArrowRecordBatch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArrowSerializationOptions); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_arrow_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_arrow_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_arrow_proto_depIdxs,
+ EnumInfos: file_google_cloud_bigquery_storage_v1_arrow_proto_enumTypes,
+ MessageInfos: file_google_cloud_bigquery_storage_v1_arrow_proto_msgTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_arrow_proto = out.File
+ file_google_cloud_bigquery_storage_v1_arrow_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_arrow_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_arrow_proto_depIdxs = nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/avro.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/avro.pb.go
new file mode 100644
index 000000000..e712e1c10
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/avro.pb.go
@@ -0,0 +1,332 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/avro.proto
+
+package storagepb
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Avro schema.
+type AvroSchema struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Json serialized schema, as described at
+ // https://avro.apache.org/docs/1.8.1/spec.html.
+ Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
+}
+
+func (x *AvroSchema) Reset() {
+ *x = AvroSchema{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvroSchema) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvroSchema) ProtoMessage() {}
+
+func (x *AvroSchema) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvroSchema.ProtoReflect.Descriptor instead.
+func (*AvroSchema) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_avro_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvroSchema) GetSchema() string {
+ if x != nil {
+ return x.Schema
+ }
+ return ""
+}
+
+// Avro rows.
+type AvroRows struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Binary serialized rows in a block.
+ SerializedBinaryRows []byte `protobuf:"bytes,1,opt,name=serialized_binary_rows,json=serializedBinaryRows,proto3" json:"serialized_binary_rows,omitempty"`
+ // [Deprecated] The count of rows in the returning block.
+ // Please use the format-independent ReadRowsResponse.row_count instead.
+ //
+ // Deprecated: Marked as deprecated in google/cloud/bigquery/storage/v1/avro.proto.
+ RowCount int64 `protobuf:"varint,2,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
+}
+
+func (x *AvroRows) Reset() {
+ *x = AvroRows{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvroRows) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvroRows) ProtoMessage() {}
+
+func (x *AvroRows) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvroRows.ProtoReflect.Descriptor instead.
+func (*AvroRows) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_avro_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *AvroRows) GetSerializedBinaryRows() []byte {
+ if x != nil {
+ return x.SerializedBinaryRows
+ }
+ return nil
+}
+
+// Deprecated: Marked as deprecated in google/cloud/bigquery/storage/v1/avro.proto.
+func (x *AvroRows) GetRowCount() int64 {
+ if x != nil {
+ return x.RowCount
+ }
+ return 0
+}
+
+// Contains options specific to Avro Serialization.
+type AvroSerializationOptions struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Enable displayName attribute in Avro schema.
+ //
+ // The Avro specification requires field names to be alphanumeric. By
+ // default, in cases when column names do not conform to these requirements
+ // (e.g. non-ascii unicode codepoints) and Avro is requested as an output
+ // format, the CreateReadSession call will fail.
+ //
+ // Setting this field to true, populates avro field names with a placeholder
+ // value and populates a "displayName" attribute for every avro field with the
+ // original column name.
+ EnableDisplayNameAttribute bool `protobuf:"varint,1,opt,name=enable_display_name_attribute,json=enableDisplayNameAttribute,proto3" json:"enable_display_name_attribute,omitempty"`
+}
+
+func (x *AvroSerializationOptions) Reset() {
+ *x = AvroSerializationOptions{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvroSerializationOptions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvroSerializationOptions) ProtoMessage() {}
+
+func (x *AvroSerializationOptions) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvroSerializationOptions.ProtoReflect.Descriptor instead.
+func (*AvroSerializationOptions) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_avro_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *AvroSerializationOptions) GetEnableDisplayNameAttribute() bool {
+ if x != nil {
+ return x.EnableDisplayNameAttribute
+ }
+ return false
+}
+
+var File_google_cloud_bigquery_storage_v1_avro_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_avro_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x61, 0x76, 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x22,
+ 0x24, 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x16, 0x0a,
+ 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x61, 0x0a, 0x08, 0x41, 0x76, 0x72, 0x6f, 0x52, 0x6f, 0x77,
+ 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f,
+ 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x14, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x69, 0x6e,
+ 0x61, 0x72, 0x79, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08,
+ 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5d, 0x0a, 0x18, 0x41, 0x76, 0x72, 0x6f,
+ 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64,
+ 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72,
+ 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x74,
+ 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0xb9, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x42, 0x09, 0x41, 0x76, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x20,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69, 0x67,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31,
+ 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c,
+ 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_cloud_bigquery_storage_v1_avro_proto_rawDescOnce sync.Once
+ file_google_cloud_bigquery_storage_v1_avro_proto_rawDescData = file_google_cloud_bigquery_storage_v1_avro_proto_rawDesc
+)
+
+func file_google_cloud_bigquery_storage_v1_avro_proto_rawDescGZIP() []byte {
+ file_google_cloud_bigquery_storage_v1_avro_proto_rawDescOnce.Do(func() {
+ file_google_cloud_bigquery_storage_v1_avro_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_avro_proto_rawDescData)
+ })
+ return file_google_cloud_bigquery_storage_v1_avro_proto_rawDescData
+}
+
+var file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_google_cloud_bigquery_storage_v1_avro_proto_goTypes = []interface{}{
+ (*AvroSchema)(nil), // 0: google.cloud.bigquery.storage.v1.AvroSchema
+ (*AvroRows)(nil), // 1: google.cloud.bigquery.storage.v1.AvroRows
+ (*AvroSerializationOptions)(nil), // 2: google.cloud.bigquery.storage.v1.AvroSerializationOptions
+}
+var file_google_cloud_bigquery_storage_v1_avro_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_avro_proto_init() }
+func file_google_cloud_bigquery_storage_v1_avro_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_avro_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvroSchema); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvroRows); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvroSerializationOptions); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_avro_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_avro_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_avro_proto_depIdxs,
+ MessageInfos: file_google_cloud_bigquery_storage_v1_avro_proto_msgTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_avro_proto = out.File
+ file_google_cloud_bigquery_storage_v1_avro_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_avro_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_avro_proto_depIdxs = nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/protobuf.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/protobuf.pb.go
new file mode 100644
index 000000000..e1286ff3c
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/protobuf.pb.go
@@ -0,0 +1,257 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/protobuf.proto
+
+package storagepb
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// ProtoSchema describes the schema of the serialized protocol buffer data rows.
+type ProtoSchema struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Descriptor for input message. The provided descriptor must be self
+ // contained, such that data rows sent can be fully decoded using only the
+ // single descriptor. For data rows that are compositions of multiple
+ // independent messages, this means the descriptor may need to be transformed
+ // to only use nested types:
+ // https://developers.google.com/protocol-buffers/docs/proto#nested
+ //
+ // For additional information for how proto types and values map onto BigQuery
+ // see: https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
+ ProtoDescriptor *descriptorpb.DescriptorProto `protobuf:"bytes,1,opt,name=proto_descriptor,json=protoDescriptor,proto3" json:"proto_descriptor,omitempty"`
+}
+
+func (x *ProtoSchema) Reset() {
+ *x = ProtoSchema{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProtoSchema) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProtoSchema) ProtoMessage() {}
+
+func (x *ProtoSchema) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProtoSchema.ProtoReflect.Descriptor instead.
+func (*ProtoSchema) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProtoSchema) GetProtoDescriptor() *descriptorpb.DescriptorProto {
+ if x != nil {
+ return x.ProtoDescriptor
+ }
+ return nil
+}
+
+type ProtoRows struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A sequence of rows serialized as a Protocol Buffer.
+ //
+ // See https://developers.google.com/protocol-buffers/docs/overview for more
+ // information on deserializing this field.
+ SerializedRows [][]byte `protobuf:"bytes,1,rep,name=serialized_rows,json=serializedRows,proto3" json:"serialized_rows,omitempty"`
+}
+
+func (x *ProtoRows) Reset() {
+ *x = ProtoRows{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProtoRows) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProtoRows) ProtoMessage() {}
+
+func (x *ProtoRows) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProtoRows.ProtoReflect.Descriptor instead.
+func (*ProtoRows) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ProtoRows) GetSerializedRows() [][]byte {
+ if x != nil {
+ return x.SerializedRows
+ }
+ return nil
+}
+
+var File_google_cloud_bigquery_storage_v1_protobuf_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDesc = []byte{
+ 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
+ 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4b, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65,
+ 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
+ 0x72, 0x22, 0x34, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x27,
+ 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69,
+ 0x7a, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x42, 0xbd, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
+ 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70,
+ 0x62, 0xaa, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
+ 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c,
+ 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x5c, 0x53, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescOnce sync.Once
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescData = file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDesc
+)
+
+func file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescGZIP() []byte {
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescOnce.Do(func() {
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescData)
+ })
+ return file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDescData
+}
+
+var file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_google_cloud_bigquery_storage_v1_protobuf_proto_goTypes = []interface{}{
+ (*ProtoSchema)(nil), // 0: google.cloud.bigquery.storage.v1.ProtoSchema
+ (*ProtoRows)(nil), // 1: google.cloud.bigquery.storage.v1.ProtoRows
+ (*descriptorpb.DescriptorProto)(nil), // 2: google.protobuf.DescriptorProto
+}
+var file_google_cloud_bigquery_storage_v1_protobuf_proto_depIdxs = []int32{
+ 2, // 0: google.cloud.bigquery.storage.v1.ProtoSchema.proto_descriptor:type_name -> google.protobuf.DescriptorProto
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_protobuf_proto_init() }
+func file_google_cloud_bigquery_storage_v1_protobuf_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_protobuf_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProtoSchema); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProtoRows); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_protobuf_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_protobuf_proto_depIdxs,
+ MessageInfos: file_google_cloud_bigquery_storage_v1_protobuf_proto_msgTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_protobuf_proto = out.File
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_depIdxs = nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/storage.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/storage.pb.go
new file mode 100644
index 000000000..3b5d82246
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/storage.pb.go
@@ -0,0 +1,3496 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/storage.proto
+
+package storagepb
+
+import (
+ context "context"
+ reflect "reflect"
+ sync "sync"
+
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ status "google.golang.org/genproto/googleapis/rpc/status"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status1 "google.golang.org/grpc/status"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+ wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// An enum to indicate how to interpret missing values of fields that are
+// present in user schema but missing in rows. A missing value can represent a
+// NULL or a column default value defined in BigQuery table schema.
+type AppendRowsRequest_MissingValueInterpretation int32
+
+const (
+ // Invalid missing value interpretation. Requests with this value will be
+ // rejected.
+ AppendRowsRequest_MISSING_VALUE_INTERPRETATION_UNSPECIFIED AppendRowsRequest_MissingValueInterpretation = 0
+ // Missing value is interpreted as NULL.
+ AppendRowsRequest_NULL_VALUE AppendRowsRequest_MissingValueInterpretation = 1
+ // Missing value is interpreted as column default value if declared in the
+ // table schema, NULL otherwise.
+ AppendRowsRequest_DEFAULT_VALUE AppendRowsRequest_MissingValueInterpretation = 2
+)
+
+// Enum value maps for AppendRowsRequest_MissingValueInterpretation.
+var (
+ AppendRowsRequest_MissingValueInterpretation_name = map[int32]string{
+ 0: "MISSING_VALUE_INTERPRETATION_UNSPECIFIED",
+ 1: "NULL_VALUE",
+ 2: "DEFAULT_VALUE",
+ }
+ AppendRowsRequest_MissingValueInterpretation_value = map[string]int32{
+ "MISSING_VALUE_INTERPRETATION_UNSPECIFIED": 0,
+ "NULL_VALUE": 1,
+ "DEFAULT_VALUE": 2,
+ }
+)
+
+func (x AppendRowsRequest_MissingValueInterpretation) Enum() *AppendRowsRequest_MissingValueInterpretation {
+ p := new(AppendRowsRequest_MissingValueInterpretation)
+ *p = x
+ return p
+}
+
+func (x AppendRowsRequest_MissingValueInterpretation) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AppendRowsRequest_MissingValueInterpretation) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[0].Descriptor()
+}
+
+func (AppendRowsRequest_MissingValueInterpretation) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[0]
+}
+
+func (x AppendRowsRequest_MissingValueInterpretation) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AppendRowsRequest_MissingValueInterpretation.Descriptor instead.
+func (AppendRowsRequest_MissingValueInterpretation) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{8, 0}
+}
+
+// Error code for `StorageError`.
+type StorageError_StorageErrorCode int32
+
+const (
+ // Default error.
+ StorageError_STORAGE_ERROR_CODE_UNSPECIFIED StorageError_StorageErrorCode = 0
+ // Table is not found in the system.
+ StorageError_TABLE_NOT_FOUND StorageError_StorageErrorCode = 1
+ // Stream is already committed.
+ StorageError_STREAM_ALREADY_COMMITTED StorageError_StorageErrorCode = 2
+ // Stream is not found.
+ StorageError_STREAM_NOT_FOUND StorageError_StorageErrorCode = 3
+ // Invalid Stream type.
+ // For example, you try to commit a stream that is not pending.
+ StorageError_INVALID_STREAM_TYPE StorageError_StorageErrorCode = 4
+ // Invalid Stream state.
+ // For example, you try to commit a stream that is not finalized or is
+ // garbaged.
+ StorageError_INVALID_STREAM_STATE StorageError_StorageErrorCode = 5
+ // Stream is finalized.
+ StorageError_STREAM_FINALIZED StorageError_StorageErrorCode = 6
+ // There is a schema mismatch and it is caused by user schema has extra
+ // field than bigquery schema.
+ StorageError_SCHEMA_MISMATCH_EXTRA_FIELDS StorageError_StorageErrorCode = 7
+ // Offset already exists.
+ StorageError_OFFSET_ALREADY_EXISTS StorageError_StorageErrorCode = 8
+ // Offset out of range.
+ StorageError_OFFSET_OUT_OF_RANGE StorageError_StorageErrorCode = 9
+ // Customer-managed encryption key (CMEK) not provided for CMEK-enabled
+ // data.
+ StorageError_CMEK_NOT_PROVIDED StorageError_StorageErrorCode = 10
+ // Customer-managed encryption key (CMEK) was incorrectly provided.
+ StorageError_INVALID_CMEK_PROVIDED StorageError_StorageErrorCode = 11
+ // There is an encryption error while using customer-managed encryption key.
+ StorageError_CMEK_ENCRYPTION_ERROR StorageError_StorageErrorCode = 12
+ // Key Management Service (KMS) service returned an error, which can be
+ // retried.
+ StorageError_KMS_SERVICE_ERROR StorageError_StorageErrorCode = 13
+ // Permission denied while using customer-managed encryption key.
+ StorageError_KMS_PERMISSION_DENIED StorageError_StorageErrorCode = 14
+)
+
+// Enum value maps for StorageError_StorageErrorCode.
+var (
+ StorageError_StorageErrorCode_name = map[int32]string{
+ 0: "STORAGE_ERROR_CODE_UNSPECIFIED",
+ 1: "TABLE_NOT_FOUND",
+ 2: "STREAM_ALREADY_COMMITTED",
+ 3: "STREAM_NOT_FOUND",
+ 4: "INVALID_STREAM_TYPE",
+ 5: "INVALID_STREAM_STATE",
+ 6: "STREAM_FINALIZED",
+ 7: "SCHEMA_MISMATCH_EXTRA_FIELDS",
+ 8: "OFFSET_ALREADY_EXISTS",
+ 9: "OFFSET_OUT_OF_RANGE",
+ 10: "CMEK_NOT_PROVIDED",
+ 11: "INVALID_CMEK_PROVIDED",
+ 12: "CMEK_ENCRYPTION_ERROR",
+ 13: "KMS_SERVICE_ERROR",
+ 14: "KMS_PERMISSION_DENIED",
+ }
+ StorageError_StorageErrorCode_value = map[string]int32{
+ "STORAGE_ERROR_CODE_UNSPECIFIED": 0,
+ "TABLE_NOT_FOUND": 1,
+ "STREAM_ALREADY_COMMITTED": 2,
+ "STREAM_NOT_FOUND": 3,
+ "INVALID_STREAM_TYPE": 4,
+ "INVALID_STREAM_STATE": 5,
+ "STREAM_FINALIZED": 6,
+ "SCHEMA_MISMATCH_EXTRA_FIELDS": 7,
+ "OFFSET_ALREADY_EXISTS": 8,
+ "OFFSET_OUT_OF_RANGE": 9,
+ "CMEK_NOT_PROVIDED": 10,
+ "INVALID_CMEK_PROVIDED": 11,
+ "CMEK_ENCRYPTION_ERROR": 12,
+ "KMS_SERVICE_ERROR": 13,
+ "KMS_PERMISSION_DENIED": 14,
+ }
+)
+
+func (x StorageError_StorageErrorCode) Enum() *StorageError_StorageErrorCode {
+ p := new(StorageError_StorageErrorCode)
+ *p = x
+ return p
+}
+
+func (x StorageError_StorageErrorCode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (StorageError_StorageErrorCode) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[1].Descriptor()
+}
+
+func (StorageError_StorageErrorCode) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[1]
+}
+
+func (x StorageError_StorageErrorCode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use StorageError_StorageErrorCode.Descriptor instead.
+func (StorageError_StorageErrorCode) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{17, 0}
+}
+
+// Error code for `RowError`.
+type RowError_RowErrorCode int32
+
+const (
+ // Default error.
+ RowError_ROW_ERROR_CODE_UNSPECIFIED RowError_RowErrorCode = 0
+ // One or more fields in the row has errors.
+ RowError_FIELDS_ERROR RowError_RowErrorCode = 1
+)
+
+// Enum value maps for RowError_RowErrorCode.
+var (
+ RowError_RowErrorCode_name = map[int32]string{
+ 0: "ROW_ERROR_CODE_UNSPECIFIED",
+ 1: "FIELDS_ERROR",
+ }
+ RowError_RowErrorCode_value = map[string]int32{
+ "ROW_ERROR_CODE_UNSPECIFIED": 0,
+ "FIELDS_ERROR": 1,
+ }
+)
+
+func (x RowError_RowErrorCode) Enum() *RowError_RowErrorCode {
+ p := new(RowError_RowErrorCode)
+ *p = x
+ return p
+}
+
+func (x RowError_RowErrorCode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RowError_RowErrorCode) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[2].Descriptor()
+}
+
+func (RowError_RowErrorCode) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[2]
+}
+
+func (x RowError_RowErrorCode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RowError_RowErrorCode.Descriptor instead.
+func (RowError_RowErrorCode) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{18, 0}
+}
+
+// Request message for `CreateReadSession`.
+type CreateReadSessionRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The request project that owns the session, in the form of
+ // `projects/{project_id}`.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Required. Session to be created.
+ ReadSession *ReadSession `protobuf:"bytes,2,opt,name=read_session,json=readSession,proto3" json:"read_session,omitempty"`
+ // Max initial number of streams. If unset or zero, the server will
+ // provide a value of streams so as to produce reasonable throughput. Must be
+ // non-negative. The number of streams may be lower than the requested number,
+ // depending on the amount parallelism that is reasonable for the table.
+ // There is a default system max limit of 1,000.
+ //
+ // This must be greater than or equal to preferred_min_stream_count.
+ // Typically, clients should either leave this unset to let the system to
+ // determine an upper bound OR set this a size for the maximum "units of work"
+ // it can gracefully handle.
+ MaxStreamCount int32 `protobuf:"varint,3,opt,name=max_stream_count,json=maxStreamCount,proto3" json:"max_stream_count,omitempty"`
+ // The minimum preferred stream count. This parameter can be used to inform
+ // the service that there is a desired lower bound on the number of streams.
+ // This is typically a target parallelism of the client (e.g. a Spark
+ // cluster with N-workers would set this to a low multiple of N to ensure
+ // good cluster utilization).
+ //
+ // The system will make a best effort to provide at least this number of
+ // streams, but in some cases might provide less.
+ PreferredMinStreamCount int32 `protobuf:"varint,4,opt,name=preferred_min_stream_count,json=preferredMinStreamCount,proto3" json:"preferred_min_stream_count,omitempty"`
+}
+
+func (x *CreateReadSessionRequest) Reset() {
+ *x = CreateReadSessionRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateReadSessionRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateReadSessionRequest) ProtoMessage() {}
+
+func (x *CreateReadSessionRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateReadSessionRequest.ProtoReflect.Descriptor instead.
+func (*CreateReadSessionRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateReadSessionRequest) GetParent() string {
+ if x != nil {
+ return x.Parent
+ }
+ return ""
+}
+
+func (x *CreateReadSessionRequest) GetReadSession() *ReadSession {
+ if x != nil {
+ return x.ReadSession
+ }
+ return nil
+}
+
+func (x *CreateReadSessionRequest) GetMaxStreamCount() int32 {
+ if x != nil {
+ return x.MaxStreamCount
+ }
+ return 0
+}
+
+func (x *CreateReadSessionRequest) GetPreferredMinStreamCount() int32 {
+ if x != nil {
+ return x.PreferredMinStreamCount
+ }
+ return 0
+}
+
+// Request message for `ReadRows`.
+type ReadRowsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Stream to read rows from.
+ ReadStream string `protobuf:"bytes,1,opt,name=read_stream,json=readStream,proto3" json:"read_stream,omitempty"`
+ // The offset requested must be less than the last row read from Read.
+ // Requesting a larger offset is undefined. If not specified, start reading
+ // from offset zero.
+ Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
+}
+
+func (x *ReadRowsRequest) Reset() {
+ *x = ReadRowsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadRowsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadRowsRequest) ProtoMessage() {}
+
+func (x *ReadRowsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadRowsRequest.ProtoReflect.Descriptor instead.
+func (*ReadRowsRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ReadRowsRequest) GetReadStream() string {
+ if x != nil {
+ return x.ReadStream
+ }
+ return ""
+}
+
+func (x *ReadRowsRequest) GetOffset() int64 {
+ if x != nil {
+ return x.Offset
+ }
+ return 0
+}
+
+// Information on if the current connection is being throttled.
+type ThrottleState struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // How much this connection is being throttled. Zero means no throttling,
+ // 100 means fully throttled.
+ ThrottlePercent int32 `protobuf:"varint,1,opt,name=throttle_percent,json=throttlePercent,proto3" json:"throttle_percent,omitempty"`
+}
+
+func (x *ThrottleState) Reset() {
+ *x = ThrottleState{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ThrottleState) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ThrottleState) ProtoMessage() {}
+
+func (x *ThrottleState) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ThrottleState.ProtoReflect.Descriptor instead.
+func (*ThrottleState) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ThrottleState) GetThrottlePercent() int32 {
+ if x != nil {
+ return x.ThrottlePercent
+ }
+ return 0
+}
+
+// Estimated stream statistics for a given read Stream.
+type StreamStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Represents the progress of the current stream.
+ Progress *StreamStats_Progress `protobuf:"bytes,2,opt,name=progress,proto3" json:"progress,omitempty"`
+}
+
+func (x *StreamStats) Reset() {
+ *x = StreamStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StreamStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StreamStats) ProtoMessage() {}
+
+func (x *StreamStats) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StreamStats.ProtoReflect.Descriptor instead.
+func (*StreamStats) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *StreamStats) GetProgress() *StreamStats_Progress {
+ if x != nil {
+ return x.Progress
+ }
+ return nil
+}
+
+// Response from calling `ReadRows` may include row data, progress and
+// throttling information.
+type ReadRowsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Row data is returned in format specified during session creation.
+ //
+ // Types that are assignable to Rows:
+ //
+ // *ReadRowsResponse_AvroRows
+ // *ReadRowsResponse_ArrowRecordBatch
+ Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"`
+ // Number of serialized rows in the rows block.
+ RowCount int64 `protobuf:"varint,6,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
+ // Statistics for the stream.
+ Stats *StreamStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
+ // Throttling state. If unset, the latest response still describes
+ // the current throttling status.
+ ThrottleState *ThrottleState `protobuf:"bytes,5,opt,name=throttle_state,json=throttleState,proto3" json:"throttle_state,omitempty"`
+ // The schema for the read. If read_options.selected_fields is set, the
+ // schema may be different from the table schema as it will only contain
+ // the selected fields. This schema is equivalent to the one returned by
+ // CreateSession. This field is only populated in the first ReadRowsResponse
+ // RPC.
+ //
+ // Types that are assignable to Schema:
+ //
+ // *ReadRowsResponse_AvroSchema
+ // *ReadRowsResponse_ArrowSchema
+ Schema isReadRowsResponse_Schema `protobuf_oneof:"schema"`
+ // Optional. If the row data in this ReadRowsResponse is compressed, then
+ // uncompressed byte size is the original size of the uncompressed row data.
+ // If it is set to a value greater than 0, then decompress into a buffer of
+ // size uncompressed_byte_size using the compression codec that was requested
+ // during session creation time and which is specified in
+ // TableReadOptions.response_compression_codec in ReadSession.
+ // This value is not set if no response_compression_codec was not requested
+ // and it is -1 if the requested compression would not have reduced the size
+ // of this ReadRowsResponse's row data. This attempts to match Apache Arrow's
+ // behavior described here https://github.com/apache/arrow/issues/15102 where
+ // the uncompressed length may be set to -1 to indicate that the data that
+ // follows is not compressed, which can be useful for cases where compression
+ // does not yield appreciable savings. When uncompressed_byte_size is not
+ // greater than 0, the client should skip decompression.
+ UncompressedByteSize *int64 `protobuf:"varint,9,opt,name=uncompressed_byte_size,json=uncompressedByteSize,proto3,oneof" json:"uncompressed_byte_size,omitempty"`
+}
+
+func (x *ReadRowsResponse) Reset() {
+ *x = ReadRowsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadRowsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadRowsResponse) ProtoMessage() {}
+
+func (x *ReadRowsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadRowsResponse.ProtoReflect.Descriptor instead.
+func (*ReadRowsResponse) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{4}
+}
+
+func (m *ReadRowsResponse) GetRows() isReadRowsResponse_Rows {
+ if m != nil {
+ return m.Rows
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetAvroRows() *AvroRows {
+ if x, ok := x.GetRows().(*ReadRowsResponse_AvroRows); ok {
+ return x.AvroRows
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetArrowRecordBatch() *ArrowRecordBatch {
+ if x, ok := x.GetRows().(*ReadRowsResponse_ArrowRecordBatch); ok {
+ return x.ArrowRecordBatch
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetRowCount() int64 {
+ if x != nil {
+ return x.RowCount
+ }
+ return 0
+}
+
+func (x *ReadRowsResponse) GetStats() *StreamStats {
+ if x != nil {
+ return x.Stats
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetThrottleState() *ThrottleState {
+ if x != nil {
+ return x.ThrottleState
+ }
+ return nil
+}
+
+func (m *ReadRowsResponse) GetSchema() isReadRowsResponse_Schema {
+ if m != nil {
+ return m.Schema
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetAvroSchema() *AvroSchema {
+ if x, ok := x.GetSchema().(*ReadRowsResponse_AvroSchema); ok {
+ return x.AvroSchema
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetArrowSchema() *ArrowSchema {
+ if x, ok := x.GetSchema().(*ReadRowsResponse_ArrowSchema); ok {
+ return x.ArrowSchema
+ }
+ return nil
+}
+
+func (x *ReadRowsResponse) GetUncompressedByteSize() int64 {
+ if x != nil && x.UncompressedByteSize != nil {
+ return *x.UncompressedByteSize
+ }
+ return 0
+}
+
+type isReadRowsResponse_Rows interface {
+ isReadRowsResponse_Rows()
+}
+
+type ReadRowsResponse_AvroRows struct {
+ // Serialized row data in AVRO format.
+ AvroRows *AvroRows `protobuf:"bytes,3,opt,name=avro_rows,json=avroRows,proto3,oneof"`
+}
+
+type ReadRowsResponse_ArrowRecordBatch struct {
+ // Serialized row data in Arrow RecordBatch format.
+ ArrowRecordBatch *ArrowRecordBatch `protobuf:"bytes,4,opt,name=arrow_record_batch,json=arrowRecordBatch,proto3,oneof"`
+}
+
+func (*ReadRowsResponse_AvroRows) isReadRowsResponse_Rows() {}
+
+func (*ReadRowsResponse_ArrowRecordBatch) isReadRowsResponse_Rows() {}
+
+type isReadRowsResponse_Schema interface {
+ isReadRowsResponse_Schema()
+}
+
+type ReadRowsResponse_AvroSchema struct {
+ // Output only. Avro schema.
+ AvroSchema *AvroSchema `protobuf:"bytes,7,opt,name=avro_schema,json=avroSchema,proto3,oneof"`
+}
+
+type ReadRowsResponse_ArrowSchema struct {
+ // Output only. Arrow schema.
+ ArrowSchema *ArrowSchema `protobuf:"bytes,8,opt,name=arrow_schema,json=arrowSchema,proto3,oneof"`
+}
+
+func (*ReadRowsResponse_AvroSchema) isReadRowsResponse_Schema() {}
+
+func (*ReadRowsResponse_ArrowSchema) isReadRowsResponse_Schema() {}
+
+// Request message for `SplitReadStream`.
+type SplitReadStreamRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of the stream to split.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // A value in the range (0.0, 1.0) that specifies the fractional point at
+ // which the original stream should be split. The actual split point is
+ // evaluated on pre-filtered rows, so if a filter is provided, then there is
+ // no guarantee that the division of the rows between the new child streams
+ // will be proportional to this fractional value. Additionally, because the
+ // server-side unit for assigning data is collections of rows, this fraction
+ // will always map to a data storage boundary on the server side.
+ Fraction float64 `protobuf:"fixed64,2,opt,name=fraction,proto3" json:"fraction,omitempty"`
+}
+
+func (x *SplitReadStreamRequest) Reset() {
+ *x = SplitReadStreamRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SplitReadStreamRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SplitReadStreamRequest) ProtoMessage() {}
+
+func (x *SplitReadStreamRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SplitReadStreamRequest.ProtoReflect.Descriptor instead.
+func (*SplitReadStreamRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *SplitReadStreamRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *SplitReadStreamRequest) GetFraction() float64 {
+ if x != nil {
+ return x.Fraction
+ }
+ return 0
+}
+
+// Response message for `SplitReadStream`.
+type SplitReadStreamResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Primary stream, which contains the beginning portion of
+ // |original_stream|. An empty value indicates that the original stream can no
+ // longer be split.
+ PrimaryStream *ReadStream `protobuf:"bytes,1,opt,name=primary_stream,json=primaryStream,proto3" json:"primary_stream,omitempty"`
+ // Remainder stream, which contains the tail of |original_stream|. An empty
+ // value indicates that the original stream can no longer be split.
+ RemainderStream *ReadStream `protobuf:"bytes,2,opt,name=remainder_stream,json=remainderStream,proto3" json:"remainder_stream,omitempty"`
+}
+
+func (x *SplitReadStreamResponse) Reset() {
+ *x = SplitReadStreamResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SplitReadStreamResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SplitReadStreamResponse) ProtoMessage() {}
+
+func (x *SplitReadStreamResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SplitReadStreamResponse.ProtoReflect.Descriptor instead.
+func (*SplitReadStreamResponse) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *SplitReadStreamResponse) GetPrimaryStream() *ReadStream {
+ if x != nil {
+ return x.PrimaryStream
+ }
+ return nil
+}
+
+func (x *SplitReadStreamResponse) GetRemainderStream() *ReadStream {
+ if x != nil {
+ return x.RemainderStream
+ }
+ return nil
+}
+
+// Request message for `CreateWriteStream`.
+type CreateWriteStreamRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Reference to the table to which the stream belongs, in the format
+ // of `projects/{project}/datasets/{dataset}/tables/{table}`.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Required. Stream to be created.
+ WriteStream *WriteStream `protobuf:"bytes,2,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
+}
+
+func (x *CreateWriteStreamRequest) Reset() {
+ *x = CreateWriteStreamRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateWriteStreamRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateWriteStreamRequest) ProtoMessage() {}
+
+func (x *CreateWriteStreamRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateWriteStreamRequest.ProtoReflect.Descriptor instead.
+func (*CreateWriteStreamRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *CreateWriteStreamRequest) GetParent() string {
+ if x != nil {
+ return x.Parent
+ }
+ return ""
+}
+
+func (x *CreateWriteStreamRequest) GetWriteStream() *WriteStream {
+ if x != nil {
+ return x.WriteStream
+ }
+ return nil
+}
+
+// Request message for `AppendRows`.
+//
+// Because AppendRows is a bidirectional streaming RPC, certain parts of the
+// AppendRowsRequest need only be specified for the first request before
+// switching table destinations. You can also switch table destinations within
+// the same connection for the default stream.
+//
+// The size of a single AppendRowsRequest must be less than 10 MB in size.
+// Requests larger than this return an error, typically `INVALID_ARGUMENT`.
+type AppendRowsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The write_stream identifies the append operation. It must be
+ // provided in the following scenarios:
+ //
+ // * In the first request to an AppendRows connection.
+ //
+ // * In all subsequent requests to an AppendRows connection, if you use the
+ // same connection to write to multiple tables or change the input schema for
+ // default streams.
+ //
+ // For explicitly created write streams, the format is:
+ //
+ // * `projects/{project}/datasets/{dataset}/tables/{table}/streams/{id}`
+ //
+ // For the special default stream, the format is:
+ //
+ // * `projects/{project}/datasets/{dataset}/tables/{table}/streams/_default`.
+ //
+ // An example of a possible sequence of requests with write_stream fields
+ // within a single connection:
+ //
+ // * r1: {write_stream: stream_name_1}
+ //
+ // * r2: {write_stream: /*omit*/}
+ //
+ // * r3: {write_stream: /*omit*/}
+ //
+ // * r4: {write_stream: stream_name_2}
+ //
+ // * r5: {write_stream: stream_name_2}
+ //
+ // The destination changed in request_4, so the write_stream field must be
+ // populated in all subsequent requests in this stream.
+ WriteStream string `protobuf:"bytes,1,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
+ // If present, the write is only performed if the next append offset is same
+ // as the provided value. If not present, the write is performed at the
+ // current end of stream. Specifying a value for this field is not allowed
+ // when calling AppendRows for the '_default' stream.
+ Offset *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=offset,proto3" json:"offset,omitempty"`
+ // Input rows. The `writer_schema` field must be specified at the initial
+ // request and currently, it will be ignored if specified in following
+ // requests. Following requests must have data in the same format as the
+ // initial request.
+ //
+ // Types that are assignable to Rows:
+ //
+ // *AppendRowsRequest_ProtoRows
+ Rows isAppendRowsRequest_Rows `protobuf_oneof:"rows"`
+ // Id set by client to annotate its identity. Only initial request setting is
+ // respected.
+ TraceId string `protobuf:"bytes,6,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
+ // A map to indicate how to interpret missing value for some fields. Missing
+ // values are fields present in user schema but missing in rows. The key is
+ // the field name. The value is the interpretation of missing values for the
+ // field.
+ //
+ // For example, a map {'foo': NULL_VALUE, 'bar': DEFAULT_VALUE} means all
+ // missing values in field foo are interpreted as NULL, all missing values in
+ // field bar are interpreted as the default value of field bar in table
+ // schema.
+ //
+ // If a field is not in this map and has missing values, the missing values
+ // in this field are interpreted as NULL.
+ //
+ // This field only applies to the current request, it won't affect other
+ // requests on the connection.
+ //
+ // Currently, field name can only be top-level column name, can't be a struct
+ // field path like 'foo.bar'.
+ MissingValueInterpretations map[string]AppendRowsRequest_MissingValueInterpretation `protobuf:"bytes,7,rep,name=missing_value_interpretations,json=missingValueInterpretations,proto3" json:"missing_value_interpretations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=google.cloud.bigquery.storage.v1.AppendRowsRequest_MissingValueInterpretation"`
+ // Optional. Default missing value interpretation for all columns in the
+ // table. When a value is specified on an `AppendRowsRequest`, it is applied
+ // to all requests on the connection from that point forward, until a
+ // subsequent `AppendRowsRequest` sets it to a different value.
+ // `missing_value_interpretation` can override
+ // `default_missing_value_interpretation`. For example, if you want to write
+ // `NULL` instead of using default values for some columns, you can set
+ // `default_missing_value_interpretation` to `DEFAULT_VALUE` and at the same
+ // time, set `missing_value_interpretations` to `NULL_VALUE` on those columns.
+ DefaultMissingValueInterpretation AppendRowsRequest_MissingValueInterpretation `protobuf:"varint,8,opt,name=default_missing_value_interpretation,json=defaultMissingValueInterpretation,proto3,enum=google.cloud.bigquery.storage.v1.AppendRowsRequest_MissingValueInterpretation" json:"default_missing_value_interpretation,omitempty"`
+}
+
+func (x *AppendRowsRequest) Reset() {
+ *x = AppendRowsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AppendRowsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppendRowsRequest) ProtoMessage() {}
+
+func (x *AppendRowsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AppendRowsRequest.ProtoReflect.Descriptor instead.
+func (*AppendRowsRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *AppendRowsRequest) GetWriteStream() string {
+ if x != nil {
+ return x.WriteStream
+ }
+ return ""
+}
+
+func (x *AppendRowsRequest) GetOffset() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Offset
+ }
+ return nil
+}
+
+func (m *AppendRowsRequest) GetRows() isAppendRowsRequest_Rows {
+ if m != nil {
+ return m.Rows
+ }
+ return nil
+}
+
+func (x *AppendRowsRequest) GetProtoRows() *AppendRowsRequest_ProtoData {
+ if x, ok := x.GetRows().(*AppendRowsRequest_ProtoRows); ok {
+ return x.ProtoRows
+ }
+ return nil
+}
+
+func (x *AppendRowsRequest) GetTraceId() string {
+ if x != nil {
+ return x.TraceId
+ }
+ return ""
+}
+
+func (x *AppendRowsRequest) GetMissingValueInterpretations() map[string]AppendRowsRequest_MissingValueInterpretation {
+ if x != nil {
+ return x.MissingValueInterpretations
+ }
+ return nil
+}
+
+func (x *AppendRowsRequest) GetDefaultMissingValueInterpretation() AppendRowsRequest_MissingValueInterpretation {
+ if x != nil {
+ return x.DefaultMissingValueInterpretation
+ }
+ return AppendRowsRequest_MISSING_VALUE_INTERPRETATION_UNSPECIFIED
+}
+
+type isAppendRowsRequest_Rows interface {
+ isAppendRowsRequest_Rows()
+}
+
+type AppendRowsRequest_ProtoRows struct {
+ // Rows in proto format.
+ ProtoRows *AppendRowsRequest_ProtoData `protobuf:"bytes,4,opt,name=proto_rows,json=protoRows,proto3,oneof"`
+}
+
+func (*AppendRowsRequest_ProtoRows) isAppendRowsRequest_Rows() {}
+
+// Response message for `AppendRows`.
+type AppendRowsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Response:
+ //
+ // *AppendRowsResponse_AppendResult_
+ // *AppendRowsResponse_Error
+ Response isAppendRowsResponse_Response `protobuf_oneof:"response"`
+ // If backend detects a schema update, pass it to user so that user can
+ // use it to input new type of message. It will be empty when no schema
+ // updates have occurred.
+ UpdatedSchema *TableSchema `protobuf:"bytes,3,opt,name=updated_schema,json=updatedSchema,proto3" json:"updated_schema,omitempty"`
+ // If a request failed due to corrupted rows, no rows in the batch will be
+ // appended. The API will return row level error info, so that the caller can
+ // remove the bad rows and retry the request.
+ RowErrors []*RowError `protobuf:"bytes,4,rep,name=row_errors,json=rowErrors,proto3" json:"row_errors,omitempty"`
+ // The target of the append operation. Matches the write_stream in the
+ // corresponding request.
+ WriteStream string `protobuf:"bytes,5,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
+}
+
+func (x *AppendRowsResponse) Reset() {
+ *x = AppendRowsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AppendRowsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppendRowsResponse) ProtoMessage() {}
+
+func (x *AppendRowsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AppendRowsResponse.ProtoReflect.Descriptor instead.
+func (*AppendRowsResponse) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{9}
+}
+
+func (m *AppendRowsResponse) GetResponse() isAppendRowsResponse_Response {
+ if m != nil {
+ return m.Response
+ }
+ return nil
+}
+
+func (x *AppendRowsResponse) GetAppendResult() *AppendRowsResponse_AppendResult {
+ if x, ok := x.GetResponse().(*AppendRowsResponse_AppendResult_); ok {
+ return x.AppendResult
+ }
+ return nil
+}
+
+func (x *AppendRowsResponse) GetError() *status.Status {
+ if x, ok := x.GetResponse().(*AppendRowsResponse_Error); ok {
+ return x.Error
+ }
+ return nil
+}
+
+func (x *AppendRowsResponse) GetUpdatedSchema() *TableSchema {
+ if x != nil {
+ return x.UpdatedSchema
+ }
+ return nil
+}
+
+func (x *AppendRowsResponse) GetRowErrors() []*RowError {
+ if x != nil {
+ return x.RowErrors
+ }
+ return nil
+}
+
+func (x *AppendRowsResponse) GetWriteStream() string {
+ if x != nil {
+ return x.WriteStream
+ }
+ return ""
+}
+
+type isAppendRowsResponse_Response interface {
+ isAppendRowsResponse_Response()
+}
+
+type AppendRowsResponse_AppendResult_ struct {
+ // Result if the append is successful.
+ AppendResult *AppendRowsResponse_AppendResult `protobuf:"bytes,1,opt,name=append_result,json=appendResult,proto3,oneof"`
+}
+
+type AppendRowsResponse_Error struct {
+ // Error returned when problems were encountered. If present,
+ // it indicates rows were not accepted into the system.
+ // Users can retry or continue with other append requests within the
+ // same connection.
+ //
+ // Additional information about error signalling:
+ //
+ // ALREADY_EXISTS: Happens when an append specified an offset, and the
+ // backend already has received data at this offset. Typically encountered
+ // in retry scenarios, and can be ignored.
+ //
+ // OUT_OF_RANGE: Returned when the specified offset in the stream is beyond
+ // the current end of the stream.
+ //
+ // INVALID_ARGUMENT: Indicates a malformed request or data.
+ //
+ // ABORTED: Request processing is aborted because of prior failures. The
+ // request can be retried if previous failure is addressed.
+ //
+ // INTERNAL: Indicates server side error(s) that can be retried.
+ Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
+}
+
+func (*AppendRowsResponse_AppendResult_) isAppendRowsResponse_Response() {}
+
+func (*AppendRowsResponse_Error) isAppendRowsResponse_Response() {}
+
+// Request message for `GetWriteStreamRequest`.
+type GetWriteStreamRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of the stream to get, in the form of
+ // `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Indicates whether to get full or partial view of the WriteStream. If
+ // not set, view returned will be basic.
+ View WriteStreamView `protobuf:"varint,3,opt,name=view,proto3,enum=google.cloud.bigquery.storage.v1.WriteStreamView" json:"view,omitempty"`
+}
+
+func (x *GetWriteStreamRequest) Reset() {
+ *x = GetWriteStreamRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetWriteStreamRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetWriteStreamRequest) ProtoMessage() {}
+
+func (x *GetWriteStreamRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetWriteStreamRequest.ProtoReflect.Descriptor instead.
+func (*GetWriteStreamRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *GetWriteStreamRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *GetWriteStreamRequest) GetView() WriteStreamView {
+ if x != nil {
+ return x.View
+ }
+ return WriteStreamView_WRITE_STREAM_VIEW_UNSPECIFIED
+}
+
+// Request message for `BatchCommitWriteStreams`.
+type BatchCommitWriteStreamsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Parent table that all the streams should belong to, in the form
+ // of `projects/{project}/datasets/{dataset}/tables/{table}`.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Required. The group of streams that will be committed atomically.
+ WriteStreams []string `protobuf:"bytes,2,rep,name=write_streams,json=writeStreams,proto3" json:"write_streams,omitempty"`
+}
+
+func (x *BatchCommitWriteStreamsRequest) Reset() {
+ *x = BatchCommitWriteStreamsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BatchCommitWriteStreamsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BatchCommitWriteStreamsRequest) ProtoMessage() {}
+
+func (x *BatchCommitWriteStreamsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BatchCommitWriteStreamsRequest.ProtoReflect.Descriptor instead.
+func (*BatchCommitWriteStreamsRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{11}
+}
+
+func (x *BatchCommitWriteStreamsRequest) GetParent() string {
+ if x != nil {
+ return x.Parent
+ }
+ return ""
+}
+
+func (x *BatchCommitWriteStreamsRequest) GetWriteStreams() []string {
+ if x != nil {
+ return x.WriteStreams
+ }
+ return nil
+}
+
+// Response message for `BatchCommitWriteStreams`.
+type BatchCommitWriteStreamsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The time at which streams were committed in microseconds granularity.
+ // This field will only exist when there are no stream errors.
+ // **Note** if this field is not set, it means the commit was not successful.
+ CommitTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
+ // Stream level error if commit failed. Only streams with error will be in
+ // the list.
+ // If empty, there is no error and all streams are committed successfully.
+ // If non empty, certain streams have errors and ZERO stream is committed due
+ // to atomicity guarantee.
+ StreamErrors []*StorageError `protobuf:"bytes,2,rep,name=stream_errors,json=streamErrors,proto3" json:"stream_errors,omitempty"`
+}
+
+func (x *BatchCommitWriteStreamsResponse) Reset() {
+ *x = BatchCommitWriteStreamsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BatchCommitWriteStreamsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BatchCommitWriteStreamsResponse) ProtoMessage() {}
+
+func (x *BatchCommitWriteStreamsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BatchCommitWriteStreamsResponse.ProtoReflect.Descriptor instead.
+func (*BatchCommitWriteStreamsResponse) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{12}
+}
+
+func (x *BatchCommitWriteStreamsResponse) GetCommitTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CommitTime
+ }
+ return nil
+}
+
+func (x *BatchCommitWriteStreamsResponse) GetStreamErrors() []*StorageError {
+ if x != nil {
+ return x.StreamErrors
+ }
+ return nil
+}
+
+// Request message for invoking `FinalizeWriteStream`.
+type FinalizeWriteStreamRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of the stream to finalize, in the form of
+ // `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *FinalizeWriteStreamRequest) Reset() {
+ *x = FinalizeWriteStreamRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinalizeWriteStreamRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinalizeWriteStreamRequest) ProtoMessage() {}
+
+func (x *FinalizeWriteStreamRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinalizeWriteStreamRequest.ProtoReflect.Descriptor instead.
+func (*FinalizeWriteStreamRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *FinalizeWriteStreamRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+// Response message for `FinalizeWriteStream`.
+type FinalizeWriteStreamResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Number of rows in the finalized stream.
+ RowCount int64 `protobuf:"varint,1,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
+}
+
+func (x *FinalizeWriteStreamResponse) Reset() {
+ *x = FinalizeWriteStreamResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinalizeWriteStreamResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinalizeWriteStreamResponse) ProtoMessage() {}
+
+func (x *FinalizeWriteStreamResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinalizeWriteStreamResponse.ProtoReflect.Descriptor instead.
+func (*FinalizeWriteStreamResponse) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *FinalizeWriteStreamResponse) GetRowCount() int64 {
+ if x != nil {
+ return x.RowCount
+ }
+ return 0
+}
+
+// Request message for `FlushRows`.
+type FlushRowsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The stream that is the target of the flush operation.
+ WriteStream string `protobuf:"bytes,1,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
+ // Ending offset of the flush operation. Rows before this offset(including
+ // this offset) will be flushed.
+ Offset *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=offset,proto3" json:"offset,omitempty"`
+}
+
+func (x *FlushRowsRequest) Reset() {
+ *x = FlushRowsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlushRowsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlushRowsRequest) ProtoMessage() {}
+
+func (x *FlushRowsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlushRowsRequest.ProtoReflect.Descriptor instead.
+func (*FlushRowsRequest) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *FlushRowsRequest) GetWriteStream() string {
+ if x != nil {
+ return x.WriteStream
+ }
+ return ""
+}
+
+func (x *FlushRowsRequest) GetOffset() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Offset
+ }
+ return nil
+}
+
+// Respond message for `FlushRows`.
+type FlushRowsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The rows before this offset (including this offset) are flushed.
+ Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
+}
+
+func (x *FlushRowsResponse) Reset() {
+ *x = FlushRowsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlushRowsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlushRowsResponse) ProtoMessage() {}
+
+func (x *FlushRowsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlushRowsResponse.ProtoReflect.Descriptor instead.
+func (*FlushRowsResponse) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{16}
+}
+
+func (x *FlushRowsResponse) GetOffset() int64 {
+ if x != nil {
+ return x.Offset
+ }
+ return 0
+}
+
+// Structured custom BigQuery Storage error message. The error can be attached
+// as error details in the returned rpc Status. In particular, the use of error
+// codes allows more structured error handling, and reduces the need to evaluate
+// unstructured error text strings.
+type StorageError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // BigQuery Storage specific error code.
+ Code StorageError_StorageErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.bigquery.storage.v1.StorageError_StorageErrorCode" json:"code,omitempty"`
+ // Name of the failed entity.
+ Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
+ // Message that describes the error.
+ ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
+}
+
+func (x *StorageError) Reset() {
+ *x = StorageError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StorageError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StorageError) ProtoMessage() {}
+
+func (x *StorageError) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StorageError.ProtoReflect.Descriptor instead.
+func (*StorageError) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *StorageError) GetCode() StorageError_StorageErrorCode {
+ if x != nil {
+ return x.Code
+ }
+ return StorageError_STORAGE_ERROR_CODE_UNSPECIFIED
+}
+
+func (x *StorageError) GetEntity() string {
+ if x != nil {
+ return x.Entity
+ }
+ return ""
+}
+
+func (x *StorageError) GetErrorMessage() string {
+ if x != nil {
+ return x.ErrorMessage
+ }
+ return ""
+}
+
+// The message that presents row level error info in a request.
+type RowError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Index of the malformed row in the request.
+ Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
+ // Structured error reason for a row error.
+ Code RowError_RowErrorCode `protobuf:"varint,2,opt,name=code,proto3,enum=google.cloud.bigquery.storage.v1.RowError_RowErrorCode" json:"code,omitempty"`
+ // Description of the issue encountered when processing the row.
+ Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
+}
+
+func (x *RowError) Reset() {
+ *x = RowError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RowError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RowError) ProtoMessage() {}
+
+func (x *RowError) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RowError.ProtoReflect.Descriptor instead.
+func (*RowError) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *RowError) GetIndex() int64 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *RowError) GetCode() RowError_RowErrorCode {
+ if x != nil {
+ return x.Code
+ }
+ return RowError_ROW_ERROR_CODE_UNSPECIFIED
+}
+
+func (x *RowError) GetMessage() string {
+ if x != nil {
+ return x.Message
+ }
+ return ""
+}
+
+type StreamStats_Progress struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The fraction of rows assigned to the stream that have been processed by
+ // the server so far, not including the rows in the current response
+ // message.
+ //
+ // This value, along with `at_response_end`, can be used to interpolate
+ // the progress made as the rows in the message are being processed using
+ // the following formula: `at_response_start + (at_response_end -
+ // at_response_start) * rows_processed_from_response / rows_in_response`.
+ //
+ // Note that if a filter is provided, the `at_response_end` value of the
+ // previous response may not necessarily be equal to the
+ // `at_response_start` value of the current response.
+ AtResponseStart float64 `protobuf:"fixed64,1,opt,name=at_response_start,json=atResponseStart,proto3" json:"at_response_start,omitempty"`
+ // Similar to `at_response_start`, except that this value includes the
+ // rows in the current response.
+ AtResponseEnd float64 `protobuf:"fixed64,2,opt,name=at_response_end,json=atResponseEnd,proto3" json:"at_response_end,omitempty"`
+}
+
+func (x *StreamStats_Progress) Reset() {
+ *x = StreamStats_Progress{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StreamStats_Progress) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StreamStats_Progress) ProtoMessage() {}
+
+func (x *StreamStats_Progress) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StreamStats_Progress.ProtoReflect.Descriptor instead.
+func (*StreamStats_Progress) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{3, 0}
+}
+
+func (x *StreamStats_Progress) GetAtResponseStart() float64 {
+ if x != nil {
+ return x.AtResponseStart
+ }
+ return 0
+}
+
+func (x *StreamStats_Progress) GetAtResponseEnd() float64 {
+ if x != nil {
+ return x.AtResponseEnd
+ }
+ return 0
+}
+
+// ProtoData contains the data rows and schema when constructing append
+// requests.
+type AppendRowsRequest_ProtoData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The protocol buffer schema used to serialize the data. Provide this value
+ // whenever:
+ //
+ // * You send the first request of an RPC connection.
+ //
+ // * You change the input schema.
+ //
+ // * You specify a new destination table.
+ WriterSchema *ProtoSchema `protobuf:"bytes,1,opt,name=writer_schema,json=writerSchema,proto3" json:"writer_schema,omitempty"`
+ // Serialized row data in protobuf message format.
+ // Currently, the backend expects the serialized rows to adhere to
+ // proto2 semantics when appending rows, particularly with respect to
+ // how default values are encoded.
+ Rows *ProtoRows `protobuf:"bytes,2,opt,name=rows,proto3" json:"rows,omitempty"`
+}
+
+func (x *AppendRowsRequest_ProtoData) Reset() {
+ *x = AppendRowsRequest_ProtoData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AppendRowsRequest_ProtoData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppendRowsRequest_ProtoData) ProtoMessage() {}
+
+func (x *AppendRowsRequest_ProtoData) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AppendRowsRequest_ProtoData.ProtoReflect.Descriptor instead.
+func (*AppendRowsRequest_ProtoData) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{8, 0}
+}
+
+func (x *AppendRowsRequest_ProtoData) GetWriterSchema() *ProtoSchema {
+ if x != nil {
+ return x.WriterSchema
+ }
+ return nil
+}
+
+func (x *AppendRowsRequest_ProtoData) GetRows() *ProtoRows {
+ if x != nil {
+ return x.Rows
+ }
+ return nil
+}
+
+// AppendResult is returned for successful append requests.
+type AppendRowsResponse_AppendResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The row offset at which the last append occurred. The offset will not be
+ // set if appending using default streams.
+ Offset *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=offset,proto3" json:"offset,omitempty"`
+}
+
+func (x *AppendRowsResponse_AppendResult) Reset() {
+ *x = AppendRowsResponse_AppendResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AppendRowsResponse_AppendResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppendRowsResponse_AppendResult) ProtoMessage() {}
+
+func (x *AppendRowsResponse_AppendResult) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AppendRowsResponse_AppendResult.ProtoReflect.Descriptor instead.
+func (*AppendRowsResponse_AppendResult) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{9, 0}
+}
+
+func (x *AppendRowsResponse_AppendResult) GetOffset() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Offset
+ }
+ return nil
+}
+
+var File_google_cloud_bigquery_storage_v1_storage_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
+ 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x76, 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
+ 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
+ 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63,
+ 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64,
+ 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x65,
+ 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78,
+ 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
+ 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72,
+ 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x22, 0x7d, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b,
+ 0x0a, 0x29, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0a, 0x72, 0x65, 0x61,
+ 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22,
+ 0x3a, 0x0a, 0x0d, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f,
+ 0x74, 0x74, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x0b,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x1a,
+ 0x5e, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61,
+ 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x74, 0x5f, 0x72, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01,
+ 0x52, 0x0d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x64, 0x22,
+ 0x97, 0x05, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x72, 0x6f, 0x77,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x52,
+ 0x6f, 0x77, 0x73, 0x48, 0x00, 0x52, 0x08, 0x61, 0x76, 0x72, 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x12,
+ 0x62, 0x0a, 0x12, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
+ 0x72, 0x72, 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x48,
+ 0x00, 0x52, 0x10, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61,
+ 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05,
+ 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d,
+ 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a,
+ 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x12, 0x57, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72,
+ 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52,
+ 0x0b, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3e, 0x0a, 0x16,
+ 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
+ 0x01, 0x48, 0x02, 0x52, 0x14, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65,
+ 0x64, 0x42, 0x79, 0x74, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04,
+ 0x72, 0x6f, 0x77, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x19,
+ 0x0a, 0x17, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f,
+ 0x62, 0x79, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x7b, 0x0a, 0x16, 0x53, 0x70, 0x6c,
+ 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x53, 0x70, 0x6c, 0x69, 0x74,
+ 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
+ 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x57, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
+ 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
+ 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0,
+ 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0c,
+ 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x22, 0x97, 0x08, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f,
+ 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x77, 0x72, 0x69,
+ 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
+ 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x12, 0x33, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f,
+ 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x72,
+ 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70,
+ 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64,
+ 0x12, 0x98, 0x01, 0x0a, 0x1d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65,
+ 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69,
+ 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70,
+ 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x24,
+ 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70,
+ 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
+ 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
+ 0x21, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x1a, 0xa0, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x52, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x52,
+ 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x9e, 0x01, 0x0a, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
+ 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x1a, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f,
+ 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 0x45, 0x54, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
+ 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45,
+ 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x41,
+ 0x4c, 0x55, 0x45, 0x10, 0x02, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0xbf, 0x03,
+ 0x0a, 0x12, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
+ 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00,
+ 0x52, 0x0c, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a,
+ 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x12, 0x49, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72,
+ 0x52, 0x09, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x77,
+ 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x43,
+ 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33,
+ 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x66, 0x66,
+ 0x73, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0xa6, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a,
+ 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x45, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x69,
+ 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x89, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74,
+ 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02,
+ 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0c, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x64, 0x0a, 0x1a, 0x46, 0x69,
+ 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a,
+ 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x22, 0x3a, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74,
+ 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a,
+ 0x10, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a,
+ 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x77, 0x72, 0x69,
+ 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x33, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x2b, 0x0a,
+ 0x11, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xc0, 0x04, 0x0a, 0x0c, 0x53,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x04, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9d, 0x03,
+ 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
+ 0x64, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53,
+ 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x43, 0x4f,
+ 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52,
+ 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12,
+ 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41,
+ 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x56, 0x41,
+ 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x49, 0x4e,
+ 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x43, 0x48, 0x45,
+ 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x58, 0x54, 0x52,
+ 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x53, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x46,
+ 0x46, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49,
+ 0x53, 0x54, 0x53, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x5f,
+ 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x09, 0x12, 0x15,
+ 0x0a, 0x11, 0x43, 0x4d, 0x45, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49,
+ 0x44, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
+ 0x5f, 0x43, 0x4d, 0x45, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x0b,
+ 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4d, 0x45, 0x4b, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x4b,
+ 0x4d, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x4b, 0x4d, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53,
+ 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x0e, 0x22, 0xc9, 0x01,
+ 0x0a, 0x08, 0x52, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x4b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x40, 0x0a, 0x0c, 0x52, 0x6f, 0x77, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x57, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
+ 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x45, 0x4c, 0x44,
+ 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x32, 0x92, 0x06, 0x0a, 0x0c, 0x42, 0x69,
+ 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x12, 0xe9, 0x01, 0x0a, 0x11, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
+ 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
+ 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0xda, 0x41, 0x24,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x01, 0x2a, 0x22, 0x37, 0x2f,
+ 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
+ 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x52,
+ 0x6f, 0x77, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f,
+ 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0xda, 0x41, 0x12, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
+ 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x30, 0x01, 0x12, 0xc6, 0x01, 0x0a, 0x0f, 0x53, 0x70, 0x6c,
+ 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
+ 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52,
+ 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
+ 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a,
+ 0x7d, 0x1a, 0x7b, 0xca, 0x41, 0x1e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x57, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
+ 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2c,
+ 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xbc,
+ 0x0b, 0x0a, 0x0d, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x12, 0xd7, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x22, 0x57, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x72, 0x69,
+ 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a,
+ 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x2b, 0x2f,
+ 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a,
+ 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x0a, 0x41,
+ 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70,
+ 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b,
+ 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
+ 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a,
+ 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x28, 0x01, 0x30, 0x01, 0x12,
+ 0xbf, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x76,
+ 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
+ 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a,
+ 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72,
+ 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e,
+ 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c,
+ 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82,
+ 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64,
+ 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
+ 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 0x01,
+ 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69,
+ 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74,
+ 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
+ 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c,
+ 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12,
+ 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73,
+ 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcb, 0x01, 0x0a,
+ 0x09, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c,
+ 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, 0x2f,
+ 0x76, 0x31, 0x2f, 0x7b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61,
+ 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f,
+ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0xb0, 0x01, 0xca, 0x41, 0x1e,
+ 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
+ 0x8b, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
+ 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73,
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x68,
+ 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x94, 0x02,
+ 0xea, 0x41, 0x55, 0x0a, 0x1d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f,
+ 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
+ 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x7d, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0c,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02,
+ 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69,
+ 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56,
+ 0x31, 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64,
+ 0x5c, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_cloud_bigquery_storage_v1_storage_proto_rawDescOnce sync.Once
+ file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData = file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc
+)
+
+func file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP() []byte {
+ file_google_cloud_bigquery_storage_v1_storage_proto_rawDescOnce.Do(func() {
+ file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData)
+ })
+ return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData
+}
+
+var file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
+var file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
+var file_google_cloud_bigquery_storage_v1_storage_proto_goTypes = []interface{}{
+ (AppendRowsRequest_MissingValueInterpretation)(0), // 0: google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation
+ (StorageError_StorageErrorCode)(0), // 1: google.cloud.bigquery.storage.v1.StorageError.StorageErrorCode
+ (RowError_RowErrorCode)(0), // 2: google.cloud.bigquery.storage.v1.RowError.RowErrorCode
+ (*CreateReadSessionRequest)(nil), // 3: google.cloud.bigquery.storage.v1.CreateReadSessionRequest
+ (*ReadRowsRequest)(nil), // 4: google.cloud.bigquery.storage.v1.ReadRowsRequest
+ (*ThrottleState)(nil), // 5: google.cloud.bigquery.storage.v1.ThrottleState
+ (*StreamStats)(nil), // 6: google.cloud.bigquery.storage.v1.StreamStats
+ (*ReadRowsResponse)(nil), // 7: google.cloud.bigquery.storage.v1.ReadRowsResponse
+ (*SplitReadStreamRequest)(nil), // 8: google.cloud.bigquery.storage.v1.SplitReadStreamRequest
+ (*SplitReadStreamResponse)(nil), // 9: google.cloud.bigquery.storage.v1.SplitReadStreamResponse
+ (*CreateWriteStreamRequest)(nil), // 10: google.cloud.bigquery.storage.v1.CreateWriteStreamRequest
+ (*AppendRowsRequest)(nil), // 11: google.cloud.bigquery.storage.v1.AppendRowsRequest
+ (*AppendRowsResponse)(nil), // 12: google.cloud.bigquery.storage.v1.AppendRowsResponse
+ (*GetWriteStreamRequest)(nil), // 13: google.cloud.bigquery.storage.v1.GetWriteStreamRequest
+ (*BatchCommitWriteStreamsRequest)(nil), // 14: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest
+ (*BatchCommitWriteStreamsResponse)(nil), // 15: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse
+ (*FinalizeWriteStreamRequest)(nil), // 16: google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest
+ (*FinalizeWriteStreamResponse)(nil), // 17: google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse
+ (*FlushRowsRequest)(nil), // 18: google.cloud.bigquery.storage.v1.FlushRowsRequest
+ (*FlushRowsResponse)(nil), // 19: google.cloud.bigquery.storage.v1.FlushRowsResponse
+ (*StorageError)(nil), // 20: google.cloud.bigquery.storage.v1.StorageError
+ (*RowError)(nil), // 21: google.cloud.bigquery.storage.v1.RowError
+ (*StreamStats_Progress)(nil), // 22: google.cloud.bigquery.storage.v1.StreamStats.Progress
+ (*AppendRowsRequest_ProtoData)(nil), // 23: google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData
+ nil, // 24: google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretationsEntry
+ (*AppendRowsResponse_AppendResult)(nil), // 25: google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult
+ (*ReadSession)(nil), // 26: google.cloud.bigquery.storage.v1.ReadSession
+ (*AvroRows)(nil), // 27: google.cloud.bigquery.storage.v1.AvroRows
+ (*ArrowRecordBatch)(nil), // 28: google.cloud.bigquery.storage.v1.ArrowRecordBatch
+ (*AvroSchema)(nil), // 29: google.cloud.bigquery.storage.v1.AvroSchema
+ (*ArrowSchema)(nil), // 30: google.cloud.bigquery.storage.v1.ArrowSchema
+ (*ReadStream)(nil), // 31: google.cloud.bigquery.storage.v1.ReadStream
+ (*WriteStream)(nil), // 32: google.cloud.bigquery.storage.v1.WriteStream
+ (*wrapperspb.Int64Value)(nil), // 33: google.protobuf.Int64Value
+ (*status.Status)(nil), // 34: google.rpc.Status
+ (*TableSchema)(nil), // 35: google.cloud.bigquery.storage.v1.TableSchema
+ (WriteStreamView)(0), // 36: google.cloud.bigquery.storage.v1.WriteStreamView
+ (*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp
+ (*ProtoSchema)(nil), // 38: google.cloud.bigquery.storage.v1.ProtoSchema
+ (*ProtoRows)(nil), // 39: google.cloud.bigquery.storage.v1.ProtoRows
+}
+var file_google_cloud_bigquery_storage_v1_storage_proto_depIdxs = []int32{
+ 26, // 0: google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session:type_name -> google.cloud.bigquery.storage.v1.ReadSession
+ 22, // 1: google.cloud.bigquery.storage.v1.StreamStats.progress:type_name -> google.cloud.bigquery.storage.v1.StreamStats.Progress
+ 27, // 2: google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows:type_name -> google.cloud.bigquery.storage.v1.AvroRows
+ 28, // 3: google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch:type_name -> google.cloud.bigquery.storage.v1.ArrowRecordBatch
+ 6, // 4: google.cloud.bigquery.storage.v1.ReadRowsResponse.stats:type_name -> google.cloud.bigquery.storage.v1.StreamStats
+ 5, // 5: google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state:type_name -> google.cloud.bigquery.storage.v1.ThrottleState
+ 29, // 6: google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema:type_name -> google.cloud.bigquery.storage.v1.AvroSchema
+ 30, // 7: google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema:type_name -> google.cloud.bigquery.storage.v1.ArrowSchema
+ 31, // 8: google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream:type_name -> google.cloud.bigquery.storage.v1.ReadStream
+ 31, // 9: google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream:type_name -> google.cloud.bigquery.storage.v1.ReadStream
+ 32, // 10: google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream:type_name -> google.cloud.bigquery.storage.v1.WriteStream
+ 33, // 11: google.cloud.bigquery.storage.v1.AppendRowsRequest.offset:type_name -> google.protobuf.Int64Value
+ 23, // 12: google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData
+ 24, // 13: google.cloud.bigquery.storage.v1.AppendRowsRequest.missing_value_interpretations:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretationsEntry
+ 0, // 14: google.cloud.bigquery.storage.v1.AppendRowsRequest.default_missing_value_interpretation:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation
+ 25, // 15: google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result:type_name -> google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult
+ 34, // 16: google.cloud.bigquery.storage.v1.AppendRowsResponse.error:type_name -> google.rpc.Status
+ 35, // 17: google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema:type_name -> google.cloud.bigquery.storage.v1.TableSchema
+ 21, // 18: google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors:type_name -> google.cloud.bigquery.storage.v1.RowError
+ 36, // 19: google.cloud.bigquery.storage.v1.GetWriteStreamRequest.view:type_name -> google.cloud.bigquery.storage.v1.WriteStreamView
+ 37, // 20: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time:type_name -> google.protobuf.Timestamp
+ 20, // 21: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors:type_name -> google.cloud.bigquery.storage.v1.StorageError
+ 33, // 22: google.cloud.bigquery.storage.v1.FlushRowsRequest.offset:type_name -> google.protobuf.Int64Value
+ 1, // 23: google.cloud.bigquery.storage.v1.StorageError.code:type_name -> google.cloud.bigquery.storage.v1.StorageError.StorageErrorCode
+ 2, // 24: google.cloud.bigquery.storage.v1.RowError.code:type_name -> google.cloud.bigquery.storage.v1.RowError.RowErrorCode
+ 38, // 25: google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema:type_name -> google.cloud.bigquery.storage.v1.ProtoSchema
+ 39, // 26: google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows:type_name -> google.cloud.bigquery.storage.v1.ProtoRows
+ 0, // 27: google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretationsEntry.value:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation
+ 33, // 28: google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset:type_name -> google.protobuf.Int64Value
+ 3, // 29: google.cloud.bigquery.storage.v1.BigQueryRead.CreateReadSession:input_type -> google.cloud.bigquery.storage.v1.CreateReadSessionRequest
+ 4, // 30: google.cloud.bigquery.storage.v1.BigQueryRead.ReadRows:input_type -> google.cloud.bigquery.storage.v1.ReadRowsRequest
+ 8, // 31: google.cloud.bigquery.storage.v1.BigQueryRead.SplitReadStream:input_type -> google.cloud.bigquery.storage.v1.SplitReadStreamRequest
+ 10, // 32: google.cloud.bigquery.storage.v1.BigQueryWrite.CreateWriteStream:input_type -> google.cloud.bigquery.storage.v1.CreateWriteStreamRequest
+ 11, // 33: google.cloud.bigquery.storage.v1.BigQueryWrite.AppendRows:input_type -> google.cloud.bigquery.storage.v1.AppendRowsRequest
+ 13, // 34: google.cloud.bigquery.storage.v1.BigQueryWrite.GetWriteStream:input_type -> google.cloud.bigquery.storage.v1.GetWriteStreamRequest
+ 16, // 35: google.cloud.bigquery.storage.v1.BigQueryWrite.FinalizeWriteStream:input_type -> google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest
+ 14, // 36: google.cloud.bigquery.storage.v1.BigQueryWrite.BatchCommitWriteStreams:input_type -> google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest
+ 18, // 37: google.cloud.bigquery.storage.v1.BigQueryWrite.FlushRows:input_type -> google.cloud.bigquery.storage.v1.FlushRowsRequest
+ 26, // 38: google.cloud.bigquery.storage.v1.BigQueryRead.CreateReadSession:output_type -> google.cloud.bigquery.storage.v1.ReadSession
+ 7, // 39: google.cloud.bigquery.storage.v1.BigQueryRead.ReadRows:output_type -> google.cloud.bigquery.storage.v1.ReadRowsResponse
+ 9, // 40: google.cloud.bigquery.storage.v1.BigQueryRead.SplitReadStream:output_type -> google.cloud.bigquery.storage.v1.SplitReadStreamResponse
+ 32, // 41: google.cloud.bigquery.storage.v1.BigQueryWrite.CreateWriteStream:output_type -> google.cloud.bigquery.storage.v1.WriteStream
+ 12, // 42: google.cloud.bigquery.storage.v1.BigQueryWrite.AppendRows:output_type -> google.cloud.bigquery.storage.v1.AppendRowsResponse
+ 32, // 43: google.cloud.bigquery.storage.v1.BigQueryWrite.GetWriteStream:output_type -> google.cloud.bigquery.storage.v1.WriteStream
+ 17, // 44: google.cloud.bigquery.storage.v1.BigQueryWrite.FinalizeWriteStream:output_type -> google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse
+ 15, // 45: google.cloud.bigquery.storage.v1.BigQueryWrite.BatchCommitWriteStreams:output_type -> google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse
+ 19, // 46: google.cloud.bigquery.storage.v1.BigQueryWrite.FlushRows:output_type -> google.cloud.bigquery.storage.v1.FlushRowsResponse
+ 38, // [38:47] is the sub-list for method output_type
+ 29, // [29:38] is the sub-list for method input_type
+ 29, // [29:29] is the sub-list for extension type_name
+ 29, // [29:29] is the sub-list for extension extendee
+ 0, // [0:29] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_storage_proto_init() }
+func file_google_cloud_bigquery_storage_v1_storage_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_storage_proto != nil {
+ return
+ }
+ file_google_cloud_bigquery_storage_v1_arrow_proto_init()
+ file_google_cloud_bigquery_storage_v1_avro_proto_init()
+ file_google_cloud_bigquery_storage_v1_protobuf_proto_init()
+ file_google_cloud_bigquery_storage_v1_stream_proto_init()
+ file_google_cloud_bigquery_storage_v1_table_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateReadSessionRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadRowsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ThrottleState); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StreamStats); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadRowsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SplitReadStreamRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SplitReadStreamResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateWriteStreamRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AppendRowsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AppendRowsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetWriteStreamRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BatchCommitWriteStreamsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BatchCommitWriteStreamsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinalizeWriteStreamRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinalizeWriteStreamResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlushRowsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlushRowsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StorageError); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RowError); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StreamStats_Progress); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AppendRowsRequest_ProtoData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AppendRowsResponse_AppendResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4].OneofWrappers = []interface{}{
+ (*ReadRowsResponse_AvroRows)(nil),
+ (*ReadRowsResponse_ArrowRecordBatch)(nil),
+ (*ReadRowsResponse_AvroSchema)(nil),
+ (*ReadRowsResponse_ArrowSchema)(nil),
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8].OneofWrappers = []interface{}{
+ (*AppendRowsRequest_ProtoRows)(nil),
+ }
+ file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9].OneofWrappers = []interface{}{
+ (*AppendRowsResponse_AppendResult_)(nil),
+ (*AppendRowsResponse_Error)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc,
+ NumEnums: 3,
+ NumMessages: 23,
+ NumExtensions: 0,
+ NumServices: 2,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_storage_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_storage_proto_depIdxs,
+ EnumInfos: file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes,
+ MessageInfos: file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_storage_proto = out.File
+ file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_storage_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_storage_proto_depIdxs = nil
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// BigQueryReadClient is the client API for BigQueryRead service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type BigQueryReadClient interface {
+ // Creates a new read session. A read session divides the contents of a
+ // BigQuery table into one or more streams, which can then be used to read
+ // data from the table. The read session also specifies properties of the
+ // data to be read, such as a list of columns or a push-down filter describing
+ // the rows to be returned.
+ //
+ // A particular row can be read by at most one stream. When the caller has
+ // reached the end of each stream in the session, then all the data in the
+ // table has been read.
+ //
+ // Data is assigned to each stream such that roughly the same number of
+ // rows can be read from each stream. Because the server-side unit for
+ // assigning data is collections of rows, the API does not guarantee that
+ // each stream will return the same number or rows. Additionally, the
+ // limits are enforced based on the number of pre-filtered rows, so some
+ // filters can lead to lopsided assignments.
+ //
+ // Read sessions automatically expire 6 hours after they are created and do
+ // not require manual clean-up by the caller.
+ CreateReadSession(ctx context.Context, in *CreateReadSessionRequest, opts ...grpc.CallOption) (*ReadSession, error)
+ // Reads rows from the stream in the format prescribed by the ReadSession.
+ // Each response contains one or more table rows, up to a maximum of 100 MiB
+ // per response; read requests which attempt to read individual rows larger
+ // than 100 MiB will fail.
+ //
+ // Each request also returns a set of stream statistics reflecting the current
+ // state of the stream.
+ ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (BigQueryRead_ReadRowsClient, error)
+ // Splits a given `ReadStream` into two `ReadStream` objects. These
+ // `ReadStream` objects are referred to as the primary and the residual
+ // streams of the split. The original `ReadStream` can still be read from in
+ // the same manner as before. Both of the returned `ReadStream` objects can
+ // also be read from, and the rows returned by both child streams will be
+ // the same as the rows read from the original stream.
+ //
+ // Moreover, the two child streams will be allocated back-to-back in the
+ // original `ReadStream`. Concretely, it is guaranteed that for streams
+ // original, primary, and residual, that original[0-j] = primary[0-j] and
+ // original[j-n] = residual[0-m] once the streams have been read to
+ // completion.
+ SplitReadStream(ctx context.Context, in *SplitReadStreamRequest, opts ...grpc.CallOption) (*SplitReadStreamResponse, error)
+}
+
+type bigQueryReadClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewBigQueryReadClient(cc grpc.ClientConnInterface) BigQueryReadClient {
+ return &bigQueryReadClient{cc}
+}
+
+func (c *bigQueryReadClient) CreateReadSession(ctx context.Context, in *CreateReadSessionRequest, opts ...grpc.CallOption) (*ReadSession, error) {
+ out := new(ReadSession)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryRead/CreateReadSession", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bigQueryReadClient) ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (BigQueryRead_ReadRowsClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_BigQueryRead_serviceDesc.Streams[0], "/google.cloud.bigquery.storage.v1.BigQueryRead/ReadRows", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &bigQueryReadReadRowsClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type BigQueryRead_ReadRowsClient interface {
+ Recv() (*ReadRowsResponse, error)
+ grpc.ClientStream
+}
+
+type bigQueryReadReadRowsClient struct {
+ grpc.ClientStream
+}
+
+func (x *bigQueryReadReadRowsClient) Recv() (*ReadRowsResponse, error) {
+ m := new(ReadRowsResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *bigQueryReadClient) SplitReadStream(ctx context.Context, in *SplitReadStreamRequest, opts ...grpc.CallOption) (*SplitReadStreamResponse, error) {
+ out := new(SplitReadStreamResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryRead/SplitReadStream", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// BigQueryReadServer is the server API for BigQueryRead service.
+type BigQueryReadServer interface {
+ // Creates a new read session. A read session divides the contents of a
+ // BigQuery table into one or more streams, which can then be used to read
+ // data from the table. The read session also specifies properties of the
+ // data to be read, such as a list of columns or a push-down filter describing
+ // the rows to be returned.
+ //
+ // A particular row can be read by at most one stream. When the caller has
+ // reached the end of each stream in the session, then all the data in the
+ // table has been read.
+ //
+ // Data is assigned to each stream such that roughly the same number of
+ // rows can be read from each stream. Because the server-side unit for
+ // assigning data is collections of rows, the API does not guarantee that
+ // each stream will return the same number or rows. Additionally, the
+ // limits are enforced based on the number of pre-filtered rows, so some
+ // filters can lead to lopsided assignments.
+ //
+ // Read sessions automatically expire 6 hours after they are created and do
+ // not require manual clean-up by the caller.
+ CreateReadSession(context.Context, *CreateReadSessionRequest) (*ReadSession, error)
+ // Reads rows from the stream in the format prescribed by the ReadSession.
+ // Each response contains one or more table rows, up to a maximum of 100 MiB
+ // per response; read requests which attempt to read individual rows larger
+ // than 100 MiB will fail.
+ //
+ // Each request also returns a set of stream statistics reflecting the current
+ // state of the stream.
+ ReadRows(*ReadRowsRequest, BigQueryRead_ReadRowsServer) error
+ // Splits a given `ReadStream` into two `ReadStream` objects. These
+ // `ReadStream` objects are referred to as the primary and the residual
+ // streams of the split. The original `ReadStream` can still be read from in
+ // the same manner as before. Both of the returned `ReadStream` objects can
+ // also be read from, and the rows returned by both child streams will be
+ // the same as the rows read from the original stream.
+ //
+ // Moreover, the two child streams will be allocated back-to-back in the
+ // original `ReadStream`. Concretely, it is guaranteed that for streams
+ // original, primary, and residual, that original[0-j] = primary[0-j] and
+ // original[j-n] = residual[0-m] once the streams have been read to
+ // completion.
+ SplitReadStream(context.Context, *SplitReadStreamRequest) (*SplitReadStreamResponse, error)
+}
+
+// UnimplementedBigQueryReadServer can be embedded to have forward compatible implementations.
+type UnimplementedBigQueryReadServer struct {
+}
+
+func (*UnimplementedBigQueryReadServer) CreateReadSession(context.Context, *CreateReadSessionRequest) (*ReadSession, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method CreateReadSession not implemented")
+}
+func (*UnimplementedBigQueryReadServer) ReadRows(*ReadRowsRequest, BigQueryRead_ReadRowsServer) error {
+ return status1.Errorf(codes.Unimplemented, "method ReadRows not implemented")
+}
+func (*UnimplementedBigQueryReadServer) SplitReadStream(context.Context, *SplitReadStreamRequest) (*SplitReadStreamResponse, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method SplitReadStream not implemented")
+}
+
+func RegisterBigQueryReadServer(s *grpc.Server, srv BigQueryReadServer) {
+ s.RegisterService(&_BigQueryRead_serviceDesc, srv)
+}
+
+func _BigQueryRead_CreateReadSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateReadSessionRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryReadServer).CreateReadSession(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryRead/CreateReadSession",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryReadServer).CreateReadSession(ctx, req.(*CreateReadSessionRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BigQueryRead_ReadRows_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(ReadRowsRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(BigQueryReadServer).ReadRows(m, &bigQueryReadReadRowsServer{stream})
+}
+
+type BigQueryRead_ReadRowsServer interface {
+ Send(*ReadRowsResponse) error
+ grpc.ServerStream
+}
+
+type bigQueryReadReadRowsServer struct {
+ grpc.ServerStream
+}
+
+func (x *bigQueryReadReadRowsServer) Send(m *ReadRowsResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _BigQueryRead_SplitReadStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(SplitReadStreamRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryReadServer).SplitReadStream(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryRead/SplitReadStream",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryReadServer).SplitReadStream(ctx, req.(*SplitReadStreamRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _BigQueryRead_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "google.cloud.bigquery.storage.v1.BigQueryRead",
+ HandlerType: (*BigQueryReadServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "CreateReadSession",
+ Handler: _BigQueryRead_CreateReadSession_Handler,
+ },
+ {
+ MethodName: "SplitReadStream",
+ Handler: _BigQueryRead_SplitReadStream_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "ReadRows",
+ Handler: _BigQueryRead_ReadRows_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "google/cloud/bigquery/storage/v1/storage.proto",
+}
+
+// BigQueryWriteClient is the client API for BigQueryWrite service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type BigQueryWriteClient interface {
+ // Creates a write stream to the given table.
+ // Additionally, every table has a special stream named '_default'
+ // to which data can be written. This stream doesn't need to be created using
+ // CreateWriteStream. It is a stream that can be used simultaneously by any
+ // number of clients. Data written to this stream is considered committed as
+ // soon as an acknowledgement is received.
+ CreateWriteStream(ctx context.Context, in *CreateWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error)
+ // Appends data to the given stream.
+ //
+ // If `offset` is specified, the `offset` is checked against the end of
+ // stream. The server returns `OUT_OF_RANGE` in `AppendRowsResponse` if an
+ // attempt is made to append to an offset beyond the current end of the stream
+ // or `ALREADY_EXISTS` if user provides an `offset` that has already been
+ // written to. User can retry with adjusted offset within the same RPC
+ // connection. If `offset` is not specified, append happens at the end of the
+ // stream.
+ //
+ // The response contains an optional offset at which the append
+ // happened. No offset information will be returned for appends to a
+ // default stream.
+ //
+ // Responses are received in the same order in which requests are sent.
+ // There will be one response for each successful inserted request. Responses
+ // may optionally embed error information if the originating AppendRequest was
+ // not successfully processed.
+ //
+ // The specifics of when successfully appended data is made visible to the
+ // table are governed by the type of stream:
+ //
+ // * For COMMITTED streams (which includes the default stream), data is
+ // visible immediately upon successful append.
+ //
+ // * For BUFFERED streams, data is made visible via a subsequent `FlushRows`
+ // rpc which advances a cursor to a newer offset in the stream.
+ //
+ // * For PENDING streams, data is not made visible until the stream itself is
+ // finalized (via the `FinalizeWriteStream` rpc), and the stream is explicitly
+ // committed via the `BatchCommitWriteStreams` rpc.
+ AppendRows(ctx context.Context, opts ...grpc.CallOption) (BigQueryWrite_AppendRowsClient, error)
+ // Gets information about a write stream.
+ GetWriteStream(ctx context.Context, in *GetWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error)
+ // Finalize a write stream so that no new data can be appended to the
+ // stream. Finalize is not supported on the '_default' stream.
+ FinalizeWriteStream(ctx context.Context, in *FinalizeWriteStreamRequest, opts ...grpc.CallOption) (*FinalizeWriteStreamResponse, error)
+ // Atomically commits a group of `PENDING` streams that belong to the same
+ // `parent` table.
+ //
+ // Streams must be finalized before commit and cannot be committed multiple
+ // times. Once a stream is committed, data in the stream becomes available
+ // for read operations.
+ BatchCommitWriteStreams(ctx context.Context, in *BatchCommitWriteStreamsRequest, opts ...grpc.CallOption) (*BatchCommitWriteStreamsResponse, error)
+ // Flushes rows to a BUFFERED stream.
+ //
+ // If users are appending rows to BUFFERED stream, flush operation is
+ // required in order for the rows to become available for reading. A
+ // Flush operation flushes up to any previously flushed offset in a BUFFERED
+ // stream, to the offset specified in the request.
+ //
+ // Flush is not supported on the _default stream, since it is not BUFFERED.
+ FlushRows(ctx context.Context, in *FlushRowsRequest, opts ...grpc.CallOption) (*FlushRowsResponse, error)
+}
+
+type bigQueryWriteClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewBigQueryWriteClient(cc grpc.ClientConnInterface) BigQueryWriteClient {
+ return &bigQueryWriteClient{cc}
+}
+
+func (c *bigQueryWriteClient) CreateWriteStream(ctx context.Context, in *CreateWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error) {
+ out := new(WriteStream)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/CreateWriteStream", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bigQueryWriteClient) AppendRows(ctx context.Context, opts ...grpc.CallOption) (BigQueryWrite_AppendRowsClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_BigQueryWrite_serviceDesc.Streams[0], "/google.cloud.bigquery.storage.v1.BigQueryWrite/AppendRows", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &bigQueryWriteAppendRowsClient{stream}
+ return x, nil
+}
+
+type BigQueryWrite_AppendRowsClient interface {
+ Send(*AppendRowsRequest) error
+ Recv() (*AppendRowsResponse, error)
+ grpc.ClientStream
+}
+
+type bigQueryWriteAppendRowsClient struct {
+ grpc.ClientStream
+}
+
+func (x *bigQueryWriteAppendRowsClient) Send(m *AppendRowsRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *bigQueryWriteAppendRowsClient) Recv() (*AppendRowsResponse, error) {
+ m := new(AppendRowsResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *bigQueryWriteClient) GetWriteStream(ctx context.Context, in *GetWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error) {
+ out := new(WriteStream)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/GetWriteStream", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bigQueryWriteClient) FinalizeWriteStream(ctx context.Context, in *FinalizeWriteStreamRequest, opts ...grpc.CallOption) (*FinalizeWriteStreamResponse, error) {
+ out := new(FinalizeWriteStreamResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/FinalizeWriteStream", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bigQueryWriteClient) BatchCommitWriteStreams(ctx context.Context, in *BatchCommitWriteStreamsRequest, opts ...grpc.CallOption) (*BatchCommitWriteStreamsResponse, error) {
+ out := new(BatchCommitWriteStreamsResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/BatchCommitWriteStreams", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bigQueryWriteClient) FlushRows(ctx context.Context, in *FlushRowsRequest, opts ...grpc.CallOption) (*FlushRowsResponse, error) {
+ out := new(FlushRowsResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/FlushRows", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// BigQueryWriteServer is the server API for BigQueryWrite service.
+type BigQueryWriteServer interface {
+ // Creates a write stream to the given table.
+ // Additionally, every table has a special stream named '_default'
+ // to which data can be written. This stream doesn't need to be created using
+ // CreateWriteStream. It is a stream that can be used simultaneously by any
+ // number of clients. Data written to this stream is considered committed as
+ // soon as an acknowledgement is received.
+ CreateWriteStream(context.Context, *CreateWriteStreamRequest) (*WriteStream, error)
+ // Appends data to the given stream.
+ //
+ // If `offset` is specified, the `offset` is checked against the end of
+ // stream. The server returns `OUT_OF_RANGE` in `AppendRowsResponse` if an
+ // attempt is made to append to an offset beyond the current end of the stream
+ // or `ALREADY_EXISTS` if user provides an `offset` that has already been
+ // written to. User can retry with adjusted offset within the same RPC
+ // connection. If `offset` is not specified, append happens at the end of the
+ // stream.
+ //
+ // The response contains an optional offset at which the append
+ // happened. No offset information will be returned for appends to a
+ // default stream.
+ //
+ // Responses are received in the same order in which requests are sent.
+ // There will be one response for each successful inserted request. Responses
+ // may optionally embed error information if the originating AppendRequest was
+ // not successfully processed.
+ //
+ // The specifics of when successfully appended data is made visible to the
+ // table are governed by the type of stream:
+ //
+ // * For COMMITTED streams (which includes the default stream), data is
+ // visible immediately upon successful append.
+ //
+ // * For BUFFERED streams, data is made visible via a subsequent `FlushRows`
+ // rpc which advances a cursor to a newer offset in the stream.
+ //
+ // * For PENDING streams, data is not made visible until the stream itself is
+ // finalized (via the `FinalizeWriteStream` rpc), and the stream is explicitly
+ // committed via the `BatchCommitWriteStreams` rpc.
+ AppendRows(BigQueryWrite_AppendRowsServer) error
+ // Gets information about a write stream.
+ GetWriteStream(context.Context, *GetWriteStreamRequest) (*WriteStream, error)
+ // Finalize a write stream so that no new data can be appended to the
+ // stream. Finalize is not supported on the '_default' stream.
+ FinalizeWriteStream(context.Context, *FinalizeWriteStreamRequest) (*FinalizeWriteStreamResponse, error)
+ // Atomically commits a group of `PENDING` streams that belong to the same
+ // `parent` table.
+ //
+ // Streams must be finalized before commit and cannot be committed multiple
+ // times. Once a stream is committed, data in the stream becomes available
+ // for read operations.
+ BatchCommitWriteStreams(context.Context, *BatchCommitWriteStreamsRequest) (*BatchCommitWriteStreamsResponse, error)
+ // Flushes rows to a BUFFERED stream.
+ //
+ // If users are appending rows to BUFFERED stream, flush operation is
+ // required in order for the rows to become available for reading. A
+ // Flush operation flushes up to any previously flushed offset in a BUFFERED
+ // stream, to the offset specified in the request.
+ //
+ // Flush is not supported on the _default stream, since it is not BUFFERED.
+ FlushRows(context.Context, *FlushRowsRequest) (*FlushRowsResponse, error)
+}
+
+// UnimplementedBigQueryWriteServer can be embedded to have forward compatible implementations.
+type UnimplementedBigQueryWriteServer struct {
+}
+
+func (*UnimplementedBigQueryWriteServer) CreateWriteStream(context.Context, *CreateWriteStreamRequest) (*WriteStream, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method CreateWriteStream not implemented")
+}
+func (*UnimplementedBigQueryWriteServer) AppendRows(BigQueryWrite_AppendRowsServer) error {
+ return status1.Errorf(codes.Unimplemented, "method AppendRows not implemented")
+}
+func (*UnimplementedBigQueryWriteServer) GetWriteStream(context.Context, *GetWriteStreamRequest) (*WriteStream, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method GetWriteStream not implemented")
+}
+func (*UnimplementedBigQueryWriteServer) FinalizeWriteStream(context.Context, *FinalizeWriteStreamRequest) (*FinalizeWriteStreamResponse, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method FinalizeWriteStream not implemented")
+}
+func (*UnimplementedBigQueryWriteServer) BatchCommitWriteStreams(context.Context, *BatchCommitWriteStreamsRequest) (*BatchCommitWriteStreamsResponse, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method BatchCommitWriteStreams not implemented")
+}
+func (*UnimplementedBigQueryWriteServer) FlushRows(context.Context, *FlushRowsRequest) (*FlushRowsResponse, error) {
+ return nil, status1.Errorf(codes.Unimplemented, "method FlushRows not implemented")
+}
+
+func RegisterBigQueryWriteServer(s *grpc.Server, srv BigQueryWriteServer) {
+ s.RegisterService(&_BigQueryWrite_serviceDesc, srv)
+}
+
+func _BigQueryWrite_CreateWriteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateWriteStreamRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryWriteServer).CreateWriteStream(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/CreateWriteStream",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryWriteServer).CreateWriteStream(ctx, req.(*CreateWriteStreamRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BigQueryWrite_AppendRows_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(BigQueryWriteServer).AppendRows(&bigQueryWriteAppendRowsServer{stream})
+}
+
+type BigQueryWrite_AppendRowsServer interface {
+ Send(*AppendRowsResponse) error
+ Recv() (*AppendRowsRequest, error)
+ grpc.ServerStream
+}
+
+type bigQueryWriteAppendRowsServer struct {
+ grpc.ServerStream
+}
+
+func (x *bigQueryWriteAppendRowsServer) Send(m *AppendRowsResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *bigQueryWriteAppendRowsServer) Recv() (*AppendRowsRequest, error) {
+ m := new(AppendRowsRequest)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func _BigQueryWrite_GetWriteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetWriteStreamRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryWriteServer).GetWriteStream(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/GetWriteStream",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryWriteServer).GetWriteStream(ctx, req.(*GetWriteStreamRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BigQueryWrite_FinalizeWriteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(FinalizeWriteStreamRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryWriteServer).FinalizeWriteStream(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/FinalizeWriteStream",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryWriteServer).FinalizeWriteStream(ctx, req.(*FinalizeWriteStreamRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BigQueryWrite_BatchCommitWriteStreams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(BatchCommitWriteStreamsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryWriteServer).BatchCommitWriteStreams(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/BatchCommitWriteStreams",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryWriteServer).BatchCommitWriteStreams(ctx, req.(*BatchCommitWriteStreamsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BigQueryWrite_FlushRows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(FlushRowsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BigQueryWriteServer).FlushRows(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/FlushRows",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BigQueryWriteServer).FlushRows(ctx, req.(*FlushRowsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _BigQueryWrite_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "google.cloud.bigquery.storage.v1.BigQueryWrite",
+ HandlerType: (*BigQueryWriteServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "CreateWriteStream",
+ Handler: _BigQueryWrite_CreateWriteStream_Handler,
+ },
+ {
+ MethodName: "GetWriteStream",
+ Handler: _BigQueryWrite_GetWriteStream_Handler,
+ },
+ {
+ MethodName: "FinalizeWriteStream",
+ Handler: _BigQueryWrite_FinalizeWriteStream_Handler,
+ },
+ {
+ MethodName: "BatchCommitWriteStreams",
+ Handler: _BigQueryWrite_BatchCommitWriteStreams_Handler,
+ },
+ {
+ MethodName: "FlushRows",
+ Handler: _BigQueryWrite_FlushRows_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "AppendRows",
+ Handler: _BigQueryWrite_AppendRows_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "google/cloud/bigquery/storage/v1/storage.proto",
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/stream.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/stream.pb.go
new file mode 100644
index 000000000..682979f03
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/stream.pb.go
@@ -0,0 +1,1303 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/stream.proto
+
+package storagepb
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Data format for input or output data.
+type DataFormat int32
+
+const (
+ // Data format is unspecified.
+ DataFormat_DATA_FORMAT_UNSPECIFIED DataFormat = 0
+ // Avro is a standard open source row based file format.
+ // See https://avro.apache.org/ for more details.
+ DataFormat_AVRO DataFormat = 1
+ // Arrow is a standard open source column-based message format.
+ // See https://arrow.apache.org/ for more details.
+ DataFormat_ARROW DataFormat = 2
+)
+
+// Enum value maps for DataFormat.
+var (
+ DataFormat_name = map[int32]string{
+ 0: "DATA_FORMAT_UNSPECIFIED",
+ 1: "AVRO",
+ 2: "ARROW",
+ }
+ DataFormat_value = map[string]int32{
+ "DATA_FORMAT_UNSPECIFIED": 0,
+ "AVRO": 1,
+ "ARROW": 2,
+ }
+)
+
+func (x DataFormat) Enum() *DataFormat {
+ p := new(DataFormat)
+ *p = x
+ return p
+}
+
+func (x DataFormat) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DataFormat) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[0].Descriptor()
+}
+
+func (DataFormat) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[0]
+}
+
+func (x DataFormat) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DataFormat.Descriptor instead.
+func (DataFormat) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{0}
+}
+
+// WriteStreamView is a view enum that controls what details about a write
+// stream should be returned.
+type WriteStreamView int32
+
+const (
+ // The default / unset value.
+ WriteStreamView_WRITE_STREAM_VIEW_UNSPECIFIED WriteStreamView = 0
+ // The BASIC projection returns basic metadata about a write stream. The
+ // basic view does not include schema information. This is the default view
+ // returned by GetWriteStream.
+ WriteStreamView_BASIC WriteStreamView = 1
+ // The FULL projection returns all available write stream metadata, including
+ // the schema. CreateWriteStream returns the full projection of write stream
+ // metadata.
+ WriteStreamView_FULL WriteStreamView = 2
+)
+
+// Enum value maps for WriteStreamView.
+var (
+ WriteStreamView_name = map[int32]string{
+ 0: "WRITE_STREAM_VIEW_UNSPECIFIED",
+ 1: "BASIC",
+ 2: "FULL",
+ }
+ WriteStreamView_value = map[string]int32{
+ "WRITE_STREAM_VIEW_UNSPECIFIED": 0,
+ "BASIC": 1,
+ "FULL": 2,
+ }
+)
+
+func (x WriteStreamView) Enum() *WriteStreamView {
+ p := new(WriteStreamView)
+ *p = x
+ return p
+}
+
+func (x WriteStreamView) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WriteStreamView) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[1].Descriptor()
+}
+
+func (WriteStreamView) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[1]
+}
+
+func (x WriteStreamView) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WriteStreamView.Descriptor instead.
+func (WriteStreamView) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{1}
+}
+
+// Specifies which compression codec to attempt on the entire serialized
+// response payload (either Arrow record batch or Avro rows). This is
+// not to be confused with the Apache Arrow native compression codecs
+// specified in ArrowSerializationOptions. For performance reasons, when
+// creating a read session requesting Arrow responses, setting both native
+// Arrow compression and application-level response compression will not be
+// allowed - choose, at most, one kind of compression.
+type ReadSession_TableReadOptions_ResponseCompressionCodec int32
+
+const (
+ // Default is no compression.
+ ReadSession_TableReadOptions_RESPONSE_COMPRESSION_CODEC_UNSPECIFIED ReadSession_TableReadOptions_ResponseCompressionCodec = 0
+ // Use raw LZ4 compression.
+ ReadSession_TableReadOptions_RESPONSE_COMPRESSION_CODEC_LZ4 ReadSession_TableReadOptions_ResponseCompressionCodec = 2
+)
+
+// Enum value maps for ReadSession_TableReadOptions_ResponseCompressionCodec.
+var (
+ ReadSession_TableReadOptions_ResponseCompressionCodec_name = map[int32]string{
+ 0: "RESPONSE_COMPRESSION_CODEC_UNSPECIFIED",
+ 2: "RESPONSE_COMPRESSION_CODEC_LZ4",
+ }
+ ReadSession_TableReadOptions_ResponseCompressionCodec_value = map[string]int32{
+ "RESPONSE_COMPRESSION_CODEC_UNSPECIFIED": 0,
+ "RESPONSE_COMPRESSION_CODEC_LZ4": 2,
+ }
+)
+
+func (x ReadSession_TableReadOptions_ResponseCompressionCodec) Enum() *ReadSession_TableReadOptions_ResponseCompressionCodec {
+ p := new(ReadSession_TableReadOptions_ResponseCompressionCodec)
+ *p = x
+ return p
+}
+
+func (x ReadSession_TableReadOptions_ResponseCompressionCodec) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ReadSession_TableReadOptions_ResponseCompressionCodec) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[2].Descriptor()
+}
+
+func (ReadSession_TableReadOptions_ResponseCompressionCodec) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[2]
+}
+
+func (x ReadSession_TableReadOptions_ResponseCompressionCodec) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ReadSession_TableReadOptions_ResponseCompressionCodec.Descriptor instead.
+func (ReadSession_TableReadOptions_ResponseCompressionCodec) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{0, 1, 0}
+}
+
+// Type enum of the stream.
+type WriteStream_Type int32
+
+const (
+ // Unknown type.
+ WriteStream_TYPE_UNSPECIFIED WriteStream_Type = 0
+ // Data will commit automatically and appear as soon as the write is
+ // acknowledged.
+ WriteStream_COMMITTED WriteStream_Type = 1
+ // Data is invisible until the stream is committed.
+ WriteStream_PENDING WriteStream_Type = 2
+ // Data is only visible up to the offset to which it was flushed.
+ WriteStream_BUFFERED WriteStream_Type = 3
+)
+
+// Enum value maps for WriteStream_Type.
+var (
+ WriteStream_Type_name = map[int32]string{
+ 0: "TYPE_UNSPECIFIED",
+ 1: "COMMITTED",
+ 2: "PENDING",
+ 3: "BUFFERED",
+ }
+ WriteStream_Type_value = map[string]int32{
+ "TYPE_UNSPECIFIED": 0,
+ "COMMITTED": 1,
+ "PENDING": 2,
+ "BUFFERED": 3,
+ }
+)
+
+func (x WriteStream_Type) Enum() *WriteStream_Type {
+ p := new(WriteStream_Type)
+ *p = x
+ return p
+}
+
+func (x WriteStream_Type) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WriteStream_Type) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[3].Descriptor()
+}
+
+func (WriteStream_Type) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[3]
+}
+
+func (x WriteStream_Type) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WriteStream_Type.Descriptor instead.
+func (WriteStream_Type) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{2, 0}
+}
+
+// Mode enum of the stream.
+type WriteStream_WriteMode int32
+
+const (
+ // Unknown type.
+ WriteStream_WRITE_MODE_UNSPECIFIED WriteStream_WriteMode = 0
+ // Insert new records into the table.
+ // It is the default value if customers do not specify it.
+ WriteStream_INSERT WriteStream_WriteMode = 1
+)
+
+// Enum value maps for WriteStream_WriteMode.
+var (
+ WriteStream_WriteMode_name = map[int32]string{
+ 0: "WRITE_MODE_UNSPECIFIED",
+ 1: "INSERT",
+ }
+ WriteStream_WriteMode_value = map[string]int32{
+ "WRITE_MODE_UNSPECIFIED": 0,
+ "INSERT": 1,
+ }
+)
+
+func (x WriteStream_WriteMode) Enum() *WriteStream_WriteMode {
+ p := new(WriteStream_WriteMode)
+ *p = x
+ return p
+}
+
+func (x WriteStream_WriteMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WriteStream_WriteMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[4].Descriptor()
+}
+
+func (WriteStream_WriteMode) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes[4]
+}
+
+func (x WriteStream_WriteMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WriteStream_WriteMode.Descriptor instead.
+func (WriteStream_WriteMode) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{2, 1}
+}
+
+// Information about the ReadSession.
+type ReadSession struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Output only. Unique identifier for the session, in the form
+ // `projects/{project_id}/locations/{location}/sessions/{session_id}`.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Output only. Time at which the session becomes invalid. After this time,
+ // subsequent requests to read this Session will return errors. The
+ // expire_time is automatically assigned and currently cannot be specified or
+ // updated.
+ ExpireTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+ // Immutable. Data format of the output data. DATA_FORMAT_UNSPECIFIED not
+ // supported.
+ DataFormat DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.bigquery.storage.v1.DataFormat" json:"data_format,omitempty"`
+ // The schema for the read. If read_options.selected_fields is set, the
+ // schema may be different from the table schema as it will only contain
+ // the selected fields.
+ //
+ // Types that are assignable to Schema:
+ //
+ // *ReadSession_AvroSchema
+ // *ReadSession_ArrowSchema
+ Schema isReadSession_Schema `protobuf_oneof:"schema"`
+ // Immutable. Table that this ReadSession is reading from, in the form
+ // `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}`
+ Table string `protobuf:"bytes,6,opt,name=table,proto3" json:"table,omitempty"`
+ // Optional. Any modifiers which are applied when reading from the specified
+ // table.
+ TableModifiers *ReadSession_TableModifiers `protobuf:"bytes,7,opt,name=table_modifiers,json=tableModifiers,proto3" json:"table_modifiers,omitempty"`
+ // Optional. Read options for this session (e.g. column selection, filters).
+ ReadOptions *ReadSession_TableReadOptions `protobuf:"bytes,8,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"`
+ // Output only. A list of streams created with the session.
+ //
+ // At least one stream is created with the session. In the future, larger
+ // request_stream_count values *may* result in this list being unpopulated,
+ // in that case, the user will need to use a List method to get the streams
+ // instead, which is not yet available.
+ Streams []*ReadStream `protobuf:"bytes,10,rep,name=streams,proto3" json:"streams,omitempty"`
+ // Output only. An estimate on the number of bytes this session will scan when
+ // all streams are completely consumed. This estimate is based on
+ // metadata from the table which might be incomplete or stale.
+ EstimatedTotalBytesScanned int64 `protobuf:"varint,12,opt,name=estimated_total_bytes_scanned,json=estimatedTotalBytesScanned,proto3" json:"estimated_total_bytes_scanned,omitempty"`
+ // Output only. A pre-projected estimate of the total physical size of files
+ // (in bytes) that this session will scan when all streams are consumed. This
+ // estimate is independent of the selected columns and can be based on
+ // incomplete or stale metadata from the table. This field is only set for
+ // BigLake tables.
+ EstimatedTotalPhysicalFileSize int64 `protobuf:"varint,15,opt,name=estimated_total_physical_file_size,json=estimatedTotalPhysicalFileSize,proto3" json:"estimated_total_physical_file_size,omitempty"`
+ // Output only. An estimate on the number of rows present in this session's
+ // streams. This estimate is based on metadata from the table which might be
+ // incomplete or stale.
+ EstimatedRowCount int64 `protobuf:"varint,14,opt,name=estimated_row_count,json=estimatedRowCount,proto3" json:"estimated_row_count,omitempty"`
+ // Optional. ID set by client to annotate a session identity. This does not
+ // need to be strictly unique, but instead the same ID should be used to group
+ // logically connected sessions (e.g. All using the same ID for all sessions
+ // needed to complete a Spark SQL query is reasonable).
+ //
+ // Maximum length is 256 bytes.
+ TraceId string `protobuf:"bytes,13,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
+}
+
+func (x *ReadSession) Reset() {
+ *x = ReadSession{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadSession) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadSession) ProtoMessage() {}
+
+func (x *ReadSession) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadSession.ProtoReflect.Descriptor instead.
+func (*ReadSession) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReadSession) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ReadSession) GetExpireTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.ExpireTime
+ }
+ return nil
+}
+
+func (x *ReadSession) GetDataFormat() DataFormat {
+ if x != nil {
+ return x.DataFormat
+ }
+ return DataFormat_DATA_FORMAT_UNSPECIFIED
+}
+
+func (m *ReadSession) GetSchema() isReadSession_Schema {
+ if m != nil {
+ return m.Schema
+ }
+ return nil
+}
+
+func (x *ReadSession) GetAvroSchema() *AvroSchema {
+ if x, ok := x.GetSchema().(*ReadSession_AvroSchema); ok {
+ return x.AvroSchema
+ }
+ return nil
+}
+
+func (x *ReadSession) GetArrowSchema() *ArrowSchema {
+ if x, ok := x.GetSchema().(*ReadSession_ArrowSchema); ok {
+ return x.ArrowSchema
+ }
+ return nil
+}
+
+func (x *ReadSession) GetTable() string {
+ if x != nil {
+ return x.Table
+ }
+ return ""
+}
+
+func (x *ReadSession) GetTableModifiers() *ReadSession_TableModifiers {
+ if x != nil {
+ return x.TableModifiers
+ }
+ return nil
+}
+
+func (x *ReadSession) GetReadOptions() *ReadSession_TableReadOptions {
+ if x != nil {
+ return x.ReadOptions
+ }
+ return nil
+}
+
+func (x *ReadSession) GetStreams() []*ReadStream {
+ if x != nil {
+ return x.Streams
+ }
+ return nil
+}
+
+func (x *ReadSession) GetEstimatedTotalBytesScanned() int64 {
+ if x != nil {
+ return x.EstimatedTotalBytesScanned
+ }
+ return 0
+}
+
+func (x *ReadSession) GetEstimatedTotalPhysicalFileSize() int64 {
+ if x != nil {
+ return x.EstimatedTotalPhysicalFileSize
+ }
+ return 0
+}
+
+func (x *ReadSession) GetEstimatedRowCount() int64 {
+ if x != nil {
+ return x.EstimatedRowCount
+ }
+ return 0
+}
+
+func (x *ReadSession) GetTraceId() string {
+ if x != nil {
+ return x.TraceId
+ }
+ return ""
+}
+
+type isReadSession_Schema interface {
+ isReadSession_Schema()
+}
+
+type ReadSession_AvroSchema struct {
+ // Output only. Avro schema.
+ AvroSchema *AvroSchema `protobuf:"bytes,4,opt,name=avro_schema,json=avroSchema,proto3,oneof"`
+}
+
+type ReadSession_ArrowSchema struct {
+ // Output only. Arrow schema.
+ ArrowSchema *ArrowSchema `protobuf:"bytes,5,opt,name=arrow_schema,json=arrowSchema,proto3,oneof"`
+}
+
+func (*ReadSession_AvroSchema) isReadSession_Schema() {}
+
+func (*ReadSession_ArrowSchema) isReadSession_Schema() {}
+
+// Information about a single stream that gets data out of the storage system.
+// Most of the information about `ReadStream` instances is aggregated, making
+// `ReadStream` lightweight.
+type ReadStream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Output only. Name of the stream, in the form
+ // `projects/{project_id}/locations/{location}/sessions/{session_id}/streams/{stream_id}`.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *ReadStream) Reset() {
+ *x = ReadStream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadStream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadStream) ProtoMessage() {}
+
+func (x *ReadStream) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadStream.ProtoReflect.Descriptor instead.
+func (*ReadStream) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ReadStream) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+// Information about a single stream that gets data inside the storage system.
+type WriteStream struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Output only. Name of the stream, in the form
+ // `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Immutable. Type of the stream.
+ Type WriteStream_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.bigquery.storage.v1.WriteStream_Type" json:"type,omitempty"`
+ // Output only. Create time of the stream. For the _default stream, this is
+ // the creation_time of the table.
+ CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ // Output only. Commit time of the stream.
+ // If a stream is of `COMMITTED` type, then it will have a commit_time same as
+ // `create_time`. If the stream is of `PENDING` type, empty commit_time
+ // means it is not committed.
+ CommitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
+ // Output only. The schema of the destination table. It is only returned in
+ // `CreateWriteStream` response. Caller should generate data that's
+ // compatible with this schema to send in initial `AppendRowsRequest`.
+ // The table schema could go out of date during the life time of the stream.
+ TableSchema *TableSchema `protobuf:"bytes,5,opt,name=table_schema,json=tableSchema,proto3" json:"table_schema,omitempty"`
+ // Immutable. Mode of the stream.
+ WriteMode WriteStream_WriteMode `protobuf:"varint,7,opt,name=write_mode,json=writeMode,proto3,enum=google.cloud.bigquery.storage.v1.WriteStream_WriteMode" json:"write_mode,omitempty"`
+ // Immutable. The geographic location where the stream's dataset resides. See
+ // https://cloud.google.com/bigquery/docs/locations for supported
+ // locations.
+ Location string `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"`
+}
+
+func (x *WriteStream) Reset() {
+ *x = WriteStream{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WriteStream) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WriteStream) ProtoMessage() {}
+
+func (x *WriteStream) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WriteStream.ProtoReflect.Descriptor instead.
+func (*WriteStream) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *WriteStream) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *WriteStream) GetType() WriteStream_Type {
+ if x != nil {
+ return x.Type
+ }
+ return WriteStream_TYPE_UNSPECIFIED
+}
+
+func (x *WriteStream) GetCreateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CreateTime
+ }
+ return nil
+}
+
+func (x *WriteStream) GetCommitTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CommitTime
+ }
+ return nil
+}
+
+func (x *WriteStream) GetTableSchema() *TableSchema {
+ if x != nil {
+ return x.TableSchema
+ }
+ return nil
+}
+
+func (x *WriteStream) GetWriteMode() WriteStream_WriteMode {
+ if x != nil {
+ return x.WriteMode
+ }
+ return WriteStream_WRITE_MODE_UNSPECIFIED
+}
+
+func (x *WriteStream) GetLocation() string {
+ if x != nil {
+ return x.Location
+ }
+ return ""
+}
+
+// Additional attributes when reading a table.
+type ReadSession_TableModifiers struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The snapshot time of the table. If not set, interpreted as now.
+ SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
+}
+
+func (x *ReadSession_TableModifiers) Reset() {
+ *x = ReadSession_TableModifiers{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadSession_TableModifiers) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadSession_TableModifiers) ProtoMessage() {}
+
+func (x *ReadSession_TableModifiers) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadSession_TableModifiers.ProtoReflect.Descriptor instead.
+func (*ReadSession_TableModifiers) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *ReadSession_TableModifiers) GetSnapshotTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.SnapshotTime
+ }
+ return nil
+}
+
+// Options dictating how we read a table.
+type ReadSession_TableReadOptions struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Optional. The names of the fields in the table to be returned. If no
+ // field names are specified, then all fields in the table are returned.
+ //
+ // Nested fields -- the child elements of a STRUCT field -- can be selected
+ // individually using their fully-qualified names, and will be returned as
+ // record fields containing only the selected nested fields. If a STRUCT
+ // field is specified in the selected fields list, all of the child elements
+ // will be returned.
+ //
+ // As an example, consider a table with the following schema:
+ //
+ // {
+ // "name": "struct_field",
+ // "type": "RECORD",
+ // "mode": "NULLABLE",
+ // "fields": [
+ // {
+ // "name": "string_field1",
+ // "type": "STRING",
+ //
+ // . "mode": "NULLABLE"
+ //
+ // },
+ // {
+ // "name": "string_field2",
+ // "type": "STRING",
+ // "mode": "NULLABLE"
+ // }
+ // ]
+ // }
+ //
+ // Specifying "struct_field" in the selected fields list will result in a
+ // read session schema with the following logical structure:
+ //
+ // struct_field {
+ // string_field1
+ // string_field2
+ // }
+ //
+ // Specifying "struct_field.string_field1" in the selected fields list will
+ // result in a read session schema with the following logical structure:
+ //
+ // struct_field {
+ // string_field1
+ // }
+ //
+ // The order of the fields in the read session schema is derived from the
+ // table schema and does not correspond to the order in which the fields are
+ // specified in this list.
+ SelectedFields []string `protobuf:"bytes,1,rep,name=selected_fields,json=selectedFields,proto3" json:"selected_fields,omitempty"`
+ // SQL text filtering statement, similar to a WHERE clause in a query.
+ // Aggregates are not supported.
+ //
+ // Examples: "int_field > 5"
+ //
+ // "date_field = CAST('2014-9-27' as DATE)"
+ // "nullable_field is not NULL"
+ // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))"
+ // "numeric_field BETWEEN 1.0 AND 5.0"
+ //
+ // Restricted to a maximum length for 1 MB.
+ RowRestriction string `protobuf:"bytes,2,opt,name=row_restriction,json=rowRestriction,proto3" json:"row_restriction,omitempty"`
+ // Types that are assignable to OutputFormatSerializationOptions:
+ //
+ // *ReadSession_TableReadOptions_ArrowSerializationOptions
+ // *ReadSession_TableReadOptions_AvroSerializationOptions
+ OutputFormatSerializationOptions isReadSession_TableReadOptions_OutputFormatSerializationOptions `protobuf_oneof:"output_format_serialization_options"`
+ // Optional. Specifies a table sampling percentage. Specifically, the query
+ // planner will use TABLESAMPLE SYSTEM (sample_percentage PERCENT). The
+ // sampling percentage is applied at the data block granularity. It will
+ // randomly choose for each data block whether to read the rows in that data
+ // block. For more details, see
+ // https://cloud.google.com/bigquery/docs/table-sampling)
+ SamplePercentage *float64 `protobuf:"fixed64,5,opt,name=sample_percentage,json=samplePercentage,proto3,oneof" json:"sample_percentage,omitempty"`
+ // Optional. Set response_compression_codec when creating a read session to
+ // enable application-level compression of ReadRows responses.
+ ResponseCompressionCodec *ReadSession_TableReadOptions_ResponseCompressionCodec `protobuf:"varint,6,opt,name=response_compression_codec,json=responseCompressionCodec,proto3,enum=google.cloud.bigquery.storage.v1.ReadSession_TableReadOptions_ResponseCompressionCodec,oneof" json:"response_compression_codec,omitempty"`
+}
+
+func (x *ReadSession_TableReadOptions) Reset() {
+ *x = ReadSession_TableReadOptions{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadSession_TableReadOptions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadSession_TableReadOptions) ProtoMessage() {}
+
+func (x *ReadSession_TableReadOptions) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadSession_TableReadOptions.ProtoReflect.Descriptor instead.
+func (*ReadSession_TableReadOptions) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP(), []int{0, 1}
+}
+
+func (x *ReadSession_TableReadOptions) GetSelectedFields() []string {
+ if x != nil {
+ return x.SelectedFields
+ }
+ return nil
+}
+
+func (x *ReadSession_TableReadOptions) GetRowRestriction() string {
+ if x != nil {
+ return x.RowRestriction
+ }
+ return ""
+}
+
+func (m *ReadSession_TableReadOptions) GetOutputFormatSerializationOptions() isReadSession_TableReadOptions_OutputFormatSerializationOptions {
+ if m != nil {
+ return m.OutputFormatSerializationOptions
+ }
+ return nil
+}
+
+func (x *ReadSession_TableReadOptions) GetArrowSerializationOptions() *ArrowSerializationOptions {
+ if x, ok := x.GetOutputFormatSerializationOptions().(*ReadSession_TableReadOptions_ArrowSerializationOptions); ok {
+ return x.ArrowSerializationOptions
+ }
+ return nil
+}
+
+func (x *ReadSession_TableReadOptions) GetAvroSerializationOptions() *AvroSerializationOptions {
+ if x, ok := x.GetOutputFormatSerializationOptions().(*ReadSession_TableReadOptions_AvroSerializationOptions); ok {
+ return x.AvroSerializationOptions
+ }
+ return nil
+}
+
+func (x *ReadSession_TableReadOptions) GetSamplePercentage() float64 {
+ if x != nil && x.SamplePercentage != nil {
+ return *x.SamplePercentage
+ }
+ return 0
+}
+
+func (x *ReadSession_TableReadOptions) GetResponseCompressionCodec() ReadSession_TableReadOptions_ResponseCompressionCodec {
+ if x != nil && x.ResponseCompressionCodec != nil {
+ return *x.ResponseCompressionCodec
+ }
+ return ReadSession_TableReadOptions_RESPONSE_COMPRESSION_CODEC_UNSPECIFIED
+}
+
+type isReadSession_TableReadOptions_OutputFormatSerializationOptions interface {
+ isReadSession_TableReadOptions_OutputFormatSerializationOptions()
+}
+
+type ReadSession_TableReadOptions_ArrowSerializationOptions struct {
+ // Optional. Options specific to the Apache Arrow output format.
+ ArrowSerializationOptions *ArrowSerializationOptions `protobuf:"bytes,3,opt,name=arrow_serialization_options,json=arrowSerializationOptions,proto3,oneof"`
+}
+
+type ReadSession_TableReadOptions_AvroSerializationOptions struct {
+ // Optional. Options specific to the Apache Avro output format
+ AvroSerializationOptions *AvroSerializationOptions `protobuf:"bytes,4,opt,name=avro_serialization_options,json=avroSerializationOptions,proto3,oneof"`
+}
+
+func (*ReadSession_TableReadOptions_ArrowSerializationOptions) isReadSession_TableReadOptions_OutputFormatSerializationOptions() {
+}
+
+func (*ReadSession_TableReadOptions_AvroSerializationOptions) isReadSession_TableReadOptions_OutputFormatSerializationOptions() {
+}
+
+var File_google_cloud_bigquery_storage_v1_stream_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_stream_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f,
+ 0x61, 0x72, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x76,
+ 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64,
+ 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46,
+ 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61,
+ 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x54, 0x0a, 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
+ 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00,
+ 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x57, 0x0a, 0x0c,
+ 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x12, 0x6a, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
+ 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x66,
+ 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x63, 0x61,
+ 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
+ 0x1a, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42,
+ 0x79, 0x74, 0x65, 0x73, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x22, 0x65,
+ 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70,
+ 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1e, 0x65, 0x73,
+ 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x68, 0x79, 0x73,
+ 0x69, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x13,
+ 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11,
+ 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49,
+ 0x64, 0x1a, 0x51, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x8b, 0x06, 0x0a, 0x10, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65,
+ 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x6f, 0x77,
+ 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x82, 0x01, 0x0a, 0x1b,
+ 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
+ 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03,
+ 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x19, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x12, 0x7f, 0x0a, 0x1a, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69,
+ 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x18, 0x61, 0x76, 0x72, 0x6f, 0x53, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x35, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41,
+ 0x01, 0x48, 0x01, 0x52, 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x9f, 0x01, 0x0a, 0x1a, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x57, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x18, 0x72,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x88, 0x01, 0x01, 0x22, 0x6a, 0x0a, 0x18, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x26, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e,
+ 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43,
+ 0x4f, 0x44, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
+ 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x43,
+ 0x5f, 0x4c, 0x5a, 0x34, 0x10, 0x02, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+ 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a,
+ 0x12, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64,
+ 0x65, 0x63, 0x3a, 0x6b, 0xea, 0x41, 0x68, 0x0a, 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
+ 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x42,
+ 0x08, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x0a, 0x52, 0x65,
+ 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3a, 0x7b, 0xea, 0x41, 0x78, 0x0a, 0x29, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
+ 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
+ 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x22, 0xc1,
+ 0x05, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x17,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
+ 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04,
+ 0x74, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0,
+ 0x41, 0x03, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
+ 0x5b, 0x0a, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41,
+ 0x05, 0x52, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x08,
+ 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
+ 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a,
+ 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
+ 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43,
+ 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45,
+ 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x55, 0x46, 0x46, 0x45,
+ 0x52, 0x45, 0x44, 0x10, 0x03, 0x22, 0x33, 0x0a, 0x09, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x6f,
+ 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
+ 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a,
+ 0x0a, 0x06, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x01, 0x3a, 0x76, 0xea, 0x41, 0x73, 0x0a,
+ 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x45, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
+ 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
+ 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x7d, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x7d, 0x2a, 0x3e, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
+ 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f,
+ 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a,
+ 0x04, 0x41, 0x56, 0x52, 0x4f, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x4f, 0x57,
+ 0x10, 0x02, 0x2a, 0x49, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x56, 0x69, 0x65, 0x77, 0x12, 0x21, 0x0a, 0x1d, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x53,
+ 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
+ 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49,
+ 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0xbb, 0x01,
+ 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76,
+ 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_cloud_bigquery_storage_v1_stream_proto_rawDescOnce sync.Once
+ file_google_cloud_bigquery_storage_v1_stream_proto_rawDescData = file_google_cloud_bigquery_storage_v1_stream_proto_rawDesc
+)
+
+func file_google_cloud_bigquery_storage_v1_stream_proto_rawDescGZIP() []byte {
+ file_google_cloud_bigquery_storage_v1_stream_proto_rawDescOnce.Do(func() {
+ file_google_cloud_bigquery_storage_v1_stream_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_stream_proto_rawDescData)
+ })
+ return file_google_cloud_bigquery_storage_v1_stream_proto_rawDescData
+}
+
+var file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
+var file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_google_cloud_bigquery_storage_v1_stream_proto_goTypes = []interface{}{
+ (DataFormat)(0), // 0: google.cloud.bigquery.storage.v1.DataFormat
+ (WriteStreamView)(0), // 1: google.cloud.bigquery.storage.v1.WriteStreamView
+ (ReadSession_TableReadOptions_ResponseCompressionCodec)(0), // 2: google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions.ResponseCompressionCodec
+ (WriteStream_Type)(0), // 3: google.cloud.bigquery.storage.v1.WriteStream.Type
+ (WriteStream_WriteMode)(0), // 4: google.cloud.bigquery.storage.v1.WriteStream.WriteMode
+ (*ReadSession)(nil), // 5: google.cloud.bigquery.storage.v1.ReadSession
+ (*ReadStream)(nil), // 6: google.cloud.bigquery.storage.v1.ReadStream
+ (*WriteStream)(nil), // 7: google.cloud.bigquery.storage.v1.WriteStream
+ (*ReadSession_TableModifiers)(nil), // 8: google.cloud.bigquery.storage.v1.ReadSession.TableModifiers
+ (*ReadSession_TableReadOptions)(nil), // 9: google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions
+ (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp
+ (*AvroSchema)(nil), // 11: google.cloud.bigquery.storage.v1.AvroSchema
+ (*ArrowSchema)(nil), // 12: google.cloud.bigquery.storage.v1.ArrowSchema
+ (*TableSchema)(nil), // 13: google.cloud.bigquery.storage.v1.TableSchema
+ (*ArrowSerializationOptions)(nil), // 14: google.cloud.bigquery.storage.v1.ArrowSerializationOptions
+ (*AvroSerializationOptions)(nil), // 15: google.cloud.bigquery.storage.v1.AvroSerializationOptions
+}
+var file_google_cloud_bigquery_storage_v1_stream_proto_depIdxs = []int32{
+ 10, // 0: google.cloud.bigquery.storage.v1.ReadSession.expire_time:type_name -> google.protobuf.Timestamp
+ 0, // 1: google.cloud.bigquery.storage.v1.ReadSession.data_format:type_name -> google.cloud.bigquery.storage.v1.DataFormat
+ 11, // 2: google.cloud.bigquery.storage.v1.ReadSession.avro_schema:type_name -> google.cloud.bigquery.storage.v1.AvroSchema
+ 12, // 3: google.cloud.bigquery.storage.v1.ReadSession.arrow_schema:type_name -> google.cloud.bigquery.storage.v1.ArrowSchema
+ 8, // 4: google.cloud.bigquery.storage.v1.ReadSession.table_modifiers:type_name -> google.cloud.bigquery.storage.v1.ReadSession.TableModifiers
+ 9, // 5: google.cloud.bigquery.storage.v1.ReadSession.read_options:type_name -> google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions
+ 6, // 6: google.cloud.bigquery.storage.v1.ReadSession.streams:type_name -> google.cloud.bigquery.storage.v1.ReadStream
+ 3, // 7: google.cloud.bigquery.storage.v1.WriteStream.type:type_name -> google.cloud.bigquery.storage.v1.WriteStream.Type
+ 10, // 8: google.cloud.bigquery.storage.v1.WriteStream.create_time:type_name -> google.protobuf.Timestamp
+ 10, // 9: google.cloud.bigquery.storage.v1.WriteStream.commit_time:type_name -> google.protobuf.Timestamp
+ 13, // 10: google.cloud.bigquery.storage.v1.WriteStream.table_schema:type_name -> google.cloud.bigquery.storage.v1.TableSchema
+ 4, // 11: google.cloud.bigquery.storage.v1.WriteStream.write_mode:type_name -> google.cloud.bigquery.storage.v1.WriteStream.WriteMode
+ 10, // 12: google.cloud.bigquery.storage.v1.ReadSession.TableModifiers.snapshot_time:type_name -> google.protobuf.Timestamp
+ 14, // 13: google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions.arrow_serialization_options:type_name -> google.cloud.bigquery.storage.v1.ArrowSerializationOptions
+ 15, // 14: google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions.avro_serialization_options:type_name -> google.cloud.bigquery.storage.v1.AvroSerializationOptions
+ 2, // 15: google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions.response_compression_codec:type_name -> google.cloud.bigquery.storage.v1.ReadSession.TableReadOptions.ResponseCompressionCodec
+ 16, // [16:16] is the sub-list for method output_type
+ 16, // [16:16] is the sub-list for method input_type
+ 16, // [16:16] is the sub-list for extension type_name
+ 16, // [16:16] is the sub-list for extension extendee
+ 0, // [0:16] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_stream_proto_init() }
+func file_google_cloud_bigquery_storage_v1_stream_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_stream_proto != nil {
+ return
+ }
+ file_google_cloud_bigquery_storage_v1_arrow_proto_init()
+ file_google_cloud_bigquery_storage_v1_avro_proto_init()
+ file_google_cloud_bigquery_storage_v1_table_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadSession); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadStream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WriteStream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadSession_TableModifiers); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadSession_TableReadOptions); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ReadSession_AvroSchema)(nil),
+ (*ReadSession_ArrowSchema)(nil),
+ }
+ file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes[4].OneofWrappers = []interface{}{
+ (*ReadSession_TableReadOptions_ArrowSerializationOptions)(nil),
+ (*ReadSession_TableReadOptions_AvroSerializationOptions)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_stream_proto_rawDesc,
+ NumEnums: 5,
+ NumMessages: 5,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_stream_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_stream_proto_depIdxs,
+ EnumInfos: file_google_cloud_bigquery_storage_v1_stream_proto_enumTypes,
+ MessageInfos: file_google_cloud_bigquery_storage_v1_stream_proto_msgTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_stream_proto = out.File
+ file_google_cloud_bigquery_storage_v1_stream_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_stream_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_stream_proto_depIdxs = nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/table.pb.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/table.pb.go
new file mode 100644
index 000000000..c7764f870
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/storagepb/table.pb.go
@@ -0,0 +1,672 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.32.0
+// protoc v4.25.2
+// source: google/cloud/bigquery/storage/v1/table.proto
+
+package storagepb
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TableFieldSchema_Type int32
+
+const (
+ // Illegal value
+ TableFieldSchema_TYPE_UNSPECIFIED TableFieldSchema_Type = 0
+ // 64K, UTF8
+ TableFieldSchema_STRING TableFieldSchema_Type = 1
+ // 64-bit signed
+ TableFieldSchema_INT64 TableFieldSchema_Type = 2
+ // 64-bit IEEE floating point
+ TableFieldSchema_DOUBLE TableFieldSchema_Type = 3
+ // Aggregate type
+ TableFieldSchema_STRUCT TableFieldSchema_Type = 4
+ // 64K, Binary
+ TableFieldSchema_BYTES TableFieldSchema_Type = 5
+ // 2-valued
+ TableFieldSchema_BOOL TableFieldSchema_Type = 6
+ // 64-bit signed usec since UTC epoch
+ TableFieldSchema_TIMESTAMP TableFieldSchema_Type = 7
+ // Civil date - Year, Month, Day
+ TableFieldSchema_DATE TableFieldSchema_Type = 8
+ // Civil time - Hour, Minute, Second, Microseconds
+ TableFieldSchema_TIME TableFieldSchema_Type = 9
+ // Combination of civil date and civil time
+ TableFieldSchema_DATETIME TableFieldSchema_Type = 10
+ // Geography object
+ TableFieldSchema_GEOGRAPHY TableFieldSchema_Type = 11
+ // Numeric value
+ TableFieldSchema_NUMERIC TableFieldSchema_Type = 12
+ // BigNumeric value
+ TableFieldSchema_BIGNUMERIC TableFieldSchema_Type = 13
+ // Interval
+ TableFieldSchema_INTERVAL TableFieldSchema_Type = 14
+ // JSON, String
+ TableFieldSchema_JSON TableFieldSchema_Type = 15
+ // RANGE
+ TableFieldSchema_RANGE TableFieldSchema_Type = 16
+)
+
+// Enum value maps for TableFieldSchema_Type.
+var (
+ TableFieldSchema_Type_name = map[int32]string{
+ 0: "TYPE_UNSPECIFIED",
+ 1: "STRING",
+ 2: "INT64",
+ 3: "DOUBLE",
+ 4: "STRUCT",
+ 5: "BYTES",
+ 6: "BOOL",
+ 7: "TIMESTAMP",
+ 8: "DATE",
+ 9: "TIME",
+ 10: "DATETIME",
+ 11: "GEOGRAPHY",
+ 12: "NUMERIC",
+ 13: "BIGNUMERIC",
+ 14: "INTERVAL",
+ 15: "JSON",
+ 16: "RANGE",
+ }
+ TableFieldSchema_Type_value = map[string]int32{
+ "TYPE_UNSPECIFIED": 0,
+ "STRING": 1,
+ "INT64": 2,
+ "DOUBLE": 3,
+ "STRUCT": 4,
+ "BYTES": 5,
+ "BOOL": 6,
+ "TIMESTAMP": 7,
+ "DATE": 8,
+ "TIME": 9,
+ "DATETIME": 10,
+ "GEOGRAPHY": 11,
+ "NUMERIC": 12,
+ "BIGNUMERIC": 13,
+ "INTERVAL": 14,
+ "JSON": 15,
+ "RANGE": 16,
+ }
+)
+
+func (x TableFieldSchema_Type) Enum() *TableFieldSchema_Type {
+ p := new(TableFieldSchema_Type)
+ *p = x
+ return p
+}
+
+func (x TableFieldSchema_Type) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TableFieldSchema_Type) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_table_proto_enumTypes[0].Descriptor()
+}
+
+func (TableFieldSchema_Type) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_table_proto_enumTypes[0]
+}
+
+func (x TableFieldSchema_Type) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TableFieldSchema_Type.Descriptor instead.
+func (TableFieldSchema_Type) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_table_proto_rawDescGZIP(), []int{1, 0}
+}
+
+type TableFieldSchema_Mode int32
+
+const (
+ // Illegal value
+ TableFieldSchema_MODE_UNSPECIFIED TableFieldSchema_Mode = 0
+ TableFieldSchema_NULLABLE TableFieldSchema_Mode = 1
+ TableFieldSchema_REQUIRED TableFieldSchema_Mode = 2
+ TableFieldSchema_REPEATED TableFieldSchema_Mode = 3
+)
+
+// Enum value maps for TableFieldSchema_Mode.
+var (
+ TableFieldSchema_Mode_name = map[int32]string{
+ 0: "MODE_UNSPECIFIED",
+ 1: "NULLABLE",
+ 2: "REQUIRED",
+ 3: "REPEATED",
+ }
+ TableFieldSchema_Mode_value = map[string]int32{
+ "MODE_UNSPECIFIED": 0,
+ "NULLABLE": 1,
+ "REQUIRED": 2,
+ "REPEATED": 3,
+ }
+)
+
+func (x TableFieldSchema_Mode) Enum() *TableFieldSchema_Mode {
+ p := new(TableFieldSchema_Mode)
+ *p = x
+ return p
+}
+
+func (x TableFieldSchema_Mode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TableFieldSchema_Mode) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_cloud_bigquery_storage_v1_table_proto_enumTypes[1].Descriptor()
+}
+
+func (TableFieldSchema_Mode) Type() protoreflect.EnumType {
+ return &file_google_cloud_bigquery_storage_v1_table_proto_enumTypes[1]
+}
+
+func (x TableFieldSchema_Mode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TableFieldSchema_Mode.Descriptor instead.
+func (TableFieldSchema_Mode) EnumDescriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_table_proto_rawDescGZIP(), []int{1, 1}
+}
+
+// Schema of a table. This schema is a subset of
+// google.cloud.bigquery.v2.TableSchema containing information necessary to
+// generate valid message to write to BigQuery.
+type TableSchema struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Describes the fields in a table.
+ Fields []*TableFieldSchema `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
+}
+
+func (x *TableSchema) Reset() {
+ *x = TableSchema{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TableSchema) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TableSchema) ProtoMessage() {}
+
+func (x *TableSchema) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TableSchema.ProtoReflect.Descriptor instead.
+func (*TableSchema) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_table_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TableSchema) GetFields() []*TableFieldSchema {
+ if x != nil {
+ return x.Fields
+ }
+ return nil
+}
+
+// TableFieldSchema defines a single field/column within a table schema.
+type TableFieldSchema struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The field name. The name must contain only letters (a-z, A-Z),
+ // numbers (0-9), or underscores (_), and must start with a letter or
+ // underscore. The maximum length is 128 characters.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Required. The field data type.
+ Type TableFieldSchema_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.bigquery.storage.v1.TableFieldSchema_Type" json:"type,omitempty"`
+ // Optional. The field mode. The default value is NULLABLE.
+ Mode TableFieldSchema_Mode `protobuf:"varint,3,opt,name=mode,proto3,enum=google.cloud.bigquery.storage.v1.TableFieldSchema_Mode" json:"mode,omitempty"`
+ // Optional. Describes the nested schema fields if the type property is set to
+ // STRUCT.
+ Fields []*TableFieldSchema `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"`
+ // Optional. The field description. The maximum length is 1,024 characters.
+ Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
+ // Optional. Maximum length of values of this field for STRINGS or BYTES.
+ //
+ // If max_length is not specified, no maximum length constraint is imposed
+ // on this field.
+ //
+ // If type = "STRING", then max_length represents the maximum UTF-8
+ // length of strings in this field.
+ //
+ // If type = "BYTES", then max_length represents the maximum number of
+ // bytes in this field.
+ //
+ // It is invalid to set this field if type is not "STRING" or "BYTES".
+ MaxLength int64 `protobuf:"varint,7,opt,name=max_length,json=maxLength,proto3" json:"max_length,omitempty"`
+ // Optional. Precision (maximum number of total digits in base 10) and scale
+ // (maximum number of digits in the fractional part in base 10) constraints
+ // for values of this field for NUMERIC or BIGNUMERIC.
+ //
+ // It is invalid to set precision or scale if type is not "NUMERIC" or
+ // "BIGNUMERIC".
+ //
+ // If precision and scale are not specified, no value range constraint is
+ // imposed on this field insofar as values are permitted by the type.
+ //
+ // Values of this NUMERIC or BIGNUMERIC field must be in this range when:
+ //
+ // - Precision (P) and scale (S) are specified:
+ // [-10^(P-S) + 10^(-S), 10^(P-S) - 10^(-S)]
+ // - Precision (P) is specified but not scale (and thus scale is
+ // interpreted to be equal to zero):
+ // [-10^P + 1, 10^P - 1].
+ //
+ // Acceptable values for precision and scale if both are specified:
+ //
+ // - If type = "NUMERIC":
+ // 1 <= precision - scale <= 29 and 0 <= scale <= 9.
+ // - If type = "BIGNUMERIC":
+ // 1 <= precision - scale <= 38 and 0 <= scale <= 38.
+ //
+ // Acceptable values for precision if only precision is specified but not
+ // scale (and thus scale is interpreted to be equal to zero):
+ //
+ // * If type = "NUMERIC": 1 <= precision <= 29.
+ // * If type = "BIGNUMERIC": 1 <= precision <= 38.
+ //
+ // If scale is specified but not precision, then it is invalid.
+ Precision int64 `protobuf:"varint,8,opt,name=precision,proto3" json:"precision,omitempty"`
+ // Optional. See documentation for precision.
+ Scale int64 `protobuf:"varint,9,opt,name=scale,proto3" json:"scale,omitempty"`
+ // Optional. A SQL expression to specify the [default value]
+ // (https://cloud.google.com/bigquery/docs/default-values) for this field.
+ DefaultValueExpression string `protobuf:"bytes,10,opt,name=default_value_expression,json=defaultValueExpression,proto3" json:"default_value_expression,omitempty"`
+ // Optional. The subtype of the RANGE, if the type of this field is RANGE. If
+ // the type is RANGE, this field is required. Possible values for the field
+ // element type of a RANGE include:
+ // * DATE
+ // * DATETIME
+ // * TIMESTAMP
+ RangeElementType *TableFieldSchema_FieldElementType `protobuf:"bytes,11,opt,name=range_element_type,json=rangeElementType,proto3" json:"range_element_type,omitempty"`
+}
+
+func (x *TableFieldSchema) Reset() {
+ *x = TableFieldSchema{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TableFieldSchema) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TableFieldSchema) ProtoMessage() {}
+
+func (x *TableFieldSchema) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TableFieldSchema.ProtoReflect.Descriptor instead.
+func (*TableFieldSchema) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_table_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *TableFieldSchema) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *TableFieldSchema) GetType() TableFieldSchema_Type {
+ if x != nil {
+ return x.Type
+ }
+ return TableFieldSchema_TYPE_UNSPECIFIED
+}
+
+func (x *TableFieldSchema) GetMode() TableFieldSchema_Mode {
+ if x != nil {
+ return x.Mode
+ }
+ return TableFieldSchema_MODE_UNSPECIFIED
+}
+
+func (x *TableFieldSchema) GetFields() []*TableFieldSchema {
+ if x != nil {
+ return x.Fields
+ }
+ return nil
+}
+
+func (x *TableFieldSchema) GetDescription() string {
+ if x != nil {
+ return x.Description
+ }
+ return ""
+}
+
+func (x *TableFieldSchema) GetMaxLength() int64 {
+ if x != nil {
+ return x.MaxLength
+ }
+ return 0
+}
+
+func (x *TableFieldSchema) GetPrecision() int64 {
+ if x != nil {
+ return x.Precision
+ }
+ return 0
+}
+
+func (x *TableFieldSchema) GetScale() int64 {
+ if x != nil {
+ return x.Scale
+ }
+ return 0
+}
+
+func (x *TableFieldSchema) GetDefaultValueExpression() string {
+ if x != nil {
+ return x.DefaultValueExpression
+ }
+ return ""
+}
+
+func (x *TableFieldSchema) GetRangeElementType() *TableFieldSchema_FieldElementType {
+ if x != nil {
+ return x.RangeElementType
+ }
+ return nil
+}
+
+// Represents the type of a field element.
+type TableFieldSchema_FieldElementType struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The type of a field element.
+ Type TableFieldSchema_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.bigquery.storage.v1.TableFieldSchema_Type" json:"type,omitempty"`
+}
+
+func (x *TableFieldSchema_FieldElementType) Reset() {
+ *x = TableFieldSchema_FieldElementType{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TableFieldSchema_FieldElementType) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TableFieldSchema_FieldElementType) ProtoMessage() {}
+
+func (x *TableFieldSchema_FieldElementType) ProtoReflect() protoreflect.Message {
+ mi := &file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TableFieldSchema_FieldElementType.ProtoReflect.Descriptor instead.
+func (*TableFieldSchema_FieldElementType) Descriptor() ([]byte, []int) {
+ return file_google_cloud_bigquery_storage_v1_table_proto_rawDescGZIP(), []int{1, 0}
+}
+
+func (x *TableFieldSchema_FieldElementType) GetType() TableFieldSchema_Type {
+ if x != nil {
+ return x.Type
+ }
+ return TableFieldSchema_TYPE_UNSPECIFIED
+}
+
+var File_google_cloud_bigquery_storage_v1_table_proto protoreflect.FileDescriptor
+
+var file_google_cloud_bigquery_storage_v1_table_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
+ 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
+ 0x76, 0x31, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
+ 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x59, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x12, 0x4a, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
+ 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xf1, 0x07, 0x0a,
+ 0x10, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x04, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x54, 0x79, 0x70,
+ 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x04,
+ 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d,
+ 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x4f,
+ 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
+ 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12,
+ 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
+ 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65,
+ 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
+ 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72,
+ 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0,
+ 0x41, 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a,
+ 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
+ 0x01, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
+ 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70,
+ 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a,
+ 0x64, 0x0a, 0x10, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
+ 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
+ 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
+ 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01,
+ 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44,
+ 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x55, 0x43,
+ 0x54, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x08,
+ 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45,
+ 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x45, 0x10,
+ 0x08, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x09, 0x12, 0x0c, 0x0a, 0x08, 0x44,
+ 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x45, 0x4f,
+ 0x47, 0x52, 0x41, 0x50, 0x48, 0x59, 0x10, 0x0b, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45,
+ 0x52, 0x49, 0x43, 0x10, 0x0c, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x49, 0x47, 0x4e, 0x55, 0x4d, 0x45,
+ 0x52, 0x49, 0x43, 0x10, 0x0d, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41,
+ 0x4c, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x0f, 0x12, 0x09, 0x0a,
+ 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x10, 0x22, 0x46, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65,
+ 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x55, 0x4c, 0x4c, 0x41, 0x42,
+ 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44,
+ 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03,
+ 0x42, 0xba, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70,
+ 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_cloud_bigquery_storage_v1_table_proto_rawDescOnce sync.Once
+ file_google_cloud_bigquery_storage_v1_table_proto_rawDescData = file_google_cloud_bigquery_storage_v1_table_proto_rawDesc
+)
+
+func file_google_cloud_bigquery_storage_v1_table_proto_rawDescGZIP() []byte {
+ file_google_cloud_bigquery_storage_v1_table_proto_rawDescOnce.Do(func() {
+ file_google_cloud_bigquery_storage_v1_table_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_table_proto_rawDescData)
+ })
+ return file_google_cloud_bigquery_storage_v1_table_proto_rawDescData
+}
+
+var file_google_cloud_bigquery_storage_v1_table_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_google_cloud_bigquery_storage_v1_table_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_google_cloud_bigquery_storage_v1_table_proto_goTypes = []interface{}{
+ (TableFieldSchema_Type)(0), // 0: google.cloud.bigquery.storage.v1.TableFieldSchema.Type
+ (TableFieldSchema_Mode)(0), // 1: google.cloud.bigquery.storage.v1.TableFieldSchema.Mode
+ (*TableSchema)(nil), // 2: google.cloud.bigquery.storage.v1.TableSchema
+ (*TableFieldSchema)(nil), // 3: google.cloud.bigquery.storage.v1.TableFieldSchema
+ (*TableFieldSchema_FieldElementType)(nil), // 4: google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType
+}
+var file_google_cloud_bigquery_storage_v1_table_proto_depIdxs = []int32{
+ 3, // 0: google.cloud.bigquery.storage.v1.TableSchema.fields:type_name -> google.cloud.bigquery.storage.v1.TableFieldSchema
+ 0, // 1: google.cloud.bigquery.storage.v1.TableFieldSchema.type:type_name -> google.cloud.bigquery.storage.v1.TableFieldSchema.Type
+ 1, // 2: google.cloud.bigquery.storage.v1.TableFieldSchema.mode:type_name -> google.cloud.bigquery.storage.v1.TableFieldSchema.Mode
+ 3, // 3: google.cloud.bigquery.storage.v1.TableFieldSchema.fields:type_name -> google.cloud.bigquery.storage.v1.TableFieldSchema
+ 4, // 4: google.cloud.bigquery.storage.v1.TableFieldSchema.range_element_type:type_name -> google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType
+ 0, // 5: google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType.type:type_name -> google.cloud.bigquery.storage.v1.TableFieldSchema.Type
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_google_cloud_bigquery_storage_v1_table_proto_init() }
+func file_google_cloud_bigquery_storage_v1_table_proto_init() {
+ if File_google_cloud_bigquery_storage_v1_table_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TableSchema); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TableFieldSchema); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_cloud_bigquery_storage_v1_table_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TableFieldSchema_FieldElementType); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_cloud_bigquery_storage_v1_table_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_google_cloud_bigquery_storage_v1_table_proto_goTypes,
+ DependencyIndexes: file_google_cloud_bigquery_storage_v1_table_proto_depIdxs,
+ EnumInfos: file_google_cloud_bigquery_storage_v1_table_proto_enumTypes,
+ MessageInfos: file_google_cloud_bigquery_storage_v1_table_proto_msgTypes,
+ }.Build()
+ File_google_cloud_bigquery_storage_v1_table_proto = out.File
+ file_google_cloud_bigquery_storage_v1_table_proto_rawDesc = nil
+ file_google_cloud_bigquery_storage_v1_table_proto_goTypes = nil
+ file_google_cloud_bigquery_storage_v1_table_proto_depIdxs = nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage/apiv1/version.go b/vendor/cloud.google.com/go/bigquery/storage/apiv1/version.go
new file mode 100644
index 000000000..62fbf4c4d
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage/apiv1/version.go
@@ -0,0 +1,23 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by gapicgen. DO NOT EDIT.
+
+package storage
+
+import "cloud.google.com/go/bigquery/internal"
+
+func init() {
+ versionClient = internal.Version
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage_client.go b/vendor/cloud.google.com/go/bigquery/storage_client.go
new file mode 100644
index 000000000..12b770225
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage_client.go
@@ -0,0 +1,174 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "fmt"
+ "runtime"
+
+ "cloud.google.com/go/bigquery/internal"
+ storage "cloud.google.com/go/bigquery/storage/apiv1"
+ "cloud.google.com/go/bigquery/storage/apiv1/storagepb"
+ "cloud.google.com/go/internal/detect"
+ gax "github.com/googleapis/gax-go/v2"
+ "google.golang.org/api/option"
+ "google.golang.org/grpc"
+)
+
+// readClient is a managed BigQuery Storage read client scoped to a single project.
+type readClient struct {
+ rawClient *storage.BigQueryReadClient
+ projectID string
+
+ settings readClientSettings
+}
+
+type readClientSettings struct {
+ maxStreamCount int
+ maxWorkerCount int
+}
+
+func defaultReadClientSettings() readClientSettings {
+ maxWorkerCount := runtime.GOMAXPROCS(0)
+ return readClientSettings{
+ // with zero, the server will provide a value of streams so as to produce reasonable throughput
+ maxStreamCount: 0,
+ maxWorkerCount: maxWorkerCount,
+ }
+}
+
+// newReadClient instantiates a new storage read client.
+func newReadClient(ctx context.Context, projectID string, opts ...option.ClientOption) (c *readClient, err error) {
+ numConns := runtime.GOMAXPROCS(0)
+ if numConns > 4 {
+ numConns = 4
+ }
+ o := []option.ClientOption{
+ option.WithGRPCConnectionPool(numConns),
+ option.WithUserAgent(fmt.Sprintf("%s/%s", userAgentPrefix, internal.Version)),
+ }
+ o = append(o, opts...)
+
+ rawClient, err := storage.NewBigQueryReadClient(ctx, o...)
+ if err != nil {
+ return nil, err
+ }
+ rawClient.SetGoogleClientInfo("gccl", internal.Version)
+
+ // Handle project autodetection.
+ projectID, err = detect.ProjectID(ctx, projectID, "", opts...)
+ if err != nil {
+ return nil, err
+ }
+
+ settings := defaultReadClientSettings()
+ rc := &readClient{
+ rawClient: rawClient,
+ projectID: projectID,
+ settings: settings,
+ }
+
+ return rc, nil
+}
+
+// close releases resources held by the client.
+func (c *readClient) close() error {
+ if c.rawClient == nil {
+ return fmt.Errorf("already closed")
+ }
+ c.rawClient.Close()
+ c.rawClient = nil
+ return nil
+}
+
+// sessionForTable establishes a new session to fetch from a table using the Storage API
+func (c *readClient) sessionForTable(ctx context.Context, table *Table, ordered bool) (*readSession, error) {
+ tableID, err := table.Identifier(StorageAPIResourceID)
+ if err != nil {
+ return nil, err
+ }
+
+ // copy settings for a given session, to avoid overrides for all sessions
+ settings := c.settings
+ if ordered {
+ settings.maxStreamCount = 1
+ }
+
+ rs := &readSession{
+ ctx: ctx,
+ table: table,
+ tableID: tableID,
+ settings: settings,
+ readRowsFunc: c.rawClient.ReadRows,
+ createReadSessionFunc: c.rawClient.CreateReadSession,
+ }
+ return rs, nil
+}
+
+// ReadSession is the abstraction over a storage API read session.
+type readSession struct {
+ settings readClientSettings
+
+ ctx context.Context
+ table *Table
+ tableID string
+
+ bqSession *storagepb.ReadSession
+
+ // decouple from readClient to enable testing
+ createReadSessionFunc func(context.Context, *storagepb.CreateReadSessionRequest, ...gax.CallOption) (*storagepb.ReadSession, error)
+ readRowsFunc func(context.Context, *storagepb.ReadRowsRequest, ...gax.CallOption) (storagepb.BigQueryRead_ReadRowsClient, error)
+}
+
+// Start initiates a read session
+func (rs *readSession) start() error {
+ var preferredMinStreamCount int32
+ maxStreamCount := int32(rs.settings.maxStreamCount)
+ if maxStreamCount == 0 {
+ preferredMinStreamCount = int32(rs.settings.maxWorkerCount)
+ }
+ createReadSessionRequest := &storagepb.CreateReadSessionRequest{
+ Parent: fmt.Sprintf("projects/%s", rs.table.ProjectID),
+ ReadSession: &storagepb.ReadSession{
+ Table: rs.tableID,
+ DataFormat: storagepb.DataFormat_ARROW,
+ },
+ MaxStreamCount: maxStreamCount,
+ PreferredMinStreamCount: preferredMinStreamCount,
+ }
+ rpcOpts := gax.WithGRPCOptions(
+ // Read API can send batches up to 128MB
+ // https://cloud.google.com/bigquery/quotas#storage-limits
+ grpc.MaxCallRecvMsgSize(1024 * 1024 * 129),
+ )
+ session, err := rs.createReadSessionFunc(rs.ctx, createReadSessionRequest, rpcOpts)
+ if err != nil {
+ return err
+ }
+ rs.bqSession = session
+ return nil
+}
+
+// readRows returns a more direct iterators to the underlying Storage API row stream.
+func (rs *readSession) readRows(req *storagepb.ReadRowsRequest) (storagepb.BigQueryRead_ReadRowsClient, error) {
+ if rs.bqSession == nil {
+ err := rs.start()
+ if err != nil {
+ return nil, err
+ }
+ }
+ return rs.readRowsFunc(rs.ctx, req)
+}
diff --git a/vendor/cloud.google.com/go/bigquery/storage_iterator.go b/vendor/cloud.google.com/go/bigquery/storage_iterator.go
new file mode 100644
index 000000000..96e12f869
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/storage_iterator.go
@@ -0,0 +1,371 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "io"
+ "sync"
+ "sync/atomic"
+ "time"
+
+ "cloud.google.com/go/bigquery/internal/query"
+ "cloud.google.com/go/bigquery/storage/apiv1/storagepb"
+ "github.com/googleapis/gax-go/v2"
+ "golang.org/x/sync/semaphore"
+ "google.golang.org/api/iterator"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+)
+
+// storageArrowIterator is a raw interface for getting data from Storage Read API
+type storageArrowIterator struct {
+ done uint32 // atomic flag
+ initialized bool
+ errs chan error
+ ctx context.Context
+
+ schema Schema
+ rawSchema []byte
+ records chan *ArrowRecordBatch
+
+ session *readSession
+}
+
+var _ ArrowIterator = &storageArrowIterator{}
+
+func newStorageRowIteratorFromTable(ctx context.Context, table *Table, ordered bool) (*RowIterator, error) {
+ md, err := table.Metadata(ctx)
+ if err != nil {
+ return nil, err
+ }
+ rs, err := table.c.rc.sessionForTable(ctx, table, ordered)
+ if err != nil {
+ return nil, err
+ }
+ it, err := newStorageRowIterator(rs, md.Schema)
+ if err != nil {
+ return nil, err
+ }
+ if rs.bqSession == nil {
+ return nil, errors.New("read session not initialized")
+ }
+ arrowSerializedSchema := rs.bqSession.GetArrowSchema().GetSerializedSchema()
+ dec, err := newArrowDecoder(arrowSerializedSchema, md.Schema)
+ if err != nil {
+ return nil, err
+ }
+ it.arrowDecoder = dec
+ it.Schema = md.Schema
+ return it, nil
+}
+
+func newStorageRowIteratorFromJob(ctx context.Context, j *Job) (*RowIterator, error) {
+ // Needed to fetch destination table
+ job, err := j.c.JobFromProject(ctx, j.projectID, j.jobID, j.location)
+ if err != nil {
+ return nil, err
+ }
+ cfg, err := job.Config()
+ if err != nil {
+ return nil, err
+ }
+ qcfg := cfg.(*QueryConfig)
+ if qcfg.Dst == nil {
+ if !job.isScript() {
+ return nil, fmt.Errorf("job has no destination table to read")
+ }
+ lastJob, err := resolveLastChildSelectJob(ctx, job)
+ if err != nil {
+ return nil, err
+ }
+ return newStorageRowIteratorFromJob(ctx, lastJob)
+ }
+ ordered := query.HasOrderedResults(qcfg.Q)
+ return newStorageRowIteratorFromTable(ctx, qcfg.Dst, ordered)
+}
+
+func resolveLastChildSelectJob(ctx context.Context, job *Job) (*Job, error) {
+ childJobs := []*Job{}
+ it := job.Children(ctx)
+ for {
+ job, err := it.Next()
+ if err == iterator.Done {
+ break
+ }
+ if err != nil {
+ return nil, fmt.Errorf("failed to resolve table for script job: %w", err)
+ }
+ if !job.isSelectQuery() {
+ continue
+ }
+ childJobs = append(childJobs, job)
+ }
+ if len(childJobs) == 0 {
+ return nil, fmt.Errorf("failed to resolve table for script job: no child jobs found")
+ }
+ return childJobs[0], nil
+}
+
+func newRawStorageRowIterator(rs *readSession, schema Schema) (*storageArrowIterator, error) {
+ arrowIt := &storageArrowIterator{
+ ctx: rs.ctx,
+ session: rs,
+ schema: schema,
+ records: make(chan *ArrowRecordBatch, rs.settings.maxWorkerCount+1),
+ errs: make(chan error, rs.settings.maxWorkerCount+1),
+ }
+ if rs.bqSession == nil {
+ err := rs.start()
+ if err != nil {
+ return nil, err
+ }
+ }
+ arrowIt.rawSchema = rs.bqSession.GetArrowSchema().GetSerializedSchema()
+ return arrowIt, nil
+}
+
+func newStorageRowIterator(rs *readSession, schema Schema) (*RowIterator, error) {
+ arrowIt, err := newRawStorageRowIterator(rs, schema)
+ if err != nil {
+ return nil, err
+ }
+ totalRows := arrowIt.session.bqSession.EstimatedRowCount
+ it := &RowIterator{
+ ctx: rs.ctx,
+ arrowIterator: arrowIt,
+ TotalRows: uint64(totalRows),
+ rows: [][]Value{},
+ }
+ it.nextFunc = nextFuncForStorageIterator(it)
+ it.pageInfo = &iterator.PageInfo{
+ Token: "",
+ MaxSize: int(totalRows),
+ }
+ return it, nil
+}
+
+func nextFuncForStorageIterator(it *RowIterator) func() error {
+ return func() error {
+ if len(it.rows) > 0 {
+ return nil
+ }
+ record, err := it.arrowIterator.Next()
+ if err == iterator.Done {
+ if len(it.rows) == 0 {
+ return iterator.Done
+ }
+ return nil
+ }
+ if err != nil {
+ return err
+ }
+ if it.Schema == nil {
+ it.Schema = it.arrowIterator.Schema()
+ }
+ rows, err := it.arrowDecoder.decodeArrowRecords(record)
+ if err != nil {
+ return err
+ }
+ it.rows = rows
+ return nil
+ }
+}
+
+func (it *storageArrowIterator) init() error {
+ if it.initialized {
+ return nil
+ }
+
+ bqSession := it.session.bqSession
+ if bqSession == nil {
+ return errors.New("read session not initialized")
+ }
+
+ streams := bqSession.Streams
+ if len(streams) == 0 {
+ return iterator.Done
+ }
+
+ wg := sync.WaitGroup{}
+ wg.Add(len(streams))
+ sem := semaphore.NewWeighted(int64(it.session.settings.maxWorkerCount))
+ go func() {
+ wg.Wait()
+ close(it.records)
+ close(it.errs)
+ it.markDone()
+ }()
+
+ go func() {
+ for _, readStream := range streams {
+ err := sem.Acquire(it.ctx, 1)
+ if err != nil {
+ wg.Done()
+ continue
+ }
+ go func(readStreamName string) {
+ it.processStream(readStreamName)
+ sem.Release(1)
+ wg.Done()
+ }(readStream.Name)
+ }
+ }()
+ it.initialized = true
+ return nil
+}
+
+func (it *storageArrowIterator) markDone() {
+ atomic.StoreUint32(&it.done, 1)
+}
+
+func (it *storageArrowIterator) isDone() bool {
+ return atomic.LoadUint32(&it.done) != 0
+}
+
+func (it *storageArrowIterator) processStream(readStream string) {
+ bo := gax.Backoff{}
+ var offset int64
+ for {
+ rowStream, err := it.session.readRows(&storagepb.ReadRowsRequest{
+ ReadStream: readStream,
+ Offset: offset,
+ })
+ if err != nil {
+ if it.session.ctx.Err() != nil { // context cancelled, don't try again
+ return
+ }
+ backoff, shouldRetry := retryReadRows(bo, err)
+ if shouldRetry {
+ if err := gax.Sleep(it.ctx, backoff); err != nil {
+ return // context cancelled
+ }
+ continue
+ }
+ it.errs <- fmt.Errorf("failed to read rows on stream %s: %w", readStream, err)
+ continue
+ }
+ offset, err = it.consumeRowStream(readStream, rowStream, offset)
+ if errors.Is(err, io.EOF) {
+ return
+ }
+ if err != nil {
+ if it.session.ctx.Err() != nil { // context cancelled, don't queue error
+ return
+ }
+ backoff, shouldRetry := retryReadRows(bo, err)
+ if shouldRetry {
+ if err := gax.Sleep(it.ctx, backoff); err != nil {
+ return // context cancelled
+ }
+ continue
+ }
+ it.errs <- fmt.Errorf("failed to read rows on stream %s: %w", readStream, err)
+ // try to re-open row stream with updated offset
+ }
+ }
+}
+
+func retryReadRows(bo gax.Backoff, err error) (time.Duration, bool) {
+ s, ok := status.FromError(err)
+ if !ok {
+ return bo.Pause(), false
+ }
+ switch s.Code() {
+ case codes.Aborted,
+ codes.Canceled,
+ codes.DeadlineExceeded,
+ codes.FailedPrecondition,
+ codes.Internal,
+ codes.Unavailable:
+ return bo.Pause(), true
+ }
+ return bo.Pause(), false
+}
+
+func (it *storageArrowIterator) consumeRowStream(readStream string, rowStream storagepb.BigQueryRead_ReadRowsClient, offset int64) (int64, error) {
+ for {
+ r, err := rowStream.Recv()
+ if err != nil {
+ if err == io.EOF {
+ return offset, err
+ }
+ return offset, fmt.Errorf("failed to consume rows on stream %s: %w", readStream, err)
+ }
+ if r.RowCount > 0 {
+ offset += r.RowCount
+ recordBatch := r.GetArrowRecordBatch()
+ it.records <- &ArrowRecordBatch{
+ PartitionID: readStream,
+ Schema: it.rawSchema,
+ Data: recordBatch.SerializedRecordBatch,
+ }
+ }
+ }
+}
+
+// next return the next batch of rows as an arrow.Record.
+// Accessing Arrow Records directly has the drawnback of having to deal
+// with memory management.
+func (it *storageArrowIterator) Next() (*ArrowRecordBatch, error) {
+ if err := it.init(); err != nil {
+ return nil, err
+ }
+ if len(it.records) > 0 {
+ return <-it.records, nil
+ }
+ if it.isDone() {
+ return nil, iterator.Done
+ }
+ select {
+ case record := <-it.records:
+ if record == nil {
+ return nil, iterator.Done
+ }
+ return record, nil
+ case err := <-it.errs:
+ return nil, err
+ case <-it.ctx.Done():
+ return nil, it.ctx.Err()
+ }
+}
+
+func (it *storageArrowIterator) SerializedArrowSchema() []byte {
+ return it.rawSchema
+}
+
+func (it *storageArrowIterator) Schema() Schema {
+ return it.schema
+}
+
+// IsAccelerated check if the current RowIterator is
+// being accelerated by Storage API.
+func (it *RowIterator) IsAccelerated() bool {
+ return it.arrowIterator != nil
+}
+
+// ArrowIterator gives access to the raw Arrow Record Batch stream to be consumed directly.
+// Experimental: this interface is experimental and may be modified or removed in future versions,
+// regardless of any other documented package stability guarantees.
+// Don't try to mix RowIterator.Next and ArrowIterator.Next calls.
+func (it *RowIterator) ArrowIterator() (ArrowIterator, error) {
+ if !it.IsAccelerated() {
+ // TODO: can we convert plain RowIterator based on JSON API to an Arrow Stream ?
+ return nil, errors.New("bigquery: require storage read API to be enabled")
+ }
+ return it.arrowIterator, nil
+}
diff --git a/vendor/cloud.google.com/go/bigquery/table.go b/vendor/cloud.google.com/go/bigquery/table.go
new file mode 100644
index 000000000..25068e558
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/table.go
@@ -0,0 +1,1262 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "time"
+
+ "cloud.google.com/go/internal/optional"
+ "cloud.google.com/go/internal/trace"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// A Table is a reference to a BigQuery table.
+type Table struct {
+ // ProjectID, DatasetID and TableID may be omitted if the Table is the destination for a query.
+ // In this case the result will be stored in an ephemeral table.
+ ProjectID string
+ DatasetID string
+ // TableID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
+ // The maximum length is 1,024 characters.
+ TableID string
+
+ c *Client
+}
+
+// TableMetadata contains information about a BigQuery table.
+type TableMetadata struct {
+ // The following fields can be set when creating a table.
+
+ // The user-friendly name for the table.
+ Name string
+
+ // Output-only location of the table, based on the encapsulating dataset.
+ Location string
+
+ // The user-friendly description of the table.
+ Description string
+
+ // The table schema. If provided on create, ViewQuery must be empty.
+ Schema Schema
+
+ // If non-nil, this table is a materialized view.
+ MaterializedView *MaterializedViewDefinition
+
+ // The query to use for a logical view. If provided on create, Schema must be nil.
+ ViewQuery string
+
+ // Use Legacy SQL for the view query.
+ // At most one of UseLegacySQL and UseStandardSQL can be true.
+ UseLegacySQL bool
+
+ // Use Standard SQL for the view query. The default.
+ // At most one of UseLegacySQL and UseStandardSQL can be true.
+ // Deprecated: use UseLegacySQL.
+ UseStandardSQL bool
+
+ // If non-nil, the table is partitioned by time. Only one of
+ // time partitioning or range partitioning can be specified.
+ TimePartitioning *TimePartitioning
+
+ // If non-nil, the table is partitioned by integer range. Only one of
+ // time partitioning or range partitioning can be specified.
+ RangePartitioning *RangePartitioning
+
+ // If set to true, queries that reference this table must specify a
+ // partition filter (e.g. a WHERE clause) that can be used to eliminate
+ // partitions. Used to prevent unintentional full data scans on large
+ // partitioned tables.
+ RequirePartitionFilter bool
+
+ // Clustering specifies the data clustering configuration for the table.
+ Clustering *Clustering
+
+ // The time when this table expires. If set, this table will expire at the
+ // specified time. Expired tables will be deleted and their storage
+ // reclaimed. The zero value is ignored.
+ ExpirationTime time.Time
+
+ // User-provided labels.
+ Labels map[string]string
+
+ // Information about a table stored outside of BigQuery.
+ ExternalDataConfig *ExternalDataConfig
+
+ // Custom encryption configuration (e.g., Cloud KMS keys).
+ EncryptionConfig *EncryptionConfig
+
+ // All the fields below are read-only.
+
+ FullID string // An opaque ID uniquely identifying the table.
+ Type TableType
+ CreationTime time.Time
+ LastModifiedTime time.Time
+
+ // The size of the table in bytes.
+ // This does not include data that is being buffered during a streaming insert.
+ NumBytes int64
+
+ // The number of bytes in the table considered "long-term storage" for reduced
+ // billing purposes. See https://cloud.google.com/bigquery/pricing#long-term-storage
+ // for more information.
+ NumLongTermBytes int64
+
+ // The number of rows of data in this table.
+ // This does not include data that is being buffered during a streaming insert.
+ NumRows uint64
+
+ // SnapshotDefinition contains additional information about the provenance of a
+ // given snapshot table.
+ SnapshotDefinition *SnapshotDefinition
+
+ // CloneDefinition contains additional information about the provenance of a
+ // given cloned table.
+ CloneDefinition *CloneDefinition
+
+ // Contains information regarding this table's streaming buffer, if one is
+ // present. This field will be nil if the table is not being streamed to or if
+ // there is no data in the streaming buffer.
+ StreamingBuffer *StreamingBuffer
+
+ // ETag is the ETag obtained when reading metadata. Pass it to Table.Update to
+ // ensure that the metadata hasn't changed since it was read.
+ ETag string
+
+ // Defines the default collation specification of new STRING fields
+ // in the table. During table creation or update, if a STRING field is added
+ // to this table without explicit collation specified, then the table inherits
+ // the table default collation. A change to this field affects only fields
+ // added afterwards, and does not alter the existing fields.
+ // The following values are supported:
+ // - 'und:ci': undetermined locale, case insensitive.
+ // - '': empty string. Default to case-sensitive behavior.
+ // More information: https://cloud.google.com/bigquery/docs/reference/standard-sql/collation-concepts
+ DefaultCollation string
+
+ // TableConstraints contains table primary and foreign keys constraints.
+ // Present only if the table has primary or foreign keys.
+ TableConstraints *TableConstraints
+
+ // The tags associated with this table. Tag
+ // keys are globally unique. See additional information on tags
+ // (https://cloud.google.com/iam/docs/tags-access-control#definitions).
+ // An object containing a list of "key": value pairs. The key is the
+ // namespaced friendly name of the tag key, e.g. "12345/environment"
+ // where 12345 is parent id. The value is the friendly short name of the
+ // tag value, e.g. "production".
+ ResourceTags map[string]string
+}
+
+// TableConstraints defines the primary key and foreign key of a table.
+type TableConstraints struct {
+ // PrimaryKey constraint on a table's columns.
+ // Present only if the table has a primary key.
+ // The primary key is not enforced.
+ PrimaryKey *PrimaryKey
+
+ // ForeignKeys represent a list of foreign keys constraints.
+ // Foreign keys are not enforced.
+ ForeignKeys []*ForeignKey
+}
+
+// PrimaryKey represents the primary key constraint on a table's columns.
+type PrimaryKey struct {
+ // Columns that compose the primary key constraint.
+ Columns []string
+}
+
+func (pk *PrimaryKey) toBQ() *bq.TableConstraintsPrimaryKey {
+ return &bq.TableConstraintsPrimaryKey{
+ Columns: pk.Columns,
+ }
+}
+
+func bqToPrimaryKey(tc *bq.TableConstraints) *PrimaryKey {
+ if tc.PrimaryKey == nil {
+ return nil
+ }
+ return &PrimaryKey{
+ Columns: tc.PrimaryKey.Columns,
+ }
+}
+
+// ForeignKey represents a foreign key constraint on a table's columns.
+type ForeignKey struct {
+ // Foreign key constraint name.
+ Name string
+
+ // Table that holds the primary key and is referenced by this foreign key.
+ ReferencedTable *Table
+
+ // Columns that compose the foreign key.
+ ColumnReferences []*ColumnReference
+}
+
+func (fk *ForeignKey) toBQ() *bq.TableConstraintsForeignKeys {
+ colRefs := []*bq.TableConstraintsForeignKeysColumnReferences{}
+ for _, colRef := range fk.ColumnReferences {
+ colRefs = append(colRefs, colRef.toBQ())
+ }
+ return &bq.TableConstraintsForeignKeys{
+ Name: fk.Name,
+ ReferencedTable: &bq.TableConstraintsForeignKeysReferencedTable{
+ DatasetId: fk.ReferencedTable.DatasetID,
+ ProjectId: fk.ReferencedTable.ProjectID,
+ TableId: fk.ReferencedTable.TableID,
+ },
+ ColumnReferences: colRefs,
+ }
+}
+
+func bqToForeignKeys(tc *bq.TableConstraints, c *Client) []*ForeignKey {
+ fks := []*ForeignKey{}
+ for _, fk := range tc.ForeignKeys {
+ colRefs := []*ColumnReference{}
+ for _, colRef := range fk.ColumnReferences {
+ colRefs = append(colRefs, &ColumnReference{
+ ReferencedColumn: colRef.ReferencedColumn,
+ ReferencingColumn: colRef.ReferencingColumn,
+ })
+ }
+ fks = append(fks, &ForeignKey{
+ Name: fk.Name,
+ ReferencedTable: c.DatasetInProject(fk.ReferencedTable.ProjectId, fk.ReferencedTable.DatasetId).Table(fk.ReferencedTable.TableId),
+ ColumnReferences: colRefs,
+ })
+ }
+ return fks
+}
+
+// ColumnReference represents the pair of the foreign key column and primary key column.
+type ColumnReference struct {
+ // ReferencingColumn is the column in the current table that composes the foreign key.
+ ReferencingColumn string
+ // ReferencedColumn is the column in the primary key of the foreign table that
+ // is referenced by the ReferencingColumn.
+ ReferencedColumn string
+}
+
+func (colRef *ColumnReference) toBQ() *bq.TableConstraintsForeignKeysColumnReferences {
+ return &bq.TableConstraintsForeignKeysColumnReferences{
+ ReferencedColumn: colRef.ReferencedColumn,
+ ReferencingColumn: colRef.ReferencingColumn,
+ }
+}
+
+// TableCreateDisposition specifies the circumstances under which destination table will be created.
+// Default is CreateIfNeeded.
+type TableCreateDisposition string
+
+const (
+ // CreateIfNeeded will create the table if it does not already exist.
+ // Tables are created atomically on successful completion of a job.
+ CreateIfNeeded TableCreateDisposition = "CREATE_IF_NEEDED"
+
+ // CreateNever ensures the table must already exist and will not be
+ // automatically created.
+ CreateNever TableCreateDisposition = "CREATE_NEVER"
+)
+
+// TableWriteDisposition specifies how existing data in a destination table is treated.
+// Default is WriteAppend.
+type TableWriteDisposition string
+
+const (
+ // WriteAppend will append to any existing data in the destination table.
+ // Data is appended atomically on successful completion of a job.
+ WriteAppend TableWriteDisposition = "WRITE_APPEND"
+
+ // WriteTruncate overrides the existing data in the destination table.
+ // Data is overwritten atomically on successful completion of a job.
+ WriteTruncate TableWriteDisposition = "WRITE_TRUNCATE"
+
+ // WriteEmpty fails writes if the destination table already contains data.
+ WriteEmpty TableWriteDisposition = "WRITE_EMPTY"
+)
+
+// TableType is the type of table.
+type TableType string
+
+const (
+ // RegularTable is a regular table.
+ RegularTable TableType = "TABLE"
+ // ViewTable is a table type describing that the table is a logical view.
+ // See more information at https://cloud.google.com/bigquery/docs/views.
+ ViewTable TableType = "VIEW"
+ // ExternalTable is a table type describing that the table is an external
+ // table (also known as a federated data source). See more information at
+ // https://cloud.google.com/bigquery/external-data-sources.
+ ExternalTable TableType = "EXTERNAL"
+ // MaterializedView represents a managed storage table that's derived from
+ // a base table.
+ MaterializedView TableType = "MATERIALIZED_VIEW"
+ // Snapshot represents an immutable point in time snapshot of some other
+ // table.
+ Snapshot TableType = "SNAPSHOT"
+)
+
+// MaterializedViewDefinition contains information for materialized views.
+type MaterializedViewDefinition struct {
+ // EnableRefresh governs whether the derived view is updated to reflect
+ // changes in the base table.
+ EnableRefresh bool
+
+ // LastRefreshTime reports the time, in millisecond precision, that the
+ // materialized view was last updated.
+ LastRefreshTime time.Time
+
+ // Query contains the SQL query used to define the materialized view.
+ Query string
+
+ // RefreshInterval defines the maximum frequency, in millisecond precision,
+ // at which this this materialized view will be refreshed.
+ RefreshInterval time.Duration
+
+ // AllowNonIncrementalDefinition for materialized view definition.
+ // The default value is false.
+ AllowNonIncrementalDefinition bool
+
+ // MaxStaleness of data that could be returned when materialized
+ // view is queried.
+ MaxStaleness *IntervalValue
+}
+
+func (mvd *MaterializedViewDefinition) toBQ() *bq.MaterializedViewDefinition {
+ if mvd == nil {
+ return nil
+ }
+ maxStaleness := ""
+ if mvd.MaxStaleness != nil {
+ maxStaleness = mvd.MaxStaleness.String()
+ }
+ return &bq.MaterializedViewDefinition{
+ EnableRefresh: mvd.EnableRefresh,
+ Query: mvd.Query,
+ LastRefreshTime: mvd.LastRefreshTime.UnixNano() / 1e6,
+ RefreshIntervalMs: int64(mvd.RefreshInterval) / 1e6,
+ AllowNonIncrementalDefinition: mvd.AllowNonIncrementalDefinition,
+ MaxStaleness: maxStaleness,
+ // force sending the bool in all cases due to how Go handles false.
+ ForceSendFields: []string{"EnableRefresh", "AllowNonIncrementalDefinition"},
+ }
+}
+
+func bqToMaterializedViewDefinition(q *bq.MaterializedViewDefinition) *MaterializedViewDefinition {
+ if q == nil {
+ return nil
+ }
+ var maxStaleness *IntervalValue
+ if q.MaxStaleness != "" {
+ maxStaleness, _ = ParseInterval(q.MaxStaleness)
+ }
+ return &MaterializedViewDefinition{
+ EnableRefresh: q.EnableRefresh,
+ Query: q.Query,
+ LastRefreshTime: unixMillisToTime(q.LastRefreshTime),
+ RefreshInterval: time.Duration(q.RefreshIntervalMs) * time.Millisecond,
+ AllowNonIncrementalDefinition: q.AllowNonIncrementalDefinition,
+ MaxStaleness: maxStaleness,
+ }
+}
+
+// SnapshotDefinition provides metadata related to the origin of a snapshot.
+type SnapshotDefinition struct {
+
+ // BaseTableReference describes the ID of the table that this snapshot
+ // came from.
+ BaseTableReference *Table
+
+ // SnapshotTime indicates when the base table was snapshot.
+ SnapshotTime time.Time
+}
+
+func (sd *SnapshotDefinition) toBQ() *bq.SnapshotDefinition {
+ if sd == nil {
+ return nil
+ }
+ return &bq.SnapshotDefinition{
+ BaseTableReference: sd.BaseTableReference.toBQ(),
+ SnapshotTime: sd.SnapshotTime.Format(time.RFC3339),
+ }
+}
+
+func bqToSnapshotDefinition(q *bq.SnapshotDefinition, c *Client) *SnapshotDefinition {
+ if q == nil {
+ return nil
+ }
+ sd := &SnapshotDefinition{
+ BaseTableReference: bqToTable(q.BaseTableReference, c),
+ }
+ // It's possible we could fail to populate SnapshotTime if we fail to parse
+ // the backend representation.
+ if t, err := time.Parse(time.RFC3339, q.SnapshotTime); err == nil {
+ sd.SnapshotTime = t
+ }
+ return sd
+}
+
+// CloneDefinition provides metadata related to the origin of a clone.
+type CloneDefinition struct {
+
+ // BaseTableReference describes the ID of the table that this clone
+ // came from.
+ BaseTableReference *Table
+
+ // CloneTime indicates when the base table was cloned.
+ CloneTime time.Time
+}
+
+func (cd *CloneDefinition) toBQ() *bq.CloneDefinition {
+ if cd == nil {
+ return nil
+ }
+ return &bq.CloneDefinition{
+ BaseTableReference: cd.BaseTableReference.toBQ(),
+ CloneTime: cd.CloneTime.Format(time.RFC3339),
+ }
+}
+
+func bqToCloneDefinition(q *bq.CloneDefinition, c *Client) *CloneDefinition {
+ if q == nil {
+ return nil
+ }
+ cd := &CloneDefinition{
+ BaseTableReference: bqToTable(q.BaseTableReference, c),
+ }
+ // It's possible we could fail to populate CloneTime if we fail to parse
+ // the backend representation.
+ if t, err := time.Parse(time.RFC3339, q.CloneTime); err == nil {
+ cd.CloneTime = t
+ }
+ return cd
+}
+
+// TimePartitioningType defines the interval used to partition managed data.
+type TimePartitioningType string
+
+const (
+ // DayPartitioningType uses a day-based interval for time partitioning.
+ DayPartitioningType TimePartitioningType = "DAY"
+
+ // HourPartitioningType uses an hour-based interval for time partitioning.
+ HourPartitioningType TimePartitioningType = "HOUR"
+
+ // MonthPartitioningType uses a month-based interval for time partitioning.
+ MonthPartitioningType TimePartitioningType = "MONTH"
+
+ // YearPartitioningType uses a year-based interval for time partitioning.
+ YearPartitioningType TimePartitioningType = "YEAR"
+)
+
+// TimePartitioning describes the time-based date partitioning on a table.
+// For more information see: https://cloud.google.com/bigquery/docs/creating-partitioned-tables.
+type TimePartitioning struct {
+ // Defines the partition interval type. Supported values are "HOUR", "DAY", "MONTH", and "YEAR".
+ // When the interval type is not specified, default behavior is DAY.
+ Type TimePartitioningType
+
+ // The amount of time to keep the storage for a partition.
+ // If the duration is empty (0), the data in the partitions do not expire.
+ Expiration time.Duration
+
+ // If empty, the table is partitioned by pseudo column '_PARTITIONTIME'; if set, the
+ // table is partitioned by this field. The field must be a top-level TIMESTAMP or
+ // DATE field. Its mode must be NULLABLE or REQUIRED.
+ Field string
+
+ // If set to true, queries that reference this table must specify a
+ // partition filter (e.g. a WHERE clause) that can be used to eliminate
+ // partitions. Used to prevent unintentional full data scans on large
+ // partitioned tables.
+ // DEPRECATED: use the top-level RequirePartitionFilter in TableMetadata.
+ RequirePartitionFilter bool
+}
+
+func (p *TimePartitioning) toBQ() *bq.TimePartitioning {
+ if p == nil {
+ return nil
+ }
+ // Treat unspecified values as DAY-based partitioning.
+ intervalType := DayPartitioningType
+ if p.Type != "" {
+ intervalType = p.Type
+ }
+ return &bq.TimePartitioning{
+ Type: string(intervalType),
+ ExpirationMs: int64(p.Expiration / time.Millisecond),
+ Field: p.Field,
+ RequirePartitionFilter: p.RequirePartitionFilter,
+ }
+}
+
+func bqToTimePartitioning(q *bq.TimePartitioning) *TimePartitioning {
+ if q == nil {
+ return nil
+ }
+ return &TimePartitioning{
+ Type: TimePartitioningType(q.Type),
+ Expiration: time.Duration(q.ExpirationMs) * time.Millisecond,
+ Field: q.Field,
+ RequirePartitionFilter: q.RequirePartitionFilter,
+ }
+}
+
+// RangePartitioning indicates an integer-range based storage organization strategy.
+type RangePartitioning struct {
+ // The field by which the table is partitioned.
+ // This field must be a top-level field, and must be typed as an
+ // INTEGER/INT64.
+ Field string
+ // The details of how partitions are mapped onto the integer range.
+ Range *RangePartitioningRange
+}
+
+// RangePartitioningRange defines the boundaries and width of partitioned values.
+type RangePartitioningRange struct {
+ // The start value of defined range of values, inclusive of the specified value.
+ Start int64
+ // The end of the defined range of values, exclusive of the defined value.
+ End int64
+ // The width of each interval range.
+ Interval int64
+}
+
+func (rp *RangePartitioning) toBQ() *bq.RangePartitioning {
+ if rp == nil {
+ return nil
+ }
+ return &bq.RangePartitioning{
+ Field: rp.Field,
+ Range: rp.Range.toBQ(),
+ }
+}
+
+func bqToRangePartitioning(q *bq.RangePartitioning) *RangePartitioning {
+ if q == nil {
+ return nil
+ }
+ return &RangePartitioning{
+ Field: q.Field,
+ Range: bqToRangePartitioningRange(q.Range),
+ }
+}
+
+func bqToRangePartitioningRange(br *bq.RangePartitioningRange) *RangePartitioningRange {
+ if br == nil {
+ return nil
+ }
+ return &RangePartitioningRange{
+ Start: br.Start,
+ End: br.End,
+ Interval: br.Interval,
+ }
+}
+
+func (rpr *RangePartitioningRange) toBQ() *bq.RangePartitioningRange {
+ if rpr == nil {
+ return nil
+ }
+ return &bq.RangePartitioningRange{
+ Start: rpr.Start,
+ End: rpr.End,
+ Interval: rpr.Interval,
+ ForceSendFields: []string{"Start", "End", "Interval"},
+ }
+}
+
+// Clustering governs the organization of data within a managed table.
+// For more information, see https://cloud.google.com/bigquery/docs/clustered-tables
+type Clustering struct {
+ Fields []string
+}
+
+func (c *Clustering) toBQ() *bq.Clustering {
+ if c == nil {
+ return nil
+ }
+ return &bq.Clustering{
+ Fields: c.Fields,
+ }
+}
+
+func bqToClustering(q *bq.Clustering) *Clustering {
+ if q == nil {
+ return nil
+ }
+ return &Clustering{
+ Fields: q.Fields,
+ }
+}
+
+// EncryptionConfig configures customer-managed encryption on tables and ML models.
+type EncryptionConfig struct {
+ // Describes the Cloud KMS encryption key that will be used to protect
+ // destination BigQuery table. The BigQuery Service Account associated with your
+ // project requires access to this encryption key.
+ KMSKeyName string
+}
+
+func (e *EncryptionConfig) toBQ() *bq.EncryptionConfiguration {
+ if e == nil {
+ return nil
+ }
+ return &bq.EncryptionConfiguration{
+ KmsKeyName: e.KMSKeyName,
+ }
+}
+
+func bqToEncryptionConfig(q *bq.EncryptionConfiguration) *EncryptionConfig {
+ if q == nil {
+ return nil
+ }
+ return &EncryptionConfig{
+ KMSKeyName: q.KmsKeyName,
+ }
+}
+
+// StreamingBuffer holds information about the streaming buffer.
+type StreamingBuffer struct {
+ // A lower-bound estimate of the number of bytes currently in the streaming
+ // buffer.
+ EstimatedBytes uint64
+
+ // A lower-bound estimate of the number of rows currently in the streaming
+ // buffer.
+ EstimatedRows uint64
+
+ // The time of the oldest entry in the streaming buffer.
+ OldestEntryTime time.Time
+}
+
+func (t *Table) toBQ() *bq.TableReference {
+ return &bq.TableReference{
+ ProjectId: t.ProjectID,
+ DatasetId: t.DatasetID,
+ TableId: t.TableID,
+ }
+}
+
+// IdentifierFormat represents a how certain resource identifiers such as table references
+// are formatted.
+type IdentifierFormat string
+
+var (
+ // StandardSQLID returns an identifier suitable for use with Standard SQL.
+ StandardSQLID IdentifierFormat = "SQL"
+
+ // LegacySQLID returns an identifier suitable for use with Legacy SQL.
+ LegacySQLID IdentifierFormat = "LEGACY_SQL"
+
+ // StorageAPIResourceID returns an identifier suitable for use with the Storage API. Namely, it's for formatting
+ // a table resource for invoking read and write functionality.
+ StorageAPIResourceID IdentifierFormat = "STORAGE_API_RESOURCE"
+
+ // ErrUnknownIdentifierFormat is indicative of requesting an identifier in a format that is
+ // not supported.
+ ErrUnknownIdentifierFormat = errors.New("unknown identifier format")
+)
+
+// Identifier returns the ID of the table in the requested format.
+func (t *Table) Identifier(f IdentifierFormat) (string, error) {
+ switch f {
+ case LegacySQLID:
+ return fmt.Sprintf("%s:%s.%s", t.ProjectID, t.DatasetID, t.TableID), nil
+ case StorageAPIResourceID:
+ return fmt.Sprintf("projects/%s/datasets/%s/tables/%s", t.ProjectID, t.DatasetID, t.TableID), nil
+ case StandardSQLID:
+ // Note we don't need to quote the project ID here, as StandardSQL has special rules to allow
+ // dash identifiers for projects without issue in table identifiers.
+ return fmt.Sprintf("%s.%s.%s", t.ProjectID, t.DatasetID, t.TableID), nil
+ default:
+ return "", ErrUnknownIdentifierFormat
+ }
+}
+
+// FullyQualifiedName returns the ID of the table in projectID:datasetID.tableID format.
+func (t *Table) FullyQualifiedName() string {
+ s, _ := t.Identifier(LegacySQLID)
+ return s
+}
+
+// implicitTable reports whether Table is an empty placeholder, which signifies that a new table should be created with an auto-generated Table ID.
+func (t *Table) implicitTable() bool {
+ return t.ProjectID == "" && t.DatasetID == "" && t.TableID == ""
+}
+
+// Create creates a table in the BigQuery service.
+// Pass in a TableMetadata value to configure the table.
+// If tm.View.Query is non-empty, the created table will be of type VIEW.
+// If no ExpirationTime is specified, the table will never expire.
+// After table creation, a view can be modified only if its table was initially created
+// with a view.
+func (t *Table) Create(ctx context.Context, tm *TableMetadata) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Table.Create")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ table, err := tm.toBQ()
+ if err != nil {
+ return err
+ }
+ table.TableReference = &bq.TableReference{
+ ProjectId: t.ProjectID,
+ DatasetId: t.DatasetID,
+ TableId: t.TableID,
+ }
+
+ req := t.c.bqs.Tables.Insert(t.ProjectID, t.DatasetID, table).Context(ctx)
+ setClientHeader(req.Header())
+ return runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.tables.insert")
+ _, err = req.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ })
+}
+
+func (tm *TableMetadata) toBQ() (*bq.Table, error) {
+ t := &bq.Table{}
+ if tm == nil {
+ return t, nil
+ }
+ if tm.Schema != nil && tm.ViewQuery != "" {
+ return nil, errors.New("bigquery: provide Schema or ViewQuery, not both")
+ }
+ t.FriendlyName = tm.Name
+ t.Description = tm.Description
+ t.Labels = tm.Labels
+ if tm.Schema != nil {
+ t.Schema = tm.Schema.toBQ()
+ }
+ if tm.ViewQuery != "" {
+ if tm.UseStandardSQL && tm.UseLegacySQL {
+ return nil, errors.New("bigquery: cannot provide both UseStandardSQL and UseLegacySQL")
+ }
+ t.View = &bq.ViewDefinition{Query: tm.ViewQuery}
+ if tm.UseLegacySQL {
+ t.View.UseLegacySql = true
+ } else {
+ t.View.UseLegacySql = false
+ t.View.ForceSendFields = append(t.View.ForceSendFields, "UseLegacySql")
+ }
+ } else if tm.UseLegacySQL || tm.UseStandardSQL {
+ return nil, errors.New("bigquery: UseLegacy/StandardSQL requires ViewQuery")
+ }
+ t.MaterializedView = tm.MaterializedView.toBQ()
+ t.TimePartitioning = tm.TimePartitioning.toBQ()
+ t.RangePartitioning = tm.RangePartitioning.toBQ()
+ t.Clustering = tm.Clustering.toBQ()
+ t.RequirePartitionFilter = tm.RequirePartitionFilter
+ t.SnapshotDefinition = tm.SnapshotDefinition.toBQ()
+ t.CloneDefinition = tm.CloneDefinition.toBQ()
+
+ if !validExpiration(tm.ExpirationTime) {
+ return nil, fmt.Errorf("invalid expiration time: %v.\n"+
+ "Valid expiration times are after 1678 and before 2262", tm.ExpirationTime)
+ }
+ if !tm.ExpirationTime.IsZero() && tm.ExpirationTime != NeverExpire {
+ t.ExpirationTime = tm.ExpirationTime.UnixNano() / 1e6
+ }
+ if tm.ExternalDataConfig != nil {
+ edc := tm.ExternalDataConfig.toBQ()
+ t.ExternalDataConfiguration = &edc
+ }
+ t.EncryptionConfiguration = tm.EncryptionConfig.toBQ()
+ if tm.FullID != "" {
+ return nil, errors.New("cannot set FullID on create")
+ }
+ if tm.Type != "" {
+ return nil, errors.New("cannot set Type on create")
+ }
+ if !tm.CreationTime.IsZero() {
+ return nil, errors.New("cannot set CreationTime on create")
+ }
+ if !tm.LastModifiedTime.IsZero() {
+ return nil, errors.New("cannot set LastModifiedTime on create")
+ }
+ if tm.NumBytes != 0 {
+ return nil, errors.New("cannot set NumBytes on create")
+ }
+ if tm.NumLongTermBytes != 0 {
+ return nil, errors.New("cannot set NumLongTermBytes on create")
+ }
+ if tm.NumRows != 0 {
+ return nil, errors.New("cannot set NumRows on create")
+ }
+ if tm.StreamingBuffer != nil {
+ return nil, errors.New("cannot set StreamingBuffer on create")
+ }
+ if tm.ETag != "" {
+ return nil, errors.New("cannot set ETag on create")
+ }
+ t.DefaultCollation = string(tm.DefaultCollation)
+
+ if tm.TableConstraints != nil {
+ t.TableConstraints = &bq.TableConstraints{}
+ if tm.TableConstraints.PrimaryKey != nil {
+ t.TableConstraints.PrimaryKey = tm.TableConstraints.PrimaryKey.toBQ()
+ }
+ if len(tm.TableConstraints.ForeignKeys) > 0 {
+ t.TableConstraints.ForeignKeys = make([]*bq.TableConstraintsForeignKeys, len(tm.TableConstraints.ForeignKeys))
+ for i, fk := range tm.TableConstraints.ForeignKeys {
+ t.TableConstraints.ForeignKeys[i] = fk.toBQ()
+ }
+ }
+ }
+ if tm.ResourceTags != nil {
+ t.ResourceTags = make(map[string]string)
+ for k, v := range tm.ResourceTags {
+ t.ResourceTags[k] = v
+ }
+ }
+ return t, nil
+}
+
+// We use this for the option pattern rather than exposing the underlying
+// discovery type directly.
+type tableGetCall struct {
+ call *bq.TablesGetCall
+}
+
+// TableMetadataOption allow requests to alter requests for table metadata.
+type TableMetadataOption func(*tableGetCall)
+
+// TableMetadataView specifies which details about a table are desired.
+type TableMetadataView string
+
+const (
+ // BasicMetadataView populates basic table information including schema partitioning,
+ // but does not contain storage statistics like number or rows or bytes. This is a more
+ // efficient view to use for large tables or higher metadata query rates.
+ BasicMetadataView TableMetadataView = "BASIC"
+
+ // FullMetadataView returns all table information, including storage statistics. It currently
+ // returns the same information as StorageStatsMetadataView, but may include additional information
+ // in the future.
+ FullMetadataView TableMetadataView = "FULL"
+
+ // StorageStatsMetadataView includes all information from the basic view, and includes storage statistics. It currently
+ StorageStatsMetadataView TableMetadataView = "STORAGE_STATS"
+)
+
+// WithMetadataView is used to customize what details are returned when interrogating a
+// table via the Metadata() call. Generally this is used to limit data returned for performance
+// reasons (such as large tables that take time computing storage statistics).
+func WithMetadataView(tmv TableMetadataView) TableMetadataOption {
+ return func(tgc *tableGetCall) {
+ tgc.call.View(string(tmv))
+ }
+}
+
+// Metadata fetches the metadata for the table.
+func (t *Table) Metadata(ctx context.Context, opts ...TableMetadataOption) (md *TableMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Table.Metadata")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ tgc := &tableGetCall{
+ call: t.c.bqs.Tables.Get(t.ProjectID, t.DatasetID, t.TableID).Context(ctx),
+ }
+
+ for _, o := range opts {
+ o(tgc)
+ }
+
+ setClientHeader(tgc.call.Header())
+ var res *bq.Table
+ if err := runWithRetry(ctx, func() (err error) {
+ sCtx := trace.StartSpan(ctx, "bigquery.tables.get")
+ res, err = tgc.call.Do()
+ trace.EndSpan(sCtx, err)
+ return err
+ }); err != nil {
+ return nil, err
+ }
+ return bqToTableMetadata(res, t.c)
+}
+
+func bqToTableMetadata(t *bq.Table, c *Client) (*TableMetadata, error) {
+ md := &TableMetadata{
+ Description: t.Description,
+ Name: t.FriendlyName,
+ Location: t.Location,
+ Type: TableType(t.Type),
+ FullID: t.Id,
+ Labels: t.Labels,
+ NumBytes: t.NumBytes,
+ NumLongTermBytes: t.NumLongTermBytes,
+ NumRows: t.NumRows,
+ ExpirationTime: unixMillisToTime(t.ExpirationTime),
+ CreationTime: unixMillisToTime(t.CreationTime),
+ LastModifiedTime: unixMillisToTime(int64(t.LastModifiedTime)),
+ ETag: t.Etag,
+ DefaultCollation: t.DefaultCollation,
+ EncryptionConfig: bqToEncryptionConfig(t.EncryptionConfiguration),
+ RequirePartitionFilter: t.RequirePartitionFilter,
+ SnapshotDefinition: bqToSnapshotDefinition(t.SnapshotDefinition, c),
+ CloneDefinition: bqToCloneDefinition(t.CloneDefinition, c),
+ }
+ if t.MaterializedView != nil {
+ md.MaterializedView = bqToMaterializedViewDefinition(t.MaterializedView)
+ }
+ if t.Schema != nil {
+ md.Schema = bqToSchema(t.Schema)
+ }
+ if t.View != nil {
+ md.ViewQuery = t.View.Query
+ md.UseLegacySQL = t.View.UseLegacySql
+ }
+ md.TimePartitioning = bqToTimePartitioning(t.TimePartitioning)
+ md.RangePartitioning = bqToRangePartitioning(t.RangePartitioning)
+ md.Clustering = bqToClustering(t.Clustering)
+ if t.StreamingBuffer != nil {
+ md.StreamingBuffer = &StreamingBuffer{
+ EstimatedBytes: t.StreamingBuffer.EstimatedBytes,
+ EstimatedRows: t.StreamingBuffer.EstimatedRows,
+ OldestEntryTime: unixMillisToTime(int64(t.StreamingBuffer.OldestEntryTime)),
+ }
+ }
+ if t.ExternalDataConfiguration != nil {
+ edc, err := bqToExternalDataConfig(t.ExternalDataConfiguration)
+ if err != nil {
+ return nil, err
+ }
+ md.ExternalDataConfig = edc
+ }
+ if t.TableConstraints != nil {
+ md.TableConstraints = &TableConstraints{
+ PrimaryKey: bqToPrimaryKey(t.TableConstraints),
+ ForeignKeys: bqToForeignKeys(t.TableConstraints, c),
+ }
+ }
+ if t.ResourceTags != nil {
+ md.ResourceTags = make(map[string]string)
+ for k, v := range t.ResourceTags {
+ md.ResourceTags[k] = v
+ }
+ }
+ return md, nil
+}
+
+// Delete deletes the table.
+func (t *Table) Delete(ctx context.Context) (err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Table.Delete")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ call := t.c.bqs.Tables.Delete(t.ProjectID, t.DatasetID, t.TableID).Context(ctx)
+ setClientHeader(call.Header())
+
+ return runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.tables.delete")
+ err = call.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ })
+}
+
+// Read fetches the contents of the table.
+func (t *Table) Read(ctx context.Context) *RowIterator {
+ return t.read(ctx, fetchPage)
+}
+
+func (t *Table) read(ctx context.Context, pf pageFetcher) *RowIterator {
+ if t.c.isStorageReadAvailable() {
+ it, err := newStorageRowIteratorFromTable(ctx, t, false)
+ if err == nil {
+ return it
+ }
+ }
+ return newRowIterator(ctx, &rowSource{t: t}, pf)
+}
+
+// NeverExpire is a sentinel value used to remove a table'e expiration time.
+var NeverExpire = time.Time{}.Add(-1)
+
+// We use this for the option pattern rather than exposing the underlying
+// discovery type directly.
+type tablePatchCall struct {
+ call *bq.TablesPatchCall
+}
+
+// TableUpdateOption allow requests to update table metadata.
+type TableUpdateOption func(*tablePatchCall)
+
+// WithAutoDetectSchema governs whether the schema autodetection occurs as part of the table update.
+// This is relevant in cases like external tables where schema is detected from the source data.
+func WithAutoDetectSchema(b bool) TableUpdateOption {
+ return func(tpc *tablePatchCall) {
+ tpc.call.AutodetectSchema(b)
+ }
+}
+
+// Update modifies specific Table metadata fields.
+func (t *Table) Update(ctx context.Context, tm TableMetadataToUpdate, etag string, opts ...TableUpdateOption) (md *TableMetadata, err error) {
+ ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigquery.Table.Update")
+ defer func() { trace.EndSpan(ctx, err) }()
+
+ bqt, err := tm.toBQ()
+ if err != nil {
+ return nil, err
+ }
+
+ tpc := &tablePatchCall{
+ call: t.c.bqs.Tables.Patch(t.ProjectID, t.DatasetID, t.TableID, bqt).Context(ctx),
+ }
+
+ for _, o := range opts {
+ o(tpc)
+ }
+
+ setClientHeader(tpc.call.Header())
+ if etag != "" {
+ tpc.call.Header().Set("If-Match", etag)
+ }
+ var res *bq.Table
+ if err := runWithRetry(ctx, func() (err error) {
+ ctx = trace.StartSpan(ctx, "bigquery.tables.patch")
+ res, err = tpc.call.Do()
+ trace.EndSpan(ctx, err)
+ return err
+ }); err != nil {
+ return nil, err
+ }
+ return bqToTableMetadata(res, t.c)
+}
+
+func (tm *TableMetadataToUpdate) toBQ() (*bq.Table, error) {
+ t := &bq.Table{}
+ forceSend := func(field string) {
+ t.ForceSendFields = append(t.ForceSendFields, field)
+ }
+
+ if tm.Description != nil {
+ t.Description = optional.ToString(tm.Description)
+ forceSend("Description")
+ }
+ if tm.Name != nil {
+ t.FriendlyName = optional.ToString(tm.Name)
+ forceSend("FriendlyName")
+ }
+ if tm.MaterializedView != nil {
+ t.MaterializedView = tm.MaterializedView.toBQ()
+ forceSend("MaterializedView")
+ }
+ if tm.Schema != nil {
+ t.Schema = tm.Schema.toBQ()
+ forceSend("Schema")
+ }
+ if tm.EncryptionConfig != nil {
+ t.EncryptionConfiguration = tm.EncryptionConfig.toBQ()
+ }
+ if tm.ExternalDataConfig != nil {
+ cfg := tm.ExternalDataConfig.toBQ()
+ t.ExternalDataConfiguration = &cfg
+ }
+
+ if tm.Clustering != nil {
+ t.Clustering = tm.Clustering.toBQ()
+ }
+
+ if !validExpiration(tm.ExpirationTime) {
+ return nil, invalidTimeError(tm.ExpirationTime)
+ }
+ if tm.ExpirationTime == NeverExpire {
+ t.NullFields = append(t.NullFields, "ExpirationTime")
+ } else if !tm.ExpirationTime.IsZero() {
+ t.ExpirationTime = tm.ExpirationTime.UnixNano() / 1e6
+ forceSend("ExpirationTime")
+ }
+ if tm.TimePartitioning != nil {
+ t.TimePartitioning = tm.TimePartitioning.toBQ()
+ t.TimePartitioning.ForceSendFields = []string{"RequirePartitionFilter"}
+ if tm.TimePartitioning.Expiration == 0 {
+ t.TimePartitioning.NullFields = []string{"ExpirationMs"}
+ }
+ }
+ if tm.RequirePartitionFilter != nil {
+ t.RequirePartitionFilter = optional.ToBool(tm.RequirePartitionFilter)
+ forceSend("RequirePartitionFilter")
+ }
+ if tm.ViewQuery != nil {
+ t.View = &bq.ViewDefinition{
+ Query: optional.ToString(tm.ViewQuery),
+ ForceSendFields: []string{"Query"},
+ }
+ }
+ if tm.UseLegacySQL != nil {
+ if t.View == nil {
+ t.View = &bq.ViewDefinition{}
+ }
+ t.View.UseLegacySql = optional.ToBool(tm.UseLegacySQL)
+ t.View.ForceSendFields = append(t.View.ForceSendFields, "UseLegacySql")
+ }
+ if tm.DefaultCollation != nil {
+ t.DefaultCollation = optional.ToString(tm.DefaultCollation)
+ forceSend("DefaultCollation")
+ }
+ if tm.TableConstraints != nil {
+ t.TableConstraints = &bq.TableConstraints{}
+ if tm.TableConstraints.PrimaryKey != nil {
+ t.TableConstraints.PrimaryKey = tm.TableConstraints.PrimaryKey.toBQ()
+ t.TableConstraints.PrimaryKey.ForceSendFields = append(t.TableConstraints.PrimaryKey.ForceSendFields, "Columns")
+ t.TableConstraints.ForceSendFields = append(t.TableConstraints.ForceSendFields, "PrimaryKey")
+ }
+ if tm.TableConstraints.ForeignKeys != nil {
+ t.TableConstraints.ForeignKeys = make([]*bq.TableConstraintsForeignKeys, len(tm.TableConstraints.ForeignKeys))
+ for i, fk := range tm.TableConstraints.ForeignKeys {
+ t.TableConstraints.ForeignKeys[i] = fk.toBQ()
+ }
+ t.TableConstraints.ForceSendFields = append(t.TableConstraints.ForceSendFields, "ForeignKeys")
+ }
+ }
+ if tm.ResourceTags != nil {
+ t.ResourceTags = make(map[string]string)
+ for k, v := range tm.ResourceTags {
+ t.ResourceTags[k] = v
+ }
+ forceSend("ResourceTags")
+ }
+ labels, forces, nulls := tm.update()
+ t.Labels = labels
+ t.ForceSendFields = append(t.ForceSendFields, forces...)
+ t.NullFields = append(t.NullFields, nulls...)
+ return t, nil
+}
+
+// validExpiration ensures a specified time is either the sentinel NeverExpire,
+// the zero value, or within the defined range of UnixNano. Internal
+// represetations of expiration times are based upon Time.UnixNano. Any time
+// before 1678 or after 2262 cannot be represented by an int64 and is therefore
+// undefined and invalid. See https://godoc.org/time#Time.UnixNano.
+func validExpiration(t time.Time) bool {
+ return t == NeverExpire || t.IsZero() || time.Unix(0, t.UnixNano()).Equal(t)
+}
+
+// invalidTimeError emits a consistent error message for failures of the
+// validExpiration function.
+func invalidTimeError(t time.Time) error {
+ return fmt.Errorf("invalid expiration time %v. "+
+ "Valid expiration times are after 1678 and before 2262", t)
+}
+
+// TableMetadataToUpdate is used when updating a table's metadata.
+// Only non-nil fields will be updated.
+type TableMetadataToUpdate struct {
+ // The user-friendly description of this table.
+ Description optional.String
+
+ // The user-friendly name for this table.
+ Name optional.String
+
+ // The table's schema.
+ // When updating a schema, you can add columns but not remove them.
+ Schema Schema
+
+ // The table's clustering configuration.
+ // For more information on how modifying clustering affects the table, see:
+ // https://cloud.google.com/bigquery/docs/creating-clustered-tables#modifying-cluster-spec
+ Clustering *Clustering
+
+ // The table's encryption configuration.
+ EncryptionConfig *EncryptionConfig
+
+ // The time when this table expires. To remove a table's expiration,
+ // set ExpirationTime to NeverExpire. The zero value is ignored.
+ ExpirationTime time.Time
+
+ // ExternalDataConfig controls the definition of a table defined against
+ // an external source, such as one based on files in Google Cloud Storage.
+ ExternalDataConfig *ExternalDataConfig
+
+ // The query to use for a view.
+ ViewQuery optional.String
+
+ // Use Legacy SQL for the view query.
+ UseLegacySQL optional.Bool
+
+ // MaterializedView allows changes to the underlying materialized view
+ // definition. When calling Update, ensure that all mutable fields of
+ // MaterializedViewDefinition are populated.
+ MaterializedView *MaterializedViewDefinition
+
+ // TimePartitioning allows modification of certain aspects of partition
+ // configuration such as partition expiration and whether partition
+ // filtration is required at query time. When calling Update, ensure
+ // that all mutable fields of TimePartitioning are populated.
+ TimePartitioning *TimePartitioning
+
+ // RequirePartitionFilter governs whether the table enforces partition
+ // elimination when referenced in a query.
+ RequirePartitionFilter optional.Bool
+
+ // Defines the default collation specification of new STRING fields
+ // in the table.
+ DefaultCollation optional.String
+
+ // TableConstraints allows modification of table constraints
+ // such as primary and foreign keys.
+ TableConstraints *TableConstraints
+
+ // The tags associated with this table. Tag
+ // keys are globally unique. See additional information on tags
+ // (https://cloud.google.com/iam/docs/tags-access-control#definitions).
+ // An object containing a list of "key": value pairs. The key is the
+ // namespaced friendly name of the tag key, e.g. "12345/environment"
+ // where 12345 is parent id. The value is the friendly short name of the
+ // tag value, e.g. "production".
+ ResourceTags map[string]string
+
+ labelUpdater
+}
+
+// labelUpdater contains common code for updating labels.
+type labelUpdater struct {
+ setLabels map[string]string
+ deleteLabels map[string]bool
+}
+
+// SetLabel causes a label to be added or modified on a call to Update.
+func (u *labelUpdater) SetLabel(name, value string) {
+ if u.setLabels == nil {
+ u.setLabels = map[string]string{}
+ }
+ u.setLabels[name] = value
+}
+
+// DeleteLabel causes a label to be deleted on a call to Update.
+func (u *labelUpdater) DeleteLabel(name string) {
+ if u.deleteLabels == nil {
+ u.deleteLabels = map[string]bool{}
+ }
+ u.deleteLabels[name] = true
+}
+
+func (u *labelUpdater) update() (labels map[string]string, forces, nulls []string) {
+ if u.setLabels == nil && u.deleteLabels == nil {
+ return nil, nil, nil
+ }
+ labels = map[string]string{}
+ for k, v := range u.setLabels {
+ labels[k] = v
+ }
+ if len(labels) == 0 && len(u.deleteLabels) > 0 {
+ forces = []string{"Labels"}
+ }
+ for l := range u.deleteLabels {
+ nulls = append(nulls, "Labels."+l)
+ }
+ return labels, forces, nulls
+}
diff --git a/vendor/cloud.google.com/go/bigquery/value.go b/vendor/cloud.google.com/go/bigquery/value.go
new file mode 100644
index 000000000..34070d033
--- /dev/null
+++ b/vendor/cloud.google.com/go/bigquery/value.go
@@ -0,0 +1,993 @@
+// Copyright 2015 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package bigquery
+
+import (
+ "encoding/base64"
+ "errors"
+ "fmt"
+ "math/big"
+ "reflect"
+ "strconv"
+ "strings"
+ "time"
+
+ "cloud.google.com/go/civil"
+ bq "google.golang.org/api/bigquery/v2"
+)
+
+// Value stores the contents of a single cell from a BigQuery result.
+type Value interface{}
+
+// ValueLoader stores a slice of Values representing a result row from a Read operation.
+// See RowIterator.Next for more information.
+type ValueLoader interface {
+ Load(v []Value, s Schema) error
+}
+
+// valueList converts a []Value to implement ValueLoader.
+type valueList []Value
+
+// Load stores a sequence of values in a valueList.
+// It resets the slice length to zero, then appends each value to it.
+func (vs *valueList) Load(v []Value, _ Schema) error {
+ *vs = append((*vs)[:0], v...)
+ return nil
+}
+
+// valueMap converts a map[string]Value to implement ValueLoader.
+type valueMap map[string]Value
+
+// Load stores a sequence of values in a valueMap.
+func (vm *valueMap) Load(v []Value, s Schema) error {
+ if *vm == nil {
+ *vm = map[string]Value{}
+ }
+ loadMap(*vm, v, s)
+ return nil
+}
+
+func loadMap(m map[string]Value, vals []Value, s Schema) {
+ for i, f := range s {
+ val := vals[i]
+ var v interface{}
+ switch {
+ case val == nil:
+ v = val
+ case f.Schema == nil:
+ v = val
+ case !f.Repeated:
+ m2 := map[string]Value{}
+ loadMap(m2, val.([]Value), f.Schema)
+ v = m2
+ default: // repeated and nested
+ sval := val.([]Value)
+ vs := make([]Value, len(sval))
+ for j, e := range sval {
+ m2 := map[string]Value{}
+ loadMap(m2, e.([]Value), f.Schema)
+ vs[j] = m2
+ }
+ v = vs
+ }
+
+ m[f.Name] = v
+ }
+}
+
+type structLoader struct {
+ typ reflect.Type // type of struct
+ err error
+ ops []structLoaderOp
+
+ vstructp reflect.Value // pointer to current struct value; changed by set
+}
+
+// A setFunc is a function that sets a struct field or slice/array
+// element to a value.
+type setFunc func(v reflect.Value, val interface{}) error
+
+// A structLoaderOp instructs the loader to set a struct field to a row value.
+type structLoaderOp struct {
+ fieldIndex []int
+ valueIndex int
+ setFunc setFunc
+ repeated bool
+}
+
+var errNoNulls = errors.New("bigquery: NULL values cannot be read into structs")
+
+func setAny(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ v.Set(reflect.ValueOf(x))
+ return nil
+}
+
+func setInt(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ xx := x.(int64)
+ if v.OverflowInt(xx) {
+ return fmt.Errorf("bigquery: value %v overflows struct field of type %v", xx, v.Type())
+ }
+ v.SetInt(xx)
+ return nil
+}
+
+func setUint(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ xx := x.(int64)
+ if xx < 0 || v.OverflowUint(uint64(xx)) {
+ return fmt.Errorf("bigquery: value %v overflows struct field of type %v", xx, v.Type())
+ }
+ v.SetUint(uint64(xx))
+ return nil
+}
+
+func setFloat(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ xx := x.(float64)
+ if v.OverflowFloat(xx) {
+ return fmt.Errorf("bigquery: value %v overflows struct field of type %v", xx, v.Type())
+ }
+ v.SetFloat(xx)
+ return nil
+}
+
+func setBool(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ v.SetBool(x.(bool))
+ return nil
+}
+
+func setString(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ v.SetString(x.(string))
+ return nil
+}
+
+func setGeography(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ v.SetString(x.(string))
+ return nil
+}
+
+func setJSON(v reflect.Value, x interface{}) error {
+ if x == nil {
+ return errNoNulls
+ }
+ v.SetString(x.(string))
+ return nil
+}
+
+func setBytes(v reflect.Value, x interface{}) error {
+ if x == nil {
+ v.SetBytes(nil)
+ } else {
+ v.SetBytes(x.([]byte))
+ }
+ return nil
+}
+
+func setNull(v reflect.Value, x interface{}, build func() interface{}) error {
+ if x == nil {
+ v.Set(reflect.Zero(v.Type()))
+ } else {
+ n := build()
+ v.Set(reflect.ValueOf(n))
+ }
+ return nil
+}
+
+// set remembers a value for the next call to Load. The value must be
+// a pointer to a struct. (This is checked in RowIterator.Next.)
+func (sl *structLoader) set(structp interface{}, schema Schema) error {
+ if sl.err != nil {
+ return sl.err
+ }
+ sl.vstructp = reflect.ValueOf(structp)
+ typ := sl.vstructp.Type().Elem()
+ if sl.typ == nil {
+ // First call: remember the type and compile the schema.
+ sl.typ = typ
+ ops, err := compileToOps(typ, schema)
+ if err != nil {
+ sl.err = err
+ return err
+ }
+ sl.ops = ops
+ } else if sl.typ != typ {
+ return fmt.Errorf("bigquery: struct type changed from %s to %s", sl.typ, typ)
+ }
+ return nil
+}
+
+// compileToOps produces a sequence of operations that will set the fields of a
+// value of structType to the contents of a row with schema.
+func compileToOps(structType reflect.Type, schema Schema) ([]structLoaderOp, error) {
+ var ops []structLoaderOp
+ fields, err := fieldCache.Fields(structType)
+ if err != nil {
+ return nil, err
+ }
+ for i, schemaField := range schema {
+ // Look for an exported struct field with the same name as the schema
+ // field, ignoring case (BigQuery column names are case-insensitive,
+ // and we want to act like encoding/json anyway).
+ structField := fields.Match(schemaField.Name)
+ if structField == nil {
+ // Ignore schema fields with no corresponding struct field.
+ continue
+ }
+ op := structLoaderOp{
+ fieldIndex: structField.Index,
+ valueIndex: i,
+ }
+ t := structField.Type
+ if schemaField.Repeated {
+ if t.Kind() != reflect.Slice && t.Kind() != reflect.Array {
+ return nil, fmt.Errorf("bigquery: repeated schema field %s requires slice or array, but struct field %s has type %s",
+ schemaField.Name, structField.Name, t)
+ }
+ t = t.Elem()
+ op.repeated = true
+ }
+ if schemaField.Type == RecordFieldType {
+ // Field can be a struct or a pointer to a struct.
+ if t.Kind() == reflect.Ptr {
+ t = t.Elem()
+ }
+ if t.Kind() != reflect.Struct {
+ return nil, fmt.Errorf("bigquery: field %s has type %s, expected struct or *struct",
+ structField.Name, structField.Type)
+ }
+ nested, err := compileToOps(t, schemaField.Schema)
+ if err != nil {
+ return nil, err
+ }
+ op.setFunc = func(v reflect.Value, val interface{}) error {
+ return setNested(nested, v, val)
+ }
+ } else {
+ op.setFunc = determineSetFunc(t, schemaField.Type)
+ if op.setFunc == nil {
+ return nil, fmt.Errorf("bigquery: schema field %s of type %s is not assignable to struct field %s of type %s",
+ schemaField.Name, schemaField.Type, structField.Name, t)
+ }
+ }
+ ops = append(ops, op)
+ }
+ return ops, nil
+}
+
+// determineSetFunc chooses the best function for setting a field of type ftype
+// to a value whose schema field type is stype. It returns nil if stype
+// is not assignable to ftype.
+// determineSetFunc considers only basic types. See compileToOps for
+// handling of repetition and nesting.
+func determineSetFunc(ftype reflect.Type, stype FieldType) setFunc {
+ switch stype {
+ case StringFieldType:
+ if ftype.Kind() == reflect.String {
+ return setString
+ }
+ if ftype == typeOfNullString {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullString{StringVal: x.(string), Valid: true}
+ })
+ }
+ }
+
+ case GeographyFieldType:
+ if ftype.Kind() == reflect.String {
+ return setGeography
+ }
+ if ftype == typeOfNullGeography {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullGeography{GeographyVal: x.(string), Valid: true}
+ })
+ }
+ }
+
+ case JSONFieldType:
+ if ftype.Kind() == reflect.String {
+ return setJSON
+ }
+ if ftype == typeOfNullJSON {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullJSON{JSONVal: x.(string), Valid: true}
+ })
+ }
+ }
+
+ case BytesFieldType:
+ if ftype == typeOfByteSlice {
+ return setBytes
+ }
+
+ case IntegerFieldType:
+ if isSupportedUintType(ftype) {
+ return setUint
+ } else if isSupportedIntType(ftype) {
+ return setInt
+ }
+ if ftype == typeOfNullInt64 {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullInt64{Int64: x.(int64), Valid: true}
+ })
+ }
+ }
+
+ case FloatFieldType:
+ switch ftype.Kind() {
+ case reflect.Float32, reflect.Float64:
+ return setFloat
+ }
+ if ftype == typeOfNullFloat64 {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullFloat64{Float64: x.(float64), Valid: true}
+ })
+ }
+ }
+
+ case BooleanFieldType:
+ if ftype.Kind() == reflect.Bool {
+ return setBool
+ }
+ if ftype == typeOfNullBool {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullBool{Bool: x.(bool), Valid: true}
+ })
+ }
+ }
+
+ case TimestampFieldType:
+ if ftype == typeOfGoTime {
+ return setAny
+ }
+ if ftype == typeOfNullTimestamp {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullTimestamp{Timestamp: x.(time.Time), Valid: true}
+ })
+ }
+ }
+
+ case DateFieldType:
+ if ftype == typeOfDate {
+ return setAny
+ }
+ if ftype == typeOfNullDate {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullDate{Date: x.(civil.Date), Valid: true}
+ })
+ }
+ }
+
+ case TimeFieldType:
+ if ftype == typeOfTime {
+ return setAny
+ }
+ if ftype == typeOfNullTime {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullTime{Time: x.(civil.Time), Valid: true}
+ })
+ }
+ }
+
+ case DateTimeFieldType:
+ if ftype == typeOfDateTime {
+ return setAny
+ }
+ if ftype == typeOfNullDateTime {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} {
+ return NullDateTime{DateTime: x.(civil.DateTime), Valid: true}
+ })
+ }
+ }
+
+ case NumericFieldType:
+ if ftype == typeOfRat {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} { return x.(*big.Rat) })
+ }
+ }
+
+ case BigNumericFieldType:
+ if ftype == typeOfRat {
+ return func(v reflect.Value, x interface{}) error {
+ return setNull(v, x, func() interface{} { return x.(*big.Rat) })
+ }
+ }
+ }
+ return nil
+}
+
+func (sl *structLoader) Load(values []Value, _ Schema) error {
+ if sl.err != nil {
+ return sl.err
+ }
+ return runOps(sl.ops, sl.vstructp.Elem(), values)
+}
+
+// runOps executes a sequence of ops, setting the fields of vstruct to the
+// supplied values.
+func runOps(ops []structLoaderOp, vstruct reflect.Value, values []Value) error {
+ for _, op := range ops {
+ field := vstruct.FieldByIndex(op.fieldIndex)
+ var err error
+ if op.repeated {
+ err = setRepeated(field, values[op.valueIndex].([]Value), op.setFunc)
+ } else {
+ err = op.setFunc(field, values[op.valueIndex])
+ if errors.Is(err, errNoNulls) {
+ f := vstruct.Type().FieldByIndex(op.fieldIndex)
+ err = fmt.Errorf("bigquery: NULL cannot be assigned to field `%s` of type %s", f.Name, f.Type.Name())
+ }
+ }
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func setNested(ops []structLoaderOp, v reflect.Value, val interface{}) error {
+ // v is either a struct or a pointer to a struct.
+ if v.Kind() == reflect.Ptr {
+ // If the value is nil, set the pointer to nil.
+ if val == nil {
+ v.Set(reflect.Zero(v.Type()))
+ return nil
+ }
+ // If the pointer is nil, set it to a zero struct value.
+ if v.IsNil() {
+ v.Set(reflect.New(v.Type().Elem()))
+ }
+ v = v.Elem()
+ }
+ return runOps(ops, v, val.([]Value))
+}
+
+func setRepeated(field reflect.Value, vslice []Value, setElem setFunc) error {
+ vlen := len(vslice)
+ var flen int
+ switch field.Type().Kind() {
+ case reflect.Slice:
+ // Make a slice of the right size, avoiding allocation if possible.
+ switch {
+ case field.Len() < vlen:
+ field.Set(reflect.MakeSlice(field.Type(), vlen, vlen))
+ case field.Len() > vlen:
+ field.SetLen(vlen)
+ }
+ flen = vlen
+
+ case reflect.Array:
+ flen = field.Len()
+ if flen > vlen {
+ // Set extra elements to their zero value.
+ z := reflect.Zero(field.Type().Elem())
+ for i := vlen; i < flen; i++ {
+ field.Index(i).Set(z)
+ }
+ }
+ default:
+ return fmt.Errorf("bigquery: impossible field type %s", field.Type())
+ }
+ for i, val := range vslice {
+ if i < flen { // avoid writing past the end of a short array
+ if err := setElem(field.Index(i), val); err != nil {
+ return err
+ }
+ }
+ }
+ return nil
+}
+
+// A ValueSaver returns a row of data to be inserted into a table.
+type ValueSaver interface {
+ // Save returns a row to be inserted into a BigQuery table, represented
+ // as a map from field name to Value.
+ // The insertID governs the best-effort deduplication feature of
+ // BigQuery streaming inserts.
+ //
+ // If the insertID is empty, a random insertID will be generated by
+ // this library to facilitate deduplication.
+ //
+ // If the insertID is set to the sentinel value NoDedupeID, an insertID
+ // is not sent.
+ //
+ // For all other non-empty values, BigQuery will use the provided
+ // value for best-effort deduplication.
+ Save() (row map[string]Value, insertID string, err error)
+}
+
+// ValuesSaver implements ValueSaver for a slice of Values.
+type ValuesSaver struct {
+ Schema Schema
+
+ // InsertID governs the best-effort deduplication feature of
+ // BigQuery streaming inserts.
+ //
+ // If the InsertID is empty, a random insertID will be generated by
+ // this library to facilitate deduplication.
+ //
+ // If the InsertID is set to the sentinel value NoDedupeID, an insertID
+ // is not sent.
+ //
+ // For all other non-empty values, BigQuery will use the provided
+ // value for best-effort deduplication.
+ InsertID string
+
+ Row []Value
+}
+
+// Save implements ValueSaver.
+func (vls *ValuesSaver) Save() (map[string]Value, string, error) {
+ m, err := valuesToMap(vls.Row, vls.Schema)
+ return m, vls.InsertID, err
+}
+
+func valuesToMap(vs []Value, schema Schema) (map[string]Value, error) {
+ if len(vs) != len(schema) {
+ return nil, errors.New("schema does not match length of row to be inserted")
+ }
+
+ m := make(map[string]Value)
+ for i, fieldSchema := range schema {
+ if vs[i] == nil {
+ m[fieldSchema.Name] = nil
+ continue
+ }
+ if fieldSchema.Type != RecordFieldType {
+ m[fieldSchema.Name] = toUploadValue(vs[i], fieldSchema)
+ continue
+ }
+ // Nested record, possibly repeated.
+ vals, ok := vs[i].([]Value)
+ if !ok {
+ return nil, errors.New("nested record is not a []Value")
+ }
+ if !fieldSchema.Repeated {
+ value, err := valuesToMap(vals, fieldSchema.Schema)
+ if err != nil {
+ return nil, err
+ }
+ m[fieldSchema.Name] = value
+ continue
+ }
+ // A repeated nested field is converted into a slice of maps.
+ maps := []Value{}
+ for _, v := range vals {
+ sv, ok := v.([]Value)
+ if !ok {
+ return nil, errors.New("nested record in slice is not a []Value")
+ }
+ value, err := valuesToMap(sv, fieldSchema.Schema)
+ if err != nil {
+ return nil, err
+ }
+ maps = append(maps, value)
+ }
+ m[fieldSchema.Name] = maps
+ }
+ return m, nil
+}
+
+// StructSaver implements ValueSaver for a struct.
+// The struct is converted to a map of values by using the values of struct
+// fields corresponding to schema fields. Additional and missing
+// fields are ignored, as are nested struct pointers that are nil.
+type StructSaver struct {
+ // Schema determines what fields of the struct are uploaded. It should
+ // match the table's schema.
+ // Schema is optional for StructSavers that are passed to Uploader.Put.
+ Schema Schema
+
+ // InsertID governs the best-effort deduplication feature of
+ // BigQuery streaming inserts.
+ //
+ // If the InsertID is empty, a random InsertID will be generated by
+ // this library to facilitate deduplication.
+ //
+ // If the InsertID is set to the sentinel value NoDedupeID, an InsertID
+ // is not sent.
+ //
+ // For all other non-empty values, BigQuery will use the provided
+ // value for best-effort deduplication.
+ InsertID string
+
+ // Struct should be a struct or a pointer to a struct.
+ Struct interface{}
+}
+
+// Save implements ValueSaver.
+func (ss *StructSaver) Save() (row map[string]Value, insertID string, err error) {
+ vstruct := reflect.ValueOf(ss.Struct)
+ row, err = structToMap(vstruct, ss.Schema)
+ if err != nil {
+ return nil, "", err
+ }
+ return row, ss.InsertID, nil
+}
+
+func structToMap(vstruct reflect.Value, schema Schema) (map[string]Value, error) {
+ if vstruct.Kind() == reflect.Ptr {
+ vstruct = vstruct.Elem()
+ }
+ if !vstruct.IsValid() {
+ return nil, nil
+ }
+ m := map[string]Value{}
+ if vstruct.Kind() != reflect.Struct {
+ return nil, fmt.Errorf("bigquery: type is %s, need struct or struct pointer", vstruct.Type())
+ }
+ fields, err := fieldCache.Fields(vstruct.Type())
+ if err != nil {
+ return nil, err
+ }
+ for _, schemaField := range schema {
+ // Look for an exported struct field with the same name as the schema
+ // field, ignoring case.
+ structField := fields.Match(schemaField.Name)
+ if structField == nil {
+ continue
+ }
+ val, err := structFieldToUploadValue(vstruct.FieldByIndex(structField.Index), schemaField)
+ if err != nil {
+ return nil, err
+ }
+ // Add the value to the map, unless it is nil.
+ if val != nil {
+ m[schemaField.Name] = val
+ }
+ }
+ return m, nil
+}
+
+// structFieldToUploadValue converts a struct field to a value suitable for ValueSaver.Save, using
+// the schemaField as a guide.
+// structFieldToUploadValue is careful to return a true nil interface{} when needed, so its
+// caller can easily identify a nil value.
+func structFieldToUploadValue(vfield reflect.Value, schemaField *FieldSchema) (interface{}, error) {
+ if schemaField.Repeated && (vfield.Kind() != reflect.Slice && vfield.Kind() != reflect.Array) {
+ return nil, fmt.Errorf("bigquery: repeated schema field %s requires slice or array, but value has type %s",
+ schemaField.Name, vfield.Type())
+ }
+
+ // A non-nested field can be represented by its Go value, except for some types.
+ if schemaField.Type != RecordFieldType {
+ return toUploadValueReflect(vfield, schemaField), nil
+ }
+ // A non-repeated nested field is converted into a map[string]Value.
+ if !schemaField.Repeated {
+ m, err := structToMap(vfield, schemaField.Schema)
+ if err != nil {
+ return nil, err
+ }
+ if m == nil {
+ return nil, nil
+ }
+ return m, nil
+ }
+ // A repeated nested field is converted into a slice of maps.
+ // If the field is zero-length (but not nil), we return a zero-length []Value.
+ if vfield.IsNil() {
+ return nil, nil
+ }
+ vals := []Value{}
+ for i := 0; i < vfield.Len(); i++ {
+ m, err := structToMap(vfield.Index(i), schemaField.Schema)
+ if err != nil {
+ return nil, err
+ }
+ vals = append(vals, m)
+ }
+ return vals, nil
+}
+
+func toUploadValue(val interface{}, fs *FieldSchema) interface{} {
+ if fs.Type == TimeFieldType || fs.Type == DateTimeFieldType || fs.Type == NumericFieldType || fs.Type == BigNumericFieldType {
+ return toUploadValueReflect(reflect.ValueOf(val), fs)
+ }
+ return val
+}
+
+func toUploadValueReflect(v reflect.Value, fs *FieldSchema) interface{} {
+ switch fs.Type {
+ case TimeFieldType:
+ if v.Type() == typeOfNullTime {
+ return v.Interface()
+ }
+ return formatUploadValue(v, fs, func(v reflect.Value) string {
+ return CivilTimeString(v.Interface().(civil.Time))
+ })
+ case DateTimeFieldType:
+ if v.Type() == typeOfNullDateTime {
+ return v.Interface()
+ }
+ return formatUploadValue(v, fs, func(v reflect.Value) string {
+ return CivilDateTimeString(v.Interface().(civil.DateTime))
+ })
+ case NumericFieldType:
+ if r, ok := v.Interface().(*big.Rat); ok && r == nil {
+ return nil
+ }
+ return formatUploadValue(v, fs, func(v reflect.Value) string {
+ return NumericString(v.Interface().(*big.Rat))
+ })
+ case BigNumericFieldType:
+ if r, ok := v.Interface().(*big.Rat); ok && r == nil {
+ return nil
+ }
+ return formatUploadValue(v, fs, func(v reflect.Value) string {
+ return BigNumericString(v.Interface().(*big.Rat))
+ })
+ case IntervalFieldType:
+ if r, ok := v.Interface().(*IntervalValue); ok && r == nil {
+ return nil
+ }
+ return formatUploadValue(v, fs, func(v reflect.Value) string {
+ return IntervalString(v.Interface().(*IntervalValue))
+ })
+ default:
+ if !fs.Repeated || v.Len() > 0 {
+ return v.Interface()
+ }
+ // The service treats a null repeated field as an error. Return
+ // nil to omit the field entirely.
+ return nil
+ }
+}
+
+func formatUploadValue(v reflect.Value, fs *FieldSchema, cvt func(reflect.Value) string) interface{} {
+ if !fs.Repeated {
+ return cvt(v)
+ }
+ if v.Len() == 0 {
+ return nil
+ }
+ s := make([]string, v.Len())
+ for i := 0; i < v.Len(); i++ {
+ s[i] = cvt(v.Index(i))
+ }
+ return s
+}
+
+// CivilTimeString returns a string representing a civil.Time in a format compatible
+// with BigQuery SQL. It rounds the time to the nearest microsecond and returns a
+// string with six digits of sub-second precision.
+//
+// Use CivilTimeString when using civil.Time in DML, for example in INSERT
+// statements.
+func CivilTimeString(t civil.Time) string {
+ if t.Nanosecond == 0 {
+ return t.String()
+ }
+ micro := (t.Nanosecond + 500) / 1000 // round to nearest microsecond
+ t.Nanosecond = 0
+ return t.String() + fmt.Sprintf(".%06d", micro)
+}
+
+// CivilDateTimeString returns a string representing a civil.DateTime in a format compatible
+// with BigQuery SQL. It separate the date and time with a space, and formats the time
+// with CivilTimeString.
+//
+// Use CivilDateTimeString when using civil.DateTime in DML, for example in INSERT
+// statements.
+func CivilDateTimeString(dt civil.DateTime) string {
+ return dt.Date.String() + " " + CivilTimeString(dt.Time)
+}
+
+// parseCivilDateTime parses a date-time represented in a BigQuery SQL
+// compatible format and returns a civil.DateTime.
+func parseCivilDateTime(s string) (civil.DateTime, error) {
+ parts := strings.Fields(s)
+ if len(parts) != 2 {
+ return civil.DateTime{}, fmt.Errorf("bigquery: bad DATETIME value %q", s)
+ }
+ return civil.ParseDateTime(parts[0] + "T" + parts[1])
+}
+
+const (
+ // NumericPrecisionDigits is the maximum number of digits in a NUMERIC value.
+ NumericPrecisionDigits = 38
+
+ // NumericScaleDigits is the maximum number of digits after the decimal point in a NUMERIC value.
+ NumericScaleDigits = 9
+
+ // BigNumericPrecisionDigits is the maximum number of full digits in a BIGNUMERIC value.
+ BigNumericPrecisionDigits = 76
+
+ // BigNumericScaleDigits is the maximum number of full digits in a BIGNUMERIC value.
+ BigNumericScaleDigits = 38
+)
+
+// NumericString returns a string representing a *big.Rat in a format compatible
+// with BigQuery SQL. It returns a floating-point literal with 9 digits
+// after the decimal point.
+func NumericString(r *big.Rat) string {
+ return r.FloatString(NumericScaleDigits)
+}
+
+// BigNumericString returns a string representing a *big.Rat in a format compatible with BigQuery
+// SQL. It returns a floating point literal with 38 digits after the decimal point.
+func BigNumericString(r *big.Rat) string {
+ return r.FloatString(BigNumericScaleDigits)
+}
+
+// IntervalString returns a string representing an *IntervalValue in a format compatible with
+// BigQuery SQL. It returns an interval literal in canonical format.
+func IntervalString(iv *IntervalValue) string {
+ return iv.String()
+}
+
+// convertRows converts a series of TableRows into a series of Value slices.
+// schema is used to interpret the data from rows; its length must match the
+// length of each row.
+func convertRows(rows []*bq.TableRow, schema Schema) ([][]Value, error) {
+ var rs [][]Value
+ for _, r := range rows {
+ row, err := convertRow(r, schema)
+ if err != nil {
+ return nil, err
+ }
+ rs = append(rs, row)
+ }
+ return rs, nil
+}
+
+func convertRow(r *bq.TableRow, schema Schema) ([]Value, error) {
+ if len(schema) != len(r.F) {
+ return nil, errors.New("schema length does not match row length")
+ }
+ var values []Value
+ for i, cell := range r.F {
+ fs := schema[i]
+ v, err := convertValue(cell.V, fs.Type, fs.Schema)
+ if err != nil {
+ return nil, err
+ }
+ values = append(values, v)
+ }
+ return values, nil
+}
+
+func convertValue(val interface{}, typ FieldType, schema Schema) (Value, error) {
+ switch val := val.(type) {
+ case nil:
+ return nil, nil
+ case []interface{}:
+ return convertRepeatedRecord(val, typ, schema)
+ case map[string]interface{}:
+ return convertNestedRecord(val, schema)
+ case string:
+ return convertBasicType(val, typ)
+ default:
+ return nil, fmt.Errorf("got value %v; expected a value of type %s", val, typ)
+ }
+}
+
+func convertRepeatedRecord(vals []interface{}, typ FieldType, schema Schema) (Value, error) {
+ var values []Value
+ for _, cell := range vals {
+ // each cell contains a single entry, keyed by "v"
+ val := cell.(map[string]interface{})["v"]
+ v, err := convertValue(val, typ, schema)
+ if err != nil {
+ return nil, err
+ }
+ values = append(values, v)
+ }
+ return values, nil
+}
+
+func convertNestedRecord(val map[string]interface{}, schema Schema) (Value, error) {
+ // convertNestedRecord is similar to convertRow, as a record has the same structure as a row.
+
+ // Nested records are wrapped in a map with a single key, "f".
+ record := val["f"].([]interface{})
+ if len(record) != len(schema) {
+ return nil, errors.New("schema length does not match record length")
+ }
+
+ var values []Value
+ for i, cell := range record {
+ // each cell contains a single entry, keyed by "v"
+ val := cell.(map[string]interface{})["v"]
+ fs := schema[i]
+ v, err := convertValue(val, fs.Type, fs.Schema)
+ if err != nil {
+ return nil, err
+ }
+ values = append(values, v)
+ }
+ return values, nil
+}
+
+// convertBasicType returns val as an interface with a concrete type specified by typ.
+func convertBasicType(val string, typ FieldType) (Value, error) {
+ switch typ {
+ case StringFieldType:
+ return val, nil
+ case BytesFieldType:
+ return base64.StdEncoding.DecodeString(val)
+ case IntegerFieldType:
+ return strconv.ParseInt(val, 10, 64)
+ case FloatFieldType:
+ return strconv.ParseFloat(val, 64)
+ case BooleanFieldType:
+ return strconv.ParseBool(val)
+ case TimestampFieldType:
+ i, err := strconv.ParseInt(val, 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ return time.UnixMicro(i).UTC(), nil
+ case DateFieldType:
+ return civil.ParseDate(val)
+ case TimeFieldType:
+ return civil.ParseTime(val)
+ case DateTimeFieldType:
+ return civil.ParseDateTime(val)
+ case NumericFieldType:
+ r, ok := (&big.Rat{}).SetString(val)
+ if !ok {
+ return nil, fmt.Errorf("bigquery: invalid NUMERIC value %q", val)
+ }
+ return Value(r), nil
+ case BigNumericFieldType:
+ r, ok := (&big.Rat{}).SetString(val)
+ if !ok {
+ return nil, fmt.Errorf("bigquery: invalid BIGNUMERIC value %q", val)
+ }
+ return Value(r), nil
+ case GeographyFieldType:
+ return val, nil
+ case JSONFieldType:
+ return val, nil
+ case IntervalFieldType:
+ i, err := ParseInterval(val)
+ if err != nil {
+ return nil, fmt.Errorf("bigquery: invalid INTERVAL value %q", val)
+ }
+ return Value(i), nil
+ default:
+ return nil, fmt.Errorf("unrecognized type: %s", typ)
+ }
+}
diff --git a/vendor/cloud.google.com/go/internal/uid/uid.go b/vendor/cloud.google.com/go/internal/uid/uid.go
new file mode 100644
index 000000000..2f229d647
--- /dev/null
+++ b/vendor/cloud.google.com/go/internal/uid/uid.go
@@ -0,0 +1,149 @@
+// Copyright 2017 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package uid supports generating unique IDs. Its chief purpose is to prevent
+// multiple test executions from interfering with each other, and to facilitate
+// cleanup of old entities that may remain if tests exit early.
+package uid
+
+import (
+ "fmt"
+ "regexp"
+ "strconv"
+ "sync/atomic"
+ "time"
+)
+
+// A Space manages a set of unique IDs distinguished by a prefix.
+type Space struct {
+ Prefix string // Prefix of UIDs. Read-only.
+ Sep rune // Separates UID parts. Read-only.
+ Time time.Time // Timestamp for UIDs. Read-only.
+ re *regexp.Regexp
+ count int32 // atomic
+ short bool
+}
+
+// Options are optional values for a Space.
+type Options struct {
+ Sep rune // Separates parts of the UID. Defaults to '-'.
+ Time time.Time // Timestamp for all UIDs made with this space. Defaults to current time.
+
+ // Short, if true, makes the result of space.New shorter by 6 characters.
+ // This can be useful for character restricted IDs. It will use a shorter
+ // but less readable time representation, and will only use two characters
+ // for the count suffix instead of four.
+ //
+ // e.x. normal: gotest-20181030-59751273685000-0001
+ // e.x. short: gotest-1540917351273685000-01
+ Short bool
+}
+
+// NewSpace creates a new UID space. A UID Space is used to generate unique IDs.
+func NewSpace(prefix string, opts *Options) *Space {
+ var short bool
+ sep := '-'
+ tm := time.Now().UTC()
+ if opts != nil {
+ short = opts.Short
+ if opts.Sep != 0 {
+ sep = opts.Sep
+ }
+ if !opts.Time.IsZero() {
+ tm = opts.Time
+ }
+ }
+ var re string
+
+ if short {
+ re = fmt.Sprintf(`^%s%[2]c(\d+)%[2]c\d+$`, regexp.QuoteMeta(prefix), sep)
+ } else {
+ re = fmt.Sprintf(`^%s%[2]c(\d{4})(\d{2})(\d{2})%[2]c(\d+)%[2]c\d+$`,
+ regexp.QuoteMeta(prefix), sep)
+ }
+
+ return &Space{
+ Prefix: prefix,
+ Sep: sep,
+ Time: tm,
+ re: regexp.MustCompile(re),
+ short: short,
+ }
+}
+
+// New generates a new unique ID. The ID consists of the Space's prefix, a
+// timestamp, and a counter value. All unique IDs generated in the same test
+// execution will have the same timestamp.
+//
+// Aside from the characters in the prefix, IDs contain only letters, numbers
+// and sep.
+func (s *Space) New() string {
+ c := atomic.AddInt32(&s.count, 1)
+
+ if s.short && c > 99 {
+ // Short spaces only have space for 99 IDs. (two characters)
+ panic("Short space called New more than 99 times. Ran out of IDs.")
+ } else if c > 9999 {
+ // Spaces only have space for 9999 IDs. (four characters)
+ panic("New called more than 9999 times. Ran out of IDs.")
+ }
+
+ if s.short {
+ return fmt.Sprintf("%s%c%d%c%02d", s.Prefix, s.Sep, s.Time.UnixNano(), s.Sep, c)
+ }
+
+ // Write the time as a date followed by nanoseconds from midnight of that date.
+ // That makes it easier to see the approximate time of the ID when it is displayed.
+ y, m, d := s.Time.Date()
+ ns := s.Time.Sub(time.Date(y, m, d, 0, 0, 0, 0, time.UTC))
+ // Zero-pad the counter for lexical sort order for IDs with the same timestamp.
+ return fmt.Sprintf("%s%c%04d%02d%02d%c%d%c%04d",
+ s.Prefix, s.Sep, y, m, d, s.Sep, ns, s.Sep, c)
+}
+
+// Timestamp extracts the timestamp of uid, which must have been generated by
+// s. The second return value is true on success, false if there was a problem.
+func (s *Space) Timestamp(uid string) (time.Time, bool) {
+ subs := s.re.FindStringSubmatch(uid)
+ if subs == nil {
+ return time.Time{}, false
+ }
+
+ if s.short {
+ ns, err := strconv.ParseInt(subs[1], 10, 64)
+ if err != nil {
+ return time.Time{}, false
+ }
+ return time.Unix(ns/1e9, ns%1e9), true
+ }
+
+ y, err1 := strconv.Atoi(subs[1])
+ m, err2 := strconv.Atoi(subs[2])
+ d, err3 := strconv.Atoi(subs[3])
+ ns, err4 := strconv.Atoi(subs[4])
+ if err1 != nil || err2 != nil || err3 != nil || err4 != nil {
+ return time.Time{}, false
+ }
+ return time.Date(y, time.Month(m), d, 0, 0, 0, ns, time.UTC), true
+}
+
+// Older reports whether uid was created by m and has a timestamp older than
+// the current time by at least d.
+func (s *Space) Older(uid string, d time.Duration) bool {
+ ts, ok := s.Timestamp(uid)
+ if !ok {
+ return false
+ }
+ return time.Since(ts) > d
+}