google-cloud-bigquery 1.28.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44443c8c7fdf80fdfc611bba7ffcad2469ef60ff3aef8899f56a07fb4ced8555
4
- data.tar.gz: 3b3f3020b6c4eebfa1a2a974f6d047068bd5d7f114b5d8c843c31401108b15b1
3
+ metadata.gz: 46f8452c3539550b91ccbde1577ca5e9d7f0d7ad39976a92103590f919d23d3b
4
+ data.tar.gz: 62d2d147f332f0b0d8804eb08f7e5030b45b9068b0abb27e77987c04b670188f
5
5
  SHA512:
6
- metadata.gz: 5fb27c2d28ebb83a3f28a11241b7b260373dceade40159df44e31d6ab5de016079a00ddeba6943a09a6c7f8d303d08a24ca665160cd480b95f314382c2e45943
7
- data.tar.gz: cf98a8d90c55cf065265c094a74ccf9f421a89e1c459b05189d4a7b33c8d97c9304c0e7256729de190a9bc7f74195fd6cff9170748cfb3bc4732a297f902b320
6
+ metadata.gz: e53218c1b8a8b8ce69463a78f29d27899308edb1a7c383d8b60b09080a1508b5ecb4a29f7527ebaed9c8bbdd080a2c3bf0b4a637e027aaae0c9e592c95979617
7
+ data.tar.gz: f3665ef531ed461202e9cc58214d7b7d386a2e7ab1dbe990609d5414eb2e76f1ec05ab9f54333b578c69329cd5b1da254bc1f06639ec4c82154c0db625dc40db
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Release History
2
2
 
3
+ ### 1.29.0 / 2021-03-10
4
+
5
+ #### Features
6
+
7
+ * Drop support for Ruby 2.4 and add support for Ruby 3.0
8
+
3
9
  ### 1.28.0 / 2021-03-09
4
10
 
5
11
  #### Features
data/CONTRIBUTING.md CHANGED
@@ -24,7 +24,7 @@ be able to accept your pull requests.
24
24
  In order to use the google-cloud-bigquery console and run the project's tests,
25
25
  there is a small amount of setup:
26
26
 
