google-cloud-bigquery 1.14.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +17 -54
  3. data/CHANGELOG.md +377 -0
  4. data/CONTRIBUTING.md +328 -116
  5. data/LOGGING.md +1 -1
  6. data/OVERVIEW.md +21 -20
  7. data/TROUBLESHOOTING.md +2 -8
  8. data/lib/google/cloud/bigquery/argument.rb +197 -0
  9. data/lib/google/cloud/bigquery/convert.rb +155 -173
  10. data/lib/google/cloud/bigquery/copy_job.rb +74 -26
  11. data/lib/google/cloud/bigquery/credentials.rb +5 -12
  12. data/lib/google/cloud/bigquery/data.rb +109 -18
  13. data/lib/google/cloud/bigquery/dataset/access.rb +474 -52
  14. data/lib/google/cloud/bigquery/dataset/list.rb +7 -13
  15. data/lib/google/cloud/bigquery/dataset/tag.rb +67 -0
  16. data/lib/google/cloud/bigquery/dataset.rb +1044 -287
  17. data/lib/google/cloud/bigquery/external/avro_source.rb +107 -0
  18. data/lib/google/cloud/bigquery/external/bigtable_source/column.rb +404 -0
  19. data/lib/google/cloud/bigquery/external/bigtable_source/column_family.rb +945 -0
  20. data/lib/google/cloud/bigquery/external/bigtable_source.rb +230 -0
  21. data/lib/google/cloud/bigquery/external/csv_source.rb +481 -0
  22. data/lib/google/cloud/bigquery/external/data_source.rb +771 -0
  23. data/lib/google/cloud/bigquery/external/json_source.rb +170 -0
  24. data/lib/google/cloud/bigquery/external/parquet_source.rb +148 -0
  25. data/lib/google/cloud/bigquery/external/sheets_source.rb +166 -0
  26. data/lib/google/cloud/bigquery/external.rb +50 -2256
  27. data/lib/google/cloud/bigquery/extract_job.rb +226 -61
  28. data/lib/google/cloud/bigquery/insert_response.rb +1 -3
  29. data/lib/google/cloud/bigquery/job/list.rb +10 -14
  30. data/lib/google/cloud/bigquery/job.rb +289 -14
  31. data/lib/google/cloud/bigquery/load_job.rb +810 -136
  32. data/lib/google/cloud/bigquery/model/list.rb +5 -9
  33. data/lib/google/cloud/bigquery/model.rb +247 -16
  34. data/lib/google/cloud/bigquery/policy.rb +432 -0
  35. data/lib/google/cloud/bigquery/project/list.rb +6 -11
  36. data/lib/google/cloud/bigquery/project.rb +509 -250
  37. data/lib/google/cloud/bigquery/query_job.rb +594 -128
  38. data/lib/google/cloud/bigquery/routine/list.rb +165 -0
  39. data/lib/google/cloud/bigquery/routine.rb +1227 -0
  40. data/lib/google/cloud/bigquery/schema/field.rb +413 -63
  41. data/lib/google/cloud/bigquery/schema.rb +221 -48
  42. data/lib/google/cloud/bigquery/service.rb +204 -112
  43. data/lib/google/cloud/bigquery/standard_sql.rb +269 -53
  44. data/lib/google/cloud/bigquery/table/async_inserter.rb +86 -43
  45. data/lib/google/cloud/bigquery/table/list.rb +6 -11
  46. data/lib/google/cloud/bigquery/table.rb +1470 -377
  47. data/lib/google/cloud/bigquery/time.rb +6 -0
  48. data/lib/google/cloud/bigquery/version.rb +1 -1
  49. data/lib/google/cloud/bigquery.rb +4 -6
  50. data/lib/google-cloud-bigquery.rb +14 -13
  51. metadata +66 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80523fe00fc3861251d25519f8ec0a69e5ac705684a29f5a8d434417cb68f16f
4
- data.tar.gz: 361426a22a8df42fcec90b1ec8a3d001f2cc66ce9977d652b8366e2355cc9b61
3
+ metadata.gz: 779c0f4690b370db6eb7811fa6fb8dbca101dff34ff478dcdc51ed1e9c83c083
4
+ data.tar.gz: d1456024ae30a18c93c05d6d8be7eef88dd3f0610cdbf816cf0c46322c9574be
5
5
  SHA512:
6
- metadata.gz: 65871c2ff827dea7a1245ed24321582a748ac4b798fa0907e7ceed9527d3b2b94fc1b85f2d7a29f8d9f4d9fd645d0494e104dc5d122e372bb0e8ced9663f3bd3
7
- data.tar.gz: 9ba6a0fa3e555b86fca8ca2e74fc46475a4c8fa171c5e00ee3de5c55874262dbde292b16e2542fc845d5780b615ee7134d7ee5891d4651f883db02badf646dd1
6
+ metadata.gz: 6a5da0e2565b0c224f46a6330d138c8fb35831e874ebc2364fd3b91578d400354011d1e9df7d2986dbe2398f610776b130b7eb9305af8282bf3a6265dd84aa05
7
+ data.tar.gz: 0d14faa0d89ba6a114e247c362f8a5d4775ae4dc19de1aad0a64083da7e41fc93ac810e876b434056340b27412bb08063af05edf33355800ca1c528ff02f437b
data/AUTHENTICATION.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  In general, the google-cloud-bigquery library uses [Service
4
4
  Account](https://cloud.google.com/iam/docs/creating-managing-service-accounts)
5
- credentials to connect to Google Cloud services. When running on Compute Engine
5
+ credentials to connect to Google Cloud services. When running on Google Cloud
6
+ Platform (GCP), including Google Compute Engine (GCE), Google Kubernetes Engine
7
+ (GKE), Google App Engine (GAE), Google Cloud Functions (GCF) and Cloud Run,
6
8
  the credentials will be discovered automatically. When running on other
7
9
  environments, the Service Account credentials can be specified by providing the
8
10
  path to the [JSON
@@ -35,32 +37,10 @@ providing **Project ID** and **Service Account Credentials** directly in code.
35
37
 
36
38
  ### Google Cloud Platform environments
37
39
 
38
- While running on Google Cloud Platform environments such as Google Compute
39
- Engine, Google App Engine and Google Kubernetes Engine, no extra work is needed.
40
- The **Project ID** and **Credentials** and are discovered automatically. Code
41
- should be written as if already authenticated. Just be sure when you [set up the
42
- GCE instance][gce-how-to], you add the correct scopes for the APIs you want to
43
- access. For example:
44
-
45
- * **All APIs**
46
- * `https://www.googleapis.com/auth/cloud-platform`
47
- * `https://www.googleapis.com/auth/cloud-platform.read-only`
48
- * **BigQuery**
49
- * `https://www.googleapis.com/auth/bigquery`
50
- * `https://www.googleapis.com/auth/bigquery.insertdata`
51
- * **Compute Engine**
52
- * `https://www.googleapis.com/auth/compute`
53
- * **Datastore**
54
- * `https://www.googleapis.com/auth/datastore`
55
- * `https://www.googleapis.com/auth/userinfo.email`
56
- * **DNS**
57
- * `https://www.googleapis.com/auth/ndev.clouddns.readwrite`
58
- * **Pub/Sub**
59
- * `https://www.googleapis.com/auth/pubsub`
60
- * **Storage**
61
- * `https://www.googleapis.com/auth/devstorage.full_control`
62
- * `https://www.googleapis.com/auth/devstorage.read_only`
63
- * `https://www.googleapis.com/auth/devstorage.read_write`
40
+ When running on Google Cloud Platform (GCP), including Google Compute Engine (GCE),
41
+ Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud Functions
42
+ (GCF) and Cloud Run, the **Project ID** and **Credentials** and are discovered
43
+ automatically. Code should be written as if already authenticated.
64
44
 
65
45
  ### Environment Variables
66
46
 
@@ -97,7 +77,8 @@ bigquery = Google::Cloud::Bigquery.new
97
77
 
98
78
  ### Configuration
99
79
 
100
- The **Project ID** and **Credentials JSON** can be configured instead of placing them in environment variables or providing them as arguments.
80
+ The **Project ID** and the path to the **Credentials JSON** file can be configured
81
+ instead of placing them in environment variables or providing them as arguments.
101
82
 
102
83
  ```ruby
103
84
  require "google/cloud/bigquery"
@@ -125,15 +106,6 @@ To configure your system for this, simply:
125
106
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
126
107
  *should* only be used during development.
127
108
 
128
- [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
129
- [dev-console]: https://console.cloud.google.com/project
130
-
131
- [enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
132
-
133
- [create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
134
- [create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
135
- [reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
136
-
137
109
  ## Creating a Service Account
138
110
 
139
111
  Google Cloud requires a **Project ID** and **Service Account Credentials** to
@@ -143,31 +115,22 @@ connect to most services with google-cloud-bigquery.
143
115
  If you are not running this client on Google Compute Engine, you need a Google
144
116
  Developers service account.
145
117
 
146
- 1. Visit the [Google Developers Console][dev-console].
118
+ 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
147
119
  1. Create a new project or click on an existing project.
148
- 1. Activate the slide-out navigation tray and select **API Manager**. From
120
+ 1. Activate the menu in the upper left and select **APIs & Services**. From
149
121
  here, you will enable the APIs that your application requires.
150
122
 
151
- ![Enable the APIs that your application requires][enable-apis]
152
-
153
123
  *Note: You may need to enable billing in order to use these services.*
154
124
 
155
125
  1. Select **Credentials** from the side navigation.
156
126
 
157
- You should see a screen like one of the following.
158
-
159
- ![Create a new service account][create-new-service-account]
160
-
161
- ![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
162
-
163
- Find the "Add credentials" drop down and select "Service account" to be
164
- guided through downloading a new JSON key file.
165
-
166
- If you want to re-use an existing service account, you can easily generate a
167
- new key file. Just select the account you wish to re-use, and click "Generate
168
- new JSON key":
127
+ Find the "Create credentials" drop down near the top of the page, and select
128
+ "Service account" to be guided through downloading a new JSON key file.
169
129
 
170
- ![Re-use an existing service account][reuse-service-account]
130
+ If you want to re-use an existing service account, you can easily generate
131
+ a new key file. Just select the account you wish to re-use click the pencil
132
+ tool on the right side to edit the service account, select the **Keys** tab,
133
+ and then select **Add Key**.
171
134
 
172
135
  The key file you download will be used by this library to authenticate API
173
136
  requests and should be stored in a secure location.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,382 @@
1
1
  # Release History
2
2
 
3
+ ### 1.42.0 (2023-01-15)
4
+
5
+ #### Features
6
+
7
+ * Added support for authorized dataset ([#19442](https://github.com/googleapis/google-cloud-ruby/issues/19442))
8
+ * Added support for tags in dataset ([#19350](https://github.com/googleapis/google-cloud-ruby/issues/19350))
9
+
10
+ ### 1.41.0 (2023-01-05)
11
+
12
+ #### Features
13
+
14
+ * Add support for partial projection of table metadata
15
+ #### Bug Fixes
16
+
17
+ * Fix querying of array of structs in named parameters ([#19466](https://github.com/googleapis/google-cloud-ruby/issues/19466))
18
+
19
+ ### 1.40.0 (2022-12-14)
20
+
21
+ #### Features
22
+
23
+ * support table snapshot and clone ([#19354](https://github.com/googleapis/google-cloud-ruby/issues/19354))
24
+
25
+ ### 1.39.0 (2022-07-27)
26
+
27
+ #### Features
28
+
29
+ * Update minimum Ruby version to 2.6 ([#18871](https://github.com/googleapis/google-cloud-ruby/issues/18871))
30
+
31
+ ### 1.38.1 / 2022-01-13
32
+
33
+ #### Bug Fixes
34
+
35
+ * Update Bigquery::Data#ddl? to support ALTER TABLE
36
+ * Update Bigquery::QueryJob#ddl? to support ALTER TABLE
37
+ * Remove newline character ('\n') from #ddl? statement types
38
+
39
+ #### Documentation
40
+
41
+ * Update Contributing docs
42
+
43
+ ### 1.38.0 / 2021-11-16
44
+
45
+ #### Features
46
+
47
+ * Add session support
48
+ * Add create_session and session_id params to Project#query_job
49
+ * Add create_session and session_id params to Dataset#query_job
50
+ * Add session_id param to Project#query
51
+ * Add session_id param to Dataset#query
52
+ * Add Job#session_id
53
+ * Add QueryJob::Updater#create_session=
54
+ * Add QueryJob::Updater#session_id=
55
+
56
+ ### 1.37.0 / 2021-10-21
57
+
58
+ #### Features
59
+
60
+ * Add support for Avro options to external data sources
61
+ * Add External::AvroSource
62
+
63
+ ### 1.36.0 / 2021-09-22
64
+
65
+ #### Features
66
+
67
+ * Add Job#delete
68
+
69
+ #### Bug Fixes
70
+
71
+ * Add precision and scale to Field#add_field
72
+
73
+ ### 1.35.1 / 2021-09-14
74
+
75
+ #### Documentation
76
+
77
+ * Wrap character class regex in backticks
78
+
79
+ ### 1.35.0 / 2021-08-12
80
+
81
+ #### Features
82
+
83
+ * Add GEOGRAPHY schema helpers
84
+ * Add LoadJob#geography
85
+ * Add Schema::Field#geography
86
+ * Add Table::Updater#geography
87
+ * Add support for GEOGRAPHY type
88
+ * Add Schema#geography
89
+ * Add support for multistatement transaction statistics in jobs
90
+ * Add Job#transaction_id
91
+
92
+ ### 1.34.0 / 2021-07-20
93
+
94
+ #### Features
95
+
96
+ * Add DmlStatistics
97
+ * Add QueryJob#deleted_row_count
98
+ * Add QueryJob#inserted_row_count
99
+ * Add QueryJob#updated_row_count
100
+ * Add Data#deleted_row_count
101
+ * Add Data#inserted_row_count
102
+ * Add Data#updated_row_count
103
+
104
+ ### 1.33.0 / 2021-07-14
105
+
106
+ #### Features
107
+
108
+ * Add policy tag support (Column ACLs)
109
+ * Add policy_tags to LoadJob field helper methods
110
+ * Add policy_tags to Schema field helper methods
111
+ * Add policy_tags to Schema::Field field helper methods
112
+ * Add policy_tags to Table field helper methods
113
+ * Add Schema::Field#policy_tags
114
+ * Add Schema::Field#policy_tags=
115
+ * Add support for parameterized types
116
+ * Add max_length to LoadJob::Updater#bytes
117
+ * Add max_length to LoadJob::Updater#string
118
+ * Add max_length to Schema#bytes
119
+ * Add max_length to Schema#string
120
+ * Add max_length to Schema::Field#bytes
121
+ * Add max_length to Schema::Field#string
122
+ * Add max_length to Table::Updater#bytes
123
+ * Add max_length to Table::Updater#string
124
+ * Add precision and scale to LoadJob::Updater#bignumeric
125
+ * Add precision and scale to LoadJob::Updater#numeric
126
+ * Add precision and scale to Schema#bignumeric
127
+ * Add precision and scale to Schema#numeric
128
+ * Add precision and scale to Schema::Field#bignumeric
129
+ * Add precision and scale to Schema::Field#numeric
130
+ * Add precision and scale to Table::Updater#bignumeric
131
+ * Add precision and scale to Table::Updater#numeric
132
+ * Add Schema::Field#max_length
133
+ * Add Schema::Field#precision
134
+ * Add Schema::Field#scale
135
+
136
+ ### 1.32.1 / 2021-07-08
137
+
138
+ #### Documentation
139
+
140
+ * Update AUTHENTICATION.md in handwritten packages
141
+
142
+ ### 1.32.0 / 2021-06-21
143
+
144
+ #### Features
145
+
146
+ * Add support for Parquet options
147
+ * feat(bigquery): Add Bigquery::External::ParquetSource
148
+ * Add Parquet options to LoadJob
149
+ * Add LoadJob#parquet_options?
150
+ * Add LoadJob#parquet_enable_list_inference?
151
+ * Add LoadJob#parquet_enum_as_string?
152
+ * Add LoadJob::Updater#parquet_enable_list_inference=
153
+ * Add LoadJob::Updater#parquet_enum_as_string=
154
+
155
+ #### Bug Fixes
156
+
157
+ * Expand googleauth dependency to support future 1.x versions
158
+
159
+ ### 1.31.0 / 2021-04-28
160
+
161
+ #### Features
162
+
163
+ * Add support for mutable clustering configuration
164
+ * Add Table#clustering_fields=
165
+
166
+ ### 1.30.0 / 2021-04-20
167
+
168
+ #### Features
169
+
170
+ * Add support for BIGNUMERIC data type
171
+ * Add support for BIGNUMERIC data insert.
172
+ * Add support for BIGNUMERIC query params.
173
+ * Add #bignumeric to Schema, Table, LoadJob::Updater and Field.
174
+ * Update types tables in docs.
175
+
176
+ #### Bug Fixes
177
+
178
+ * Fix Table#time_partitioning_expiration=
179
+ * Accept nil argument.
180
+
181
+ ### 1.29.0 / 2021-03-10
182
+
183
+ #### Features
184
+
185
+ * Drop support for Ruby 2.4 and add support for Ruby 3.0
186
+
187
+ ### 1.28.0 / 2021-03-09
188
+
189
+ #### Features
190
+
191
+ * Add Materialized View support
192
+ * Add Dataset#create_materialized_view
193
+ * Add Table#materialized_view?
194
+ * Add Table#enable_refresh?
195
+ * Add Table#enable_refresh=
196
+ * Add Table#last_refresh_time
197
+ * Add Table#refresh_interval_ms
198
+ * Add Table#refresh_interval_ms=
199
+
200
+ ### 1.27.0 / 2021-02-10
201
+
202
+ #### Features
203
+
204
+ * Add Job#reservation_usage
205
+ * Add Routine#determinism_level
206
+ * Add Routine#determinism_level
207
+ * Add Routine#determinism_level=
208
+ * Add Routine#determinism_level_deterministic?
209
+ * Add Routine#determinism_level_not_deterministic?
210
+ * Add Routine::Updater#determinism_level=
211
+
212
+ ### 1.26.0 / 2021-01-13
213
+
214
+ #### Features
215
+
216
+ * Add support for Hive Partitioning
217
+ * Add hive partitioning options to External::DataSource
218
+ * Add hive partitioning options to LoadJob and LoadJob::Updater
219
+ * Replace google-api-client with google-apis-bigquery_v2
220
+
221
+ ### 1.25.0 / 2020-11-16
222
+
223
+ #### Features
224
+
225
+ * Add routine (UDF) to Dataset::Access
226
+ * Add support for Table ACLS (IAM Policy)
227
+ * feat(bigquery): Add support for Table ACLS
228
+ * Add Bigquery::Policy
229
+ * Add Table#policy
230
+ * Add Table#test_iam_permissions
231
+ * Add Table#update_policy
232
+
233
+ ### 1.24.0 / 2020-10-29
234
+
235
+ #### Features
236
+
237
+ * Add iamMember to Dataset::Access
238
+
239
+ #### Bug Fixes
240
+
241
+ * Ensure dense encoding of JSON responses
242
+ * Set query param prettyPrint=false for all requests.
243
+ * Upgrade google-api-client to ~> 0.47
244
+
245
+ #### Documentation
246
+
247
+ * Update supported types for time partition type
248
+
249
+ ### 1.23.0 / 2020-09-17
250
+
251
+ #### Features
252
+
253
+ * quota_project can be set via library configuration ([#7627](https://www.github.com/googleapis/google-cloud-ruby/issues/7627))
254
+
255
+ ### 1.22.0 / 2020-09-10
256
+
257
+ #### Features
258
+
259
+ * Add support for ML model export
260
+ * Add model support to Project#extract and #extract_job
261
+ * Add ExtractJob#model?
262
+ * Add ExtractJob#ml_tf_saved_model?
263
+ * Add ExtractJob#ml_xgboost_booster?
264
+ * Add Model#extract and #extract_job
265
+
266
+ ### 1.21.2 / 2020-07-21
267
+
268
+ #### Documentation
269
+
270
+ * Update Data#each samples
271
+
272
+ ### 1.21.1 / 2020-05-28
273
+
274
+ #### Documentation
275
+
276
+ * Fix a few broken links
277
+
278
+ ### 1.21.0 / 2020-03-31
279
+
280
+ #### Features
281
+
282
+ * Add Job#parent_job_id and Job#script_statistics
283
+ * Add parent_job to Project#jobs
284
+ * Add Job#num_child_jobs
285
+ * Add Job#parent_job_id
286
+ * Add Job#script_statistics
287
+
288
+ ### 1.20.0 / 2020-03-11
289
+
290
+ #### Features
291
+
292
+ * Add Range Partitioning
293
+ * Add range partitioning methods to Table and Table::Updater
294
+ * Add range partitioning methods to LoadJob
295
+ * Add range partitioning methods to QueryJob
296
+
297
+ ### 1.19.0 / 2020-02-11
298
+
299
+ #### Features
300
+
301
+ * Add Routine
302
+ * Add Dataset#create_routine
303
+ * Add Argument
304
+ * Update StandardSql classes to expose public initializer
305
+ * Add Data#ddl_target_routine and QueryJob#ddl_target_routine
306
+ * Allow row inserts to skip insert_id generation
307
+ * Streaming inserts using an insert_id are not able to be inserted as fast as inserts without an insert_id
308
+ * Add the ability for users to skip insert_id generation in order to speed up the inserts
309
+ * The default behavior continues to generate insert_id values for each row inserted
310
+ * Add yield documentation for Dataset#insert
311
+
312
+ ### 1.18.1 / 2019-12-18
313
+
314
+ #### Bug Fixes
315
+
316
+ * Fix MonitorMixin usage on Ruby 2.7
317
+ * Ruby 2.7 will error if new_cond is called before super().
318
+ * Make the call to super() be the first call in initialize
319
+
320
+ ### 1.18.0 / 2019-11-06
321
+
322
+ #### Features
323
+
324
+ * Add optional query parameter types
325
+ * Allow query parameters to be nil/NULL when providing an optional
326
+ * Add types argument to the following methods:
327
+ * Project#query
328
+ * Project#query_job
329
+ * Dataset#query
330
+ * Dataset#query_job
331
+ * Add param types helper methods
332
+ * Return the BigQuery field type code, using the same format as the
333
+ * Add Schema::Field#param_type
334
+ * Add Schema#param_types
335
+ * Add Data#param_types
336
+ * Add Table#param_types
337
+ * Add External::CvsSource#param_types
338
+ * Add External::JsonSource#param_types
339
+ * Add support for all_users special role in Dataset access
340
+
341
+ ### 1.17.0 / 2019-10-29
342
+
343
+ This release requires Ruby 2.4 or later.
344
+
345
+ #### Documentation
346
+
347
+ * Clarify which Google Cloud Platform environments support automatic authentication
348
+
349
+ ### 1.16.0 / 2019-10-03
350
+
351
+ #### Features
352
+
353
+ * Add Dataset default_encryption
354
+ * Add Dataset#default_encryption
355
+ * Add Dataset#default_encryption=
356
+
357
+ ### 1.15.0 / 2019-09-30
358
+
359
+ #### Features
360
+
361
+ * Add Model encryption
362
+ * Add Model#encryption
363
+ * Add Model#encryption=
364
+ * Add range support for Google Sheets
365
+ * Add External::SheetsSource#range
366
+ * Add External::SheetsSource#range=
367
+ * Support use_avro_logical_types on extract jobs
368
+ * Add ExtractJob#use_avro_logical_types?
369
+ * Add ExtractJob::Updater#use_avro_logical_types=
370
+
371
+ ### 1.14.1 / 2019-09-04
372
+
373
+ #### Documentation
374
+
375
+ * Add note about streaming insert issues
376
+ * Acknowledge tradeoffs when inserting rows soon after
377
+ table metadata has been changed.
378
+ * Add link to BigQuery Troubleshooting guide.
379
+
3
380
  ### 1.14.0 / 2019-08-23
4
381
 
5
382
  #### Features