27
- 1. Install Ruby. google-cloud-bigquery requires Ruby 2.4+. You may choose to
27
+ 1. Install Ruby. google-cloud-bigquery requires Ruby 2.5+. You may choose to
28
28
  manage your Ruby and gem installations with [RVM](https://rvm.io/),
29
29
  [rbenv](https://github.com/rbenv/rbenv), or
30
30
  [chruby](https://github.com/postmodern/chruby).
data/LOGGING.md CHANGED
@@ -4,7 +4,7 @@ To enable logging for this library, set the logger for the underlying [Google
4
4
  API
5
5
  Client](https://github.com/google/google-api-ruby-client/blob/master/README.md#logging)
6
6
  library. The logger that you set may be a Ruby stdlib
7
- [`Logger`](https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html) as
7
+ [`Logger`](https://ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html) as
8
8
  shown below, or a
9
9
  [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
10
10
  that will write logs to [Stackdriver
@@ -23,8 +23,6 @@ require "date"
23
23
  module Google
24
24
  module Cloud
25
25
  module Bigquery
26
- # rubocop:disable Metrics/ModuleLength
27
-
28
26
  ##
29
27
  # @private
30
28
  #
@@ -378,8 +376,6 @@ module Google
378
376
  (time_obj.to_i * 1000) + (time_obj.nsec / 1_000_000)
379
377
  end
380
378
  end
381
-
382
- # rubocop:enable Metrics/ModuleLength
383
379
  end
384
380
  end
385
381
  end
@@ -144,6 +144,7 @@ module Google
144
144
  ##
145
145
  # @private Create an Updater object.
146
146
  def initialize gapi
147
+ super()
147
148
  @gapi = gapi
148
149
  end
149
150
 
@@ -482,14 +482,14 @@ module Google
482
482
  # puts row[:word]
483
483
  # end
484
484
  #
485
- def all request_limit: nil
485
+ def all request_limit: nil, &block
486
486
  request_limit = request_limit.to_i if request_limit
487
487
 
488
488
  return enum_for :all, request_limit: request_limit unless block_given?
489
489
 
490
490
  results = self
491
491
  loop do
492
- results.each { |r| yield r }
492
+ results.each(&block)
493
493
  if request_limit
494
494
  request_limit -= 1
495
495
  break if request_limit.negative?
@@ -705,7 +705,7 @@ module Google
705
705
  user_defined_function_resources: udfs_gapi(udfs)
706
706
  )
707
707
  }.delete_if { |_, v| v.nil? }
708
- new_view = Google::Apis::BigqueryV2::Table.new new_view_opts
708
+ new_view = Google::Apis::BigqueryV2::Table.new(**new_view_opts)
709
709
 
710
710
  gapi = service.insert_table dataset_id, new_view
711
711
  Table.from_gapi gapi, service
@@ -779,7 +779,7 @@ module Google
779
779
  refresh_interval_ms: refresh_interval_ms
780
780
  )
781
781
  }.delete_if { |_, v| v.nil? }
782
- new_view = Google::Apis::BigqueryV2::Table.new new_view_opts
782
+ new_view = Google::Apis::BigqueryV2::Table.new(**new_view_opts)
783
783
 
784
784
  gapi = service.insert_table dataset_id, new_view
785
785
  Table.from_gapi gapi, service
@@ -2581,11 +2581,9 @@ module Google
2581
2581
  create_table table_id do |tbl_updater|
2582
2582
  yield tbl_updater if block_given?
2583
2583
  end
2584
- # rubocop:disable Lint/HandleExceptions
2585
2584
  rescue Google::Cloud::AlreadyExistsError
2585
+ # Do nothing if it already exists
2586
2586
  end
2587
- # rubocop:enable Lint/HandleExceptions
2588
-
2589
2587
  sleep 60
2590
2588
  retry
2591
2589
  end
@@ -2628,7 +2626,7 @@ module Google
2628
2626
  return if attributes.empty?
2629
2627
  ensure_service!
2630
2628
  patch_args = Hash[attributes.map { |attr| [attr, @gapi.send(attr)] }]
2631
- patch_gapi = Google::Apis::BigqueryV2::Dataset.new patch_args
2629
+ patch_gapi = Google::Apis::BigqueryV2::Dataset.new(**patch_args)
2632
2630
  patch_gapi.etag = etag if etag
2633
2631
  @gapi = service.patch_dataset dataset_id, patch_gapi
2634
2632
  end
@@ -2757,12 +2755,11 @@ module Google
2757
2755
 
2758
2756
  def load_local_or_uri file, updater
2759
2757
  job_gapi = updater.to_gapi
2760
- job = if local_file? file
2761
- load_local file, job_gapi
2762
- else
2763
- load_storage file, job_gapi
2764
- end
2765
- job
2758
+ if local_file? file
2759
+ load_local file, job_gapi
2760
+ else
2761
+ load_storage file, job_gapi
2762
+ end
2766
2763
  end
2767
2764
 
2768
2765
  def storage_url? files
@@ -2802,6 +2799,7 @@ module Google
2802
2799
  ##
2803
2800
  # @private Create an Updater object.
2804
2801
  def initialize gapi
2802
+ super()
2805
2803
  @updates = []
2806
2804
  @gapi = gapi
2807
2805
  end
@@ -1194,7 +1194,7 @@ module Google
1194
1194
  @rules.reject!(&find_by_scope_and_value(scope, value))
1195
1195
  # Add new rule for this role, scope, and value
1196
1196
  opts = { role: role, scope => value }
1197
- @rules << Google::Apis::BigqueryV2::Dataset::Access.new(opts)
1197
+ @rules << Google::Apis::BigqueryV2::Dataset::Access.new(**opts)
1198
1198
  end
1199
1199
 
1200
1200
  # @private
@@ -1204,7 +1204,7 @@ module Google
1204
1204
  @rules.reject!(&find_by_scope_and_resource_ref(:routine, value))
1205
1205
  # Add new rule for this role, scope, and value
1206
1206
  opts = { routine: value }
1207
- @rules << Google::Apis::BigqueryV2::Dataset::Access.new(opts)
1207
+ @rules << Google::Apis::BigqueryV2::Dataset::Access.new(**opts)
1208
1208
  end
1209
1209
 
1210
1210
  # @private
@@ -1215,7 +1215,7 @@ module Google
1215
1215
  @rules.reject!(&find_by_scope_and_resource_ref(:view, value))
1216
1216
  # Add new rule for this role, scope, and value
1217
1217
  opts = { view: value }
1218
- @rules << Google::Apis::BigqueryV2::Dataset::Access.new(opts)
1218
+ @rules << Google::Apis::BigqueryV2::Dataset::Access.new(**opts)
1219
1219
  end
1220
1220
 
1221
1221
  # @private
@@ -120,12 +120,12 @@ module Google
120
120
  # puts dataset.name
121
121
  # end
122
122
  #
123
- def all request_limit: nil
123
+ def all request_limit: nil, &block
124
124
  request_limit = request_limit.to_i if request_limit
125
125
  return enum_for :all, request_limit: request_limit unless block_given?
126
126
  results = self
127
127
  loop do
128
- results.each { |r| yield r }
128
+ results.each(&block)
129
129
  if request_limit
130
130
  request_limit -= 1
131
131
  break if request_limit.negative?
@@ -246,6 +246,7 @@ module Google
246
246
  ##
247
247
  # @private Create an Updater object.
248
248
  def initialize gapi
249
+ super()
249
250
  @gapi = gapi
250
251
  end
251
252
 
@@ -263,9 +264,10 @@ module Google
263
264
  extract_config = Google::Apis::BigqueryV2::JobConfigurationExtract.new(
264
265
  destination_uris: Array(storage_urls)
265
266
  )
266
- if source.is_a? Google::Apis::BigqueryV2::TableReference
267
+ case source
268
+ when Google::Apis::BigqueryV2::TableReference
267
269
  extract_config.source_table = source
268
- elsif source.is_a? Google::Apis::BigqueryV2::ModelReference
270
+ when Google::Apis::BigqueryV2::ModelReference
269
271
  extract_config.source_model = source
270
272
  end
271
273
  job = Google::Apis::BigqueryV2::Job.new(
@@ -507,7 +507,8 @@ module Google
507
507
  # @attr_reader [Fixnum] slot_ms The slot-milliseconds the job spent in the given reservation.
508
508
  #
509
509
  class ReservationUsage
510
- attr_reader :name, :slot_ms
510
+ attr_reader :name
511
+ attr_reader :slot_ms
511
512
 
512
513
  ##
513
514
  # @private Creates a new ReservationUsage instance.
@@ -571,7 +572,8 @@ module Google
571
572
  # end
572
573
  #
573
574
  class ScriptStatistics
574
- attr_reader :evaluation_kind, :stack_frames
575
+ attr_reader :evaluation_kind
576
+ attr_reader :stack_frames
575
577
 
576
578
  ##
577
579
  # @private Creates a new ScriptStatistics instance.
@@ -636,7 +638,11 @@ module Google
636
638
  # end
637
639
  #
638
640
  class ScriptStackFrame
639
- attr_reader :start_line, :start_column, :end_line, :end_column, :text
641
+ attr_reader :start_line
642
+ attr_reader :start_column
643
+ attr_reader :end_line
644
+ attr_reader :end_column
645
+ attr_reader :text
640
646
 
641
647
  ##
642
648
  # @private Creates a new ScriptStackFrame instance.
@@ -72,8 +72,8 @@ module Google
72
72
  return nil unless next?
73
73
  ensure_service!
74
74
  next_kwargs = @kwargs.merge token: token
75
- next_gapi = @service.list_jobs next_kwargs
76
- self.class.from_gapi next_gapi, @service, next_kwargs
75
+ next_gapi = @service.list_jobs(**next_kwargs)
76
+ self.class.from_gapi next_gapi, @service, **next_kwargs
77
77
  end
78
78
 
79
79
  ##
@@ -121,12 +121,12 @@ module Google
121
121
  # puts job.state
122
122
  # end
123
123
  #
124
- def all request_limit: nil
124
+ def all request_limit: nil, &block
125
125
  request_limit = request_limit.to_i if request_limit
126
126
  return enum_for :all, request_limit: request_limit unless block_given?
127
127
  results = self
128
128
  loop do
129
- results.each { |r| yield r }
129
+ results.each(&block)
130
130
  if request_limit
131
131
  request_limit -= 1
132
132
  break if request_limit.negative?
@@ -606,6 +606,7 @@ module Google
606
606
  ##
607
607
  # @private Create an Updater object.
608
608
  def initialize gapi
609
+ super()
609
610
  @updates = []
610
611
  @gapi = gapi
611
612
  @schema = nil
@@ -124,12 +124,12 @@ module Google
124
124
  # puts model.model_id
125
125
  # end
126
126
  #
127
- def all request_limit: nil
127
+ def all request_limit: nil, &block
128
128
  request_limit = request_limit.to_i if request_limit
129
129
  return enum_for :all, request_limit: request_limit unless block_given?
130
130
  results = self
131
131
  loop do
132
- results.each { |r| yield r }
132
+ results.each(&block)
133
133
  if request_limit
134
134
  request_limit -= 1
135
135
  break if request_limit.negative?
@@ -96,7 +96,8 @@ module Google
96
96
  # end
97
97
  #
98
98
  class Policy
99
- attr_reader :etag, :bindings
99
+ attr_reader :etag
100
+ attr_reader :bindings
100
101
 
101
102
  # @private
102
103
  def initialize etag, bindings
@@ -56,7 +56,8 @@ module Google
56
56
  # @private The Service object.
57
57
  attr_accessor :service
58
58
 
59
- attr_reader :name, :numeric_id
59
+ attr_reader :name
60
+ attr_reader :numeric_id
60
61
 
61
62
  ##
62
63
  # Creates a new Service instance.
@@ -121,12 +121,12 @@ module Google
121
121
  # puts project.name
122
122
  # end
123
123
  #
124
- def all request_limit: nil
124
+ def all request_limit: nil, &block
125
125
  request_limit = request_limit.to_i if request_limit
126
126
  return enum_for :all, request_limit: request_limit unless block_given?
127
127
  results = self
128
128
  loop do
129
- results.each { |r| yield r }
129
+ results.each(&block)
130
130
  if request_limit
131
131
  request_limit -= 1
132
132
  break if request_limit.negative?
@@ -692,8 +692,11 @@ module Google
692
692
  end
693
693
  ensure_schema!
694
694
 
695
- options = { token: token, max: max, start: start }
696
- data_hash = service.list_tabledata destination_table_dataset_id, destination_table_table_id, options
695
+ data_hash = service.list_tabledata destination_table_dataset_id,
696
+ destination_table_table_id,
697
+ token: token,
698
+ max: max,
699
+ start: start
697
700
  Data.from_gapi_json data_hash, destination_table_gapi, @gapi, service
698
701
  end
699
702
  alias query_results data
@@ -704,12 +707,11 @@ module Google
704
707
  ##
705
708
  # @private Create an Updater object.
706
709
  def initialize service, gapi
710
+ super()
707
711
  @service = service
708
712
  @gapi = gapi
709
713
  end
710
714
 
711
- # rubocop:disable all
712
-
713
715
  ##
714
716
  # @private Create an Updater from an options hash.
715
717
  #
@@ -748,8 +750,6 @@ module Google
748
750
  updater
749
751
  end
750
752
 
751
- # rubocop:enable all
752
-
753
753
  ##
754
754
  # Sets the geographic location where the job should run. Required
755
755
  # except for US and EU.
@@ -935,13 +935,13 @@ module Google
935
935
  raise ArgumentError, "types must use the same format as params" if types.class != params.class
936
936
 
937
937
  case params
938
- when Array then
938
+ when Array
939
939
  @gapi.configuration.query.use_legacy_sql = false
940
940
  @gapi.configuration.query.parameter_mode = "POSITIONAL"
941
941
  @gapi.configuration.query.query_parameters = params.zip(types).map do |param, type|
942
942
  Convert.to_query_param param, type
943
943
  end
944
- when Hash then
944
+ when Hash
945
945
  @gapi.configuration.query.use_legacy_sql = false
946
946
  @gapi.configuration.query.parameter_mode = "NAMED"
947
947
  @gapi.configuration.query.query_parameters = params.map do |name, param|
@@ -1592,9 +1592,20 @@ module Google
1592
1592
  # end
1593
1593
  #
1594
1594
  class Stage
1595
- attr_reader :compute_ratio_avg, :compute_ratio_max, :id, :name, :read_ratio_avg, :read_ratio_max,
1596
- :records_read, :records_written, :status, :steps, :wait_ratio_avg, :wait_ratio_max,
1597
- :write_ratio_avg, :write_ratio_max
1595
+ attr_reader :compute_ratio_avg
1596
+ attr_reader :compute_ratio_max
1597
+ attr_reader :id
1598
+ attr_reader :name
1599
+ attr_reader :read_ratio_avg
1600
+ attr_reader :read_ratio_max
1601
+ attr_reader :records_read
1602
+ attr_reader :records_written
1603
+ attr_reader :status
1604
+ attr_reader :steps
1605
+ attr_reader :wait_ratio_avg
1606
+ attr_reader :wait_ratio_max
1607
+ attr_reader :write_ratio_avg
1608
+ attr_reader :write_ratio_max
1598
1609
 
1599
1610
  ##
1600
1611
  # @private Creates a new Stage instance.
@@ -1657,7 +1668,8 @@ module Google
1657
1668
  # end
1658
1669
  #
1659
1670
  class Step
1660
- attr_reader :kind, :substeps
1671
+ attr_reader :kind
1672
+ attr_reader :substeps
1661
1673
 
1662
1674
  ##
1663
1675
  # @private Creates a new Stage instance.
@@ -1006,6 +1006,7 @@ module Google
1006
1006
  ##
1007
1007
  # @private Create an Updater object.
1008
1008
  def initialize gapi
1009
+ super()
1009
1010
  @original_gapi = gapi
1010
1011
  @gapi = gapi.dup
1011
1012
  end
@@ -1210,15 +1211,11 @@ module Google
1210
1211
  end
1211
1212
  alias refresh! reload!
1212
1213
 
1213
- # rubocop:disable Style/CaseEquality
1214
-
1215
1214
  # @private
1216
1215
  def updates?
1217
1216
  !(@gapi === @original_gapi)
1218
1217
  end
1219
1218
 
1220
- # rubocop:enable Style/CaseEquality
1221
-
1222
1219
  # @private
1223
1220
  def to_gapi
1224
1221
  @gapi
@@ -124,12 +124,12 @@ module Google
124
124
  # puts routine.routine_id
125
125
  # end
126
126
  #
127
- def all request_limit: nil
127
+ def all request_limit: nil, &block
128
128
  request_limit = request_limit.to_i if request_limit
129
129
  return enum_for :all, request_limit: request_limit unless block_given?
130
130
  results = self
131
131
  loop do
132
- results.each { |r| yield r }
132
+ results.each(&block)
133
133
  if request_limit
134
134
  request_limit -= 1
135
135
  break if request_limit.negative?
@@ -483,7 +483,7 @@ module Google
483
483
  table_id: m["tbl"]
484
484
  }.delete_if { |_, v| v.nil? }
485
485
  str_table_ref_hash = default_ref.to_h.merge str_table_ref_hash
486
- ref = Google::Apis::BigqueryV2::TableReference.new str_table_ref_hash
486
+ ref = Google::Apis::BigqueryV2::TableReference.new(**str_table_ref_hash)
487
487
  validate_table_ref ref
488
488
  ref
489
489
  end
@@ -554,9 +554,9 @@ module Google
554
554
  nil
555
555
  end
556
556
 
557
- def execute backoff: nil
557
+ def execute backoff: nil, &block
558
558
  if backoff
559
- Backoff.new(retries: retries).execute { yield }
559
+ Backoff.new(retries: retries).execute(&block)
560
560
  else
561
561
  yield
562
562
  end
@@ -590,22 +590,20 @@ module Google
590
590
  def execute
591
591
  current_retries = 0
592
592
  loop do
593
- begin
594
- return yield
595
- rescue Google::Apis::Error => e
596
- raise e unless retry? e.body, current_retries
597
-
598
- @backoff.call current_retries
599
- current_retries += 1
600
- end
593
+ return yield
594
+ rescue Google::Apis::Error => e
595
+ raise e unless retry? e.body, current_retries
596
+
597
+ @backoff.call current_retries
598
+ current_retries += 1
601
599
  end
602
600
  end
603
601
 
604
602
  protected
605
603
 
606
604
  def retry? result, current_retries #:nodoc:
607
- if current_retries < @retries
608
- return true if retry_error_reason? result
605
+ if current_retries < @retries && retry_error_reason?(result)
606
+ return true
609
607
  end
610
608
  false
611
609
  end
@@ -401,11 +401,12 @@ module Google
401
401
  # @private New Google::Apis::BigqueryV2::StandardSqlDataType from a String or StandardSql::DataType object.
402
402
  def self.gapi_from_string_or_data_type data_type
403
403
  return if data_type.nil?
404
- if data_type.is_a? StandardSql::DataType
404
+ case data_type
405
+ when StandardSql::DataType
405
406
  data_type.to_gapi
406
- elsif data_type.is_a? Hash
407
+ when Hash
407
408
  data_type
408
- elsif data_type.is_a?(String) || data_type.is_a?(Symbol)
409
+ when String, Symbol
409
410
  Google::Apis::BigqueryV2::StandardSqlDataType.new type_kind: data_type.to_s.upcase
410
411
  else
411
412
  raise ArgumentError, "Unable to convert #{data_type} to Google::Apis::BigqueryV2::StandardSqlDataType"
@@ -2374,8 +2374,12 @@ module Google
2374
2374
  end
2375
2375
 
2376
2376
  ensure_service!
2377
- options = { skip_invalid: skip_invalid, ignore_unknown: ignore_unknown, insert_ids: insert_ids }
2378
- gapi = service.insert_tabledata dataset_id, table_id, rows, options
2377
+ gapi = service.insert_tabledata dataset_id,
2378
+ table_id,
2379
+ rows,
2380
+ skip_invalid: skip_invalid,
2381
+ ignore_unknown: ignore_unknown,
2382
+ insert_ids: insert_ids
2379
2383
  InsertResponse.from_gapi rows, gapi
2380
2384
  end
2381
2385
 
@@ -2674,7 +2678,7 @@ module Google
2674
2678
  return if attributes.empty?
2675
2679
  ensure_service!
2676
2680
  patch_args = Hash[attributes.map { |attr| [attr, @gapi.send(attr)] }]
2677
- patch_gapi = Google::Apis::BigqueryV2::Table.new patch_args
2681
+ patch_gapi = Google::Apis::BigqueryV2::Table.new(**patch_args)
2678
2682
  patch_gapi.etag = etag if etag
2679
2683
  @gapi = service.patch_table dataset_id, table_id, patch_gapi
2680
2684
 
@@ -2800,12 +2804,11 @@ module Google
2800
2804
 
2801
2805
  def load_local_or_uri file, updater
2802
2806
  job_gapi = updater.to_gapi
2803
- job = if local_file? file
2804
- load_local file, job_gapi
2805
- else
2806
- load_storage file, job_gapi
2807
- end
2808
- job
2807
+ if local_file? file
2808
+ load_local file, job_gapi
2809
+ else
2810
+ load_storage file, job_gapi
2811
+ end
2809
2812
  end
2810
2813
 
2811
2814
  def storage_url? files
@@ -2858,6 +2861,7 @@ module Google
2858
2861
  ##
2859
2862
  # @private Create an Updater object.
2860
2863
  def initialize gapi
2864
+ super()
2861
2865
  @updates = []
2862
2866
  @gapi = gapi
2863
2867
  @schema = nil
@@ -64,7 +64,10 @@ module Google
64
64
  class AsyncInserter
65
65
  include MonitorMixin
66
66
 
67
- attr_reader :max_bytes, :max_rows, :interval, :threads
67
+ attr_reader :max_bytes
68
+ attr_reader :max_rows
69
+ attr_reader :interval
70
+ attr_reader :threads
68
71
  ##
69
72
  # @private Implementation accessors
70
73
  attr_reader :table, :batch
@@ -265,18 +268,19 @@ module Google
265
268
  json_rows = @batch.json_rows
266
269
  insert_ids = @batch.insert_ids
267
270
  Concurrent::Future.new executor: @thread_pool do
268
- begin
269
- raise ArgumentError, "No rows provided" if json_rows.empty?
270
- options = { skip_invalid: @skip_invalid, ignore_unknown: @ignore_unknown, insert_ids: insert_ids }
271
- insert_resp = @table.service.insert_tabledata_json_rows(
272
- @table.dataset_id, @table.table_id, json_rows, options
273
- )
274
- result = Result.new InsertResponse.from_gapi(orig_rows, insert_resp)
275
- rescue StandardError => e
276
- result = Result.new nil, e
277
- ensure
278
- @callback&.call result
279
- end
271
+ raise ArgumentError, "No rows provided" if json_rows.empty?
272
+ insert_resp = @table.service.insert_tabledata_json_rows @table.dataset_id,
273
+ @table.table_id,
274
+ json_rows,
275
+ skip_invalid: @skip_invalid,
276
+ ignore_unknown: @ignore_unknown,
277
+ insert_ids: insert_ids
278
+
279
+ result = Result.new InsertResponse.from_gapi(orig_rows, insert_resp)
280
+ rescue StandardError => e
281
+ result = Result.new nil, e
282
+ ensure
283
+ @callback&.call result
280
284
  end.execute
281
285
 
282
286
  @batch = nil
@@ -286,7 +290,11 @@ module Google
286
290
  ##
287
291
  # @private
288
292
  class Batch
289
- attr_reader :max_bytes, :max_rows, :rows, :json_rows, :insert_ids
293
+ attr_reader :max_bytes
294
+ attr_reader :max_rows
295
+ attr_reader :rows
296
+ attr_reader :json_rows
297
+ attr_reader :insert_ids
290
298
 
291
299
  def initialize max_bytes: 10_000_000, max_rows: 500
292
300
  @max_bytes = max_bytes
@@ -395,7 +403,8 @@ module Google
395
403
  @error = error
396
404
  end
397
405
 
398
- attr_reader :insert_response, :error
406
+ attr_reader :insert_response
407
+ attr_reader :error
399
408
 
400
409
  ##
401
410
  # Checks if an error is present, meaning that the insert operation
@@ -130,12 +130,12 @@ module Google
130
130
  # puts table.name
131
131
  # end
132
132
  #
133
- def all request_limit: nil
133
+ def all request_limit: nil, &block
134
134
  request_limit = request_limit.to_i if request_limit
135
135
  return enum_for :all, request_limit: request_limit unless block_given?
136
136
  results = self
137
137
  loop do
138
- results.each { |r| yield r }
138
+ results.each(&block)
139
139
  if request_limit
140
140
  request_limit -= 1
141
141
  break if request_limit.negative?
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Bigquery
19
- VERSION = "1.28.0".freeze
19
+ VERSION = "1.29.0".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-bigquery
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.28.0
4
+ version: 1.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-03-09 00:00:00.000000000 Z
12
+ date: 2021-03-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby
@@ -40,33 +40,33 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0.1'
42
42
  - !ruby/object:Gem::Dependency
43
- name: google-cloud-core
43
+ name: googleauth
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '1.2'
48
+ version: '0.9'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '1.2'
55
+ version: '0.9'
56
56
  - !ruby/object:Gem::Dependency
57
- name: googleauth
57
+ name: google-cloud-core
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.9'
62
+ version: '1.2'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.9'
69
+ version: '1.2'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: mini_mime
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +101,14 @@ dependencies:
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 1.24.0
104
+ version: 1.25.1
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 1.24.0
111
+ version: 1.25.1
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: minitest
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -284,7 +284,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
284
284
  requirements:
285
285
  - - ">="
286
286
  - !ruby/object:Gem::Version
287
- version: '2.4'
287
+ version: '2.5'
288
288
  required_rubygems_version: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - ">="