google-cloud-spanner 1.16.2 → 2.4.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.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +1 -1
- data/CHANGELOG.md +66 -0
- data/CONTRIBUTING.md +1 -1
- data/lib/google-cloud-spanner.rb +11 -13
- data/lib/google/cloud/spanner.rb +13 -13
- data/lib/google/cloud/spanner/admin/database/credentials.rb +2 -2
- data/lib/google/cloud/spanner/admin/instance/credentials.rb +2 -2
- data/lib/google/cloud/spanner/backup.rb +9 -1
- data/lib/google/cloud/spanner/backup/job.rb +2 -2
- data/lib/google/cloud/spanner/backup/job/list.rb +2 -2
- data/lib/google/cloud/spanner/backup/list.rb +1 -2
- data/lib/google/cloud/spanner/backup/restore/job.rb +2 -2
- data/lib/google/cloud/spanner/batch_client.rb +2 -2
- data/lib/google/cloud/spanner/batch_snapshot.rb +120 -23
- data/lib/google/cloud/spanner/batch_update.rb +1 -1
- data/lib/google/cloud/spanner/client.rb +388 -47
- data/lib/google/cloud/spanner/commit.rb +14 -14
- data/lib/google/cloud/spanner/commit_response.rb +87 -0
- data/lib/google/cloud/spanner/commit_response/commit_stats.rb +51 -0
- data/lib/google/cloud/spanner/convert.rb +16 -7
- data/lib/google/cloud/spanner/credentials.rb +2 -2
- data/lib/google/cloud/spanner/data.rb +2 -2
- data/lib/google/cloud/spanner/database.rb +47 -25
- data/lib/google/cloud/spanner/database/backup_info.rb +13 -4
- data/lib/google/cloud/spanner/database/job.rb +3 -3
- data/lib/google/cloud/spanner/database/job/list.rb +2 -2
- data/lib/google/cloud/spanner/database/list.rb +1 -1
- data/lib/google/cloud/spanner/database/restore_info.rb +1 -1
- data/lib/google/cloud/spanner/fields.rb +8 -8
- data/lib/google/cloud/spanner/instance.rb +5 -12
- data/lib/google/cloud/spanner/instance/config.rb +1 -1
- data/lib/google/cloud/spanner/instance/config/list.rb +1 -1
- data/lib/google/cloud/spanner/instance/job.rb +2 -2
- data/lib/google/cloud/spanner/instance/list.rb +1 -1
- data/lib/google/cloud/spanner/partition.rb +4 -4
- data/lib/google/cloud/spanner/policy.rb +2 -2
- data/lib/google/cloud/spanner/results.rb +103 -24
- data/lib/google/cloud/spanner/service.rb +369 -350
- data/lib/google/cloud/spanner/session.rb +370 -39
- data/lib/google/cloud/spanner/snapshot.rb +60 -6
- data/lib/google/cloud/spanner/transaction.rb +116 -10
- data/lib/google/cloud/spanner/version.rb +1 -1
- metadata +20 -107
- data/lib/google/cloud/spanner/admin/database.rb +0 -149
- data/lib/google/cloud/spanner/admin/database/v1.rb +0 -147
- data/lib/google/cloud/spanner/admin/database/v1/credentials.rb +0 -46
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb +0 -1513
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client_config.json +0 -111
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/iam_policy.rb +0 -64
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/options.rb +0 -33
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb +0 -151
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/longrunning/operations.rb +0 -51
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/backup.rb +0 -325
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb +0 -368
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/type/expr.rb +0 -45
- data/lib/google/cloud/spanner/admin/instance.rb +0 -164
- data/lib/google/cloud/spanner/admin/instance/v1.rb +0 -162
- data/lib/google/cloud/spanner/admin/instance/v1/credentials.rb +0 -46
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/iam_policy.rb +0 -64
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/options.rb +0 -33
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb +0 -151
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/longrunning/operations.rb +0 -51
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb +0 -334
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/type/expr.rb +0 -45
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb +0 -975
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client_config.json +0 -76
- data/lib/google/cloud/spanner/v1.rb +0 -16
- data/lib/google/cloud/spanner/v1/credentials.rb +0 -42
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/struct.rb +0 -74
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/spanner/v1/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/keys.rb +0 -150
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb +0 -95
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/query_plan.rb +0 -121
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/result_set.rb +0 -190
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb +0 -570
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/transaction.rb +0 -432
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/type.rb +0 -112
- data/lib/google/cloud/spanner/v1/spanner_client.rb +0 -1485
- data/lib/google/cloud/spanner/v1/spanner_client_config.json +0 -121
- data/lib/google/spanner/admin/database/v1/backup_pb.rb +0 -98
- data/lib/google/spanner/admin/database/v1/common_pb.rb +0 -28
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb +0 -141
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +0 -169
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb +0 -125
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +0 -181
- data/lib/google/spanner/v1/keys_pb.rb +0 -34
- data/lib/google/spanner/v1/mutation_pb.rb +0 -39
- data/lib/google/spanner/v1/query_plan_pb.rb +0 -48
- data/lib/google/spanner/v1/result_set_pb.rb +0 -48
- data/lib/google/spanner/v1/spanner_pb.rb +0 -179
- data/lib/google/spanner/v1/spanner_services_pb.rb +0 -179
- data/lib/google/spanner/v1/transaction_pb.rb +0 -56
- data/lib/google/spanner/v1/type_pb.rb +0 -44
|
@@ -125,6 +125,19 @@ module Google
|
|
|
125
125
|
# * `:optimizer_version` (String) The version of optimizer to use.
|
|
126
126
|
# Empty to use database default. "latest" to use the latest
|
|
127
127
|
# available optimizer version.
|
|
128
|
+
# @param [Hash] call_options A hash of values to specify the custom
|
|
129
|
+
# call options, e.g., timeout, retries, etc. Call options are
|
|
130
|
+
# optional. The following settings can be provided:
|
|
131
|
+
#
|
|
132
|
+
# * `:timeout` (Numeric) A numeric value of custom timeout in seconds
|
|
133
|
+
# that overrides the default setting.
|
|
134
|
+
# * `:retry_policy` (Hash) A hash of values that overrides the default
|
|
135
|
+
# setting of retry policy with the following keys:
|
|
136
|
+
# * `:initial_delay` (`Numeric`) - The initial delay in seconds.
|
|
137
|
+
# * `:max_delay` (`Numeric`) - The max delay in seconds.
|
|
138
|
+
# * `:multiplier` (`Numeric`) - The incremental backoff multiplier.
|
|
139
|
+
# * `:retry_codes` (`Array<String>`) - The error codes that should
|
|
140
|
+
# trigger a retry.
|
|
128
141
|
#
|
|
129
142
|
# @return [Google::Cloud::Spanner::Results] The results of the query
|
|
130
143
|
# execution.
|
|
@@ -243,13 +256,39 @@ module Google
|
|
|
243
256
|
# end
|
|
244
257
|
# end
|
|
245
258
|
#
|
|
246
|
-
|
|
259
|
+
# @example Query using custom timeout and retry policy:
|
|
260
|
+
# require "google/cloud/spanner"
|
|
261
|
+
#
|
|
262
|
+
# spanner = Google::Cloud::Spanner.new
|
|
263
|
+
# db = spanner.client "my-instance", "my-database"
|
|
264
|
+
#
|
|
265
|
+
# timeout = 30.0
|
|
266
|
+
# retry_policy = {
|
|
267
|
+
# initial_delay: 0.25,
|
|
268
|
+
# max_delay: 32.0,
|
|
269
|
+
# multiplier: 1.3,
|
|
270
|
+
# retry_codes: ["UNAVAILABLE"]
|
|
271
|
+
# }
|
|
272
|
+
# call_options = { timeout: timeout, retry_policy: retry_policy }
|
|
273
|
+
#
|
|
274
|
+
# db.snapshot do |snp|
|
|
275
|
+
# results = snp.execute_query \
|
|
276
|
+
# "SELECT * FROM users", call_options: call_options
|
|
277
|
+
#
|
|
278
|
+
# results.rows.each do |row|
|
|
279
|
+
# puts "User #{row[:id]} is #{row[:name]}"
|
|
280
|
+
# end
|
|
281
|
+
# end
|
|
282
|
+
#
|
|
283
|
+
def execute_query sql, params: nil, types: nil, query_options: nil,
|
|
284
|
+
call_options: nil
|
|
247
285
|
ensure_session!
|
|
248
286
|
|
|
249
287
|
params, types = Convert.to_input_params_and_types params, types
|
|
250
288
|
session.execute_query sql, params: params, types: types,
|
|
251
289
|
transaction: tx_selector,
|
|
252
|
-
query_options: query_options
|
|
290
|
+
query_options: query_options,
|
|
291
|
+
call_options: call_options
|
|
253
292
|
end
|
|
254
293
|
alias execute execute_query
|
|
255
294
|
alias query execute_query
|
|
@@ -271,6 +310,19 @@ module Google
|
|
|
271
310
|
# Optional.
|
|
272
311
|
# @param [Integer] limit If greater than zero, no more than this number
|
|
273
312
|
# of rows will be returned. The default is no limit.
|
|
313
|
+
# @param [Hash] call_options A hash of values to specify the custom
|
|
314
|
+
# call options, e.g., timeout, retries, etc. Call options are
|
|
315
|
+
# optional. The following settings can be provided:
|
|
316
|
+
#
|
|
317
|
+
# * `:timeout` (Numeric) A numeric value of custom timeout in seconds
|
|
318
|
+
# that overrides the default setting.
|
|
319
|
+
# * `:retry_policy` (Hash) A hash of values that overrides the default
|
|
320
|
+
# setting of retry policy with the following keys:
|
|
321
|
+
# * `:initial_delay` (`Numeric`) - The initial delay in seconds.
|
|
322
|
+
# * `:max_delay` (`Numeric`) - The max delay in seconds.
|
|
323
|
+
# * `:multiplier` (`Numeric`) - The incremental backoff multiplier.
|
|
324
|
+
# * `:retry_codes` (`Array<String>`) - The error codes that should
|
|
325
|
+
# trigger a retry.
|
|
274
326
|
#
|
|
275
327
|
# @return [Google::Cloud::Spanner::Results] The results of the read
|
|
276
328
|
# operation.
|
|
@@ -289,14 +341,16 @@ module Google
|
|
|
289
341
|
# end
|
|
290
342
|
# end
|
|
291
343
|
#
|
|
292
|
-
def read table, columns, keys: nil, index: nil, limit: nil
|
|
344
|
+
def read table, columns, keys: nil, index: nil, limit: nil,
|
|
345
|
+
call_options: nil
|
|
293
346
|
ensure_session!
|
|
294
347
|
|
|
295
348
|
columns = Array(columns).map(&:to_s)
|
|
296
349
|
keys = Convert.to_key_set keys
|
|
297
350
|
|
|
298
351
|
session.read table, columns, keys: keys, index: index, limit: limit,
|
|
299
|
-
transaction: tx_selector
|
|
352
|
+
transaction: tx_selector,
|
|
353
|
+
call_options: call_options
|
|
300
354
|
end
|
|
301
355
|
|
|
302
356
|
##
|
|
@@ -414,7 +468,7 @@ module Google
|
|
|
414
468
|
|
|
415
469
|
##
|
|
416
470
|
# @private Creates a new Snapshot instance from a
|
|
417
|
-
# Google::Spanner::V1::Transaction
|
|
471
|
+
# `Google::Cloud::Spanner::V1::Transaction`.
|
|
418
472
|
def self.from_grpc grpc, session
|
|
419
473
|
new.tap do |s|
|
|
420
474
|
s.instance_variable_set :@grpc, grpc
|
|
@@ -427,7 +481,7 @@ module Google
|
|
|
427
481
|
# The TransactionSelector to be used for queries
|
|
428
482
|
def tx_selector
|
|
429
483
|
return nil if transaction_id.nil?
|
|
430
|
-
|
|
484
|
+
V1::TransactionSelector.new id: transaction_id
|
|
431
485
|
end
|
|
432
486
|
|
|
433
487
|
##
|
|
@@ -155,6 +155,19 @@ module Google
|
|
|
155
155
|
# * `:optimizer_version` (String) The version of optimizer to use.
|
|
156
156
|
# Empty to use database default. "latest" to use the latest
|
|
157
157
|
# available optimizer version.
|
|
158
|
+
# @param [Hash] call_options A hash of values to specify the custom
|
|
159
|
+
# call options, e.g., timeout, retries, etc. Call options are
|
|
160
|
+
# optional. The following settings can be provided:
|
|
161
|
+
#
|
|
162
|
+
# * `:timeout` (Numeric) A numeric value of custom timeout in seconds
|
|
163
|
+
# that overrides the default setting.
|
|
164
|
+
# * `:retry_policy` (Hash) A hash of values that overrides the default
|
|
165
|
+
# setting of retry policy with the following keys:
|
|
166
|
+
# * `:initial_delay` (`Numeric`) - The initial delay in seconds.
|
|
167
|
+
# * `:max_delay` (`Numeric`) - The max delay in seconds.
|
|
168
|
+
# * `:multiplier` (`Numeric`) - The incremental backoff multiplier.
|
|
169
|
+
# * `:retry_codes` (`Array<String>`) - The error codes that should
|
|
170
|
+
# trigger a retry.
|
|
158
171
|
#
|
|
159
172
|
# @return [Google::Cloud::Spanner::Results] The results of the query
|
|
160
173
|
# execution.
|
|
@@ -274,7 +287,32 @@ module Google
|
|
|
274
287
|
# end
|
|
275
288
|
# end
|
|
276
289
|
#
|
|
277
|
-
|
|
290
|
+
# @example Query using custom timeout and retry policy:
|
|
291
|
+
# require "google/cloud/spanner"
|
|
292
|
+
#
|
|
293
|
+
# spanner = Google::Cloud::Spanner.new
|
|
294
|
+
# db = spanner.client "my-instance", "my-database"
|
|
295
|
+
#
|
|
296
|
+
# timeout = 30.0
|
|
297
|
+
# retry_policy = {
|
|
298
|
+
# initial_delay: 0.25,
|
|
299
|
+
# max_delay: 32.0,
|
|
300
|
+
# multiplier: 1.3,
|
|
301
|
+
# retry_codes: ["UNAVAILABLE"]
|
|
302
|
+
# }
|
|
303
|
+
# call_options = { timeout: timeout, retry_policy: retry_policy }
|
|
304
|
+
#
|
|
305
|
+
# db.transaction do |tx|
|
|
306
|
+
# results = tx.execute_query \
|
|
307
|
+
# "SELECT * FROM users", call_options: call_options
|
|
308
|
+
#
|
|
309
|
+
# results.rows.each do |row|
|
|
310
|
+
# puts "User #{row[:id]} is #{row[:name]}"
|
|
311
|
+
# end
|
|
312
|
+
# end
|
|
313
|
+
#
|
|
314
|
+
def execute_query sql, params: nil, types: nil, query_options: nil,
|
|
315
|
+
call_options: nil
|
|
278
316
|
ensure_session!
|
|
279
317
|
|
|
280
318
|
@seqno += 1
|
|
@@ -282,7 +320,8 @@ module Google
|
|
|
282
320
|
params, types = Convert.to_input_params_and_types params, types
|
|
283
321
|
session.execute_query sql, params: params, types: types,
|
|
284
322
|
transaction: tx_selector, seqno: @seqno,
|
|
285
|
-
query_options: query_options
|
|
323
|
+
query_options: query_options,
|
|
324
|
+
call_options: call_options
|
|
286
325
|
end
|
|
287
326
|
alias execute execute_query
|
|
288
327
|
alias query execute_query
|
|
@@ -352,6 +391,19 @@ module Google
|
|
|
352
391
|
# * `:optimizer_version` (String) The version of optimizer to use.
|
|
353
392
|
# Empty to use database default. "latest" to use the latest
|
|
354
393
|
# available optimizer version.
|
|
394
|
+
# @param [Hash] call_options A hash of values to specify the custom
|
|
395
|
+
# call options, e.g., timeout, retries, etc. Call options are
|
|
396
|
+
# optional. The following settings can be provided:
|
|
397
|
+
#
|
|
398
|
+
# * `:timeout` (Numeric) A numeric value of custom timeout in seconds
|
|
399
|
+
# that overrides the default setting.
|
|
400
|
+
# * `:retry_policy` (Hash) A hash of values that overrides the default
|
|
401
|
+
# setting of retry policy with the following keys:
|
|
402
|
+
# * `:initial_delay` (`Numeric`) - The initial delay in seconds.
|
|
403
|
+
# * `:max_delay` (`Numeric`) - The max delay in seconds.
|
|
404
|
+
# * `:multiplier` (`Numeric`) - The incremental backoff multiplier.
|
|
405
|
+
# * `:retry_codes` (`Array<String>`) - The error codes that should
|
|
406
|
+
# trigger a retry.
|
|
355
407
|
#
|
|
356
408
|
# @return [Integer] The exact number of rows that were modified.
|
|
357
409
|
#
|
|
@@ -393,9 +445,33 @@ module Google
|
|
|
393
445
|
# )
|
|
394
446
|
# end
|
|
395
447
|
#
|
|
396
|
-
|
|
448
|
+
# @example Update using custom timeout and retry policy:
|
|
449
|
+
# require "google/cloud/spanner"
|
|
450
|
+
#
|
|
451
|
+
# spanner = Google::Cloud::Spanner.new
|
|
452
|
+
# db = spanner.client "my-instance", "my-database"
|
|
453
|
+
#
|
|
454
|
+
# timeout = 30.0
|
|
455
|
+
# retry_policy = {
|
|
456
|
+
# initial_delay: 0.25,
|
|
457
|
+
# max_delay: 32.0,
|
|
458
|
+
# multiplier: 1.3,
|
|
459
|
+
# retry_codes: ["UNAVAILABLE"]
|
|
460
|
+
# }
|
|
461
|
+
# call_options = { timeout: timeout, retry_policy: retry_policy }
|
|
462
|
+
#
|
|
463
|
+
# db.transaction do |tx|
|
|
464
|
+
# row_count = tx.execute_update(
|
|
465
|
+
# "UPDATE users SET name = 'Charlie' WHERE id = 1",
|
|
466
|
+
# call_options: call_options
|
|
467
|
+
# )
|
|
468
|
+
# end
|
|
469
|
+
#
|
|
470
|
+
def execute_update sql, params: nil, types: nil, query_options: nil,
|
|
471
|
+
call_options: nil
|
|
397
472
|
results = execute_query sql, params: params, types: types,
|
|
398
|
-
query_options: query_options
|
|
473
|
+
query_options: query_options,
|
|
474
|
+
call_options: call_options
|
|
399
475
|
# Stream all PartialResultSet to get ResultSetStats
|
|
400
476
|
results.rows.to_a
|
|
401
477
|
# Raise an error if there is not a row count returned
|
|
@@ -409,6 +485,20 @@ module Google
|
|
|
409
485
|
##
|
|
410
486
|
# Executes DML statements in a batch.
|
|
411
487
|
#
|
|
488
|
+
# @param [Hash] call_options A hash of values to specify the custom
|
|
489
|
+
# call options, e.g., timeout, retries, etc. Call options are
|
|
490
|
+
# optional. The following settings can be provided:
|
|
491
|
+
#
|
|
492
|
+
# * `:timeout` (Numeric) A numeric value of custom timeout in seconds
|
|
493
|
+
# that overrides the default setting.
|
|
494
|
+
# * `:retry_policy` (Hash) A hash of values that overrides the default
|
|
495
|
+
# setting of retry policy with the following keys:
|
|
496
|
+
# * `:initial_delay` (`Numeric`) - The initial delay in seconds.
|
|
497
|
+
# * `:max_delay` (`Numeric`) - The max delay in seconds.
|
|
498
|
+
# * `:multiplier` (`Numeric`) - The incremental backoff multiplier.
|
|
499
|
+
# * `:retry_codes` (`Array<String>`) - The error codes that should
|
|
500
|
+
# trigger a retry.
|
|
501
|
+
#
|
|
412
502
|
# @yield [batch_update] a batch update object
|
|
413
503
|
# @yieldparam [Google::Cloud::Spanner::BatchUpdate] batch_update a batch
|
|
414
504
|
# update object accepting DML statements and optional parameters and
|
|
@@ -464,10 +554,11 @@ module Google
|
|
|
464
554
|
# end
|
|
465
555
|
# end
|
|
466
556
|
#
|
|
467
|
-
def batch_update &block
|
|
557
|
+
def batch_update call_options: nil, &block
|
|
468
558
|
ensure_session!
|
|
469
559
|
@seqno += 1
|
|
470
|
-
session.batch_update tx_selector, @seqno,
|
|
560
|
+
session.batch_update tx_selector, @seqno,
|
|
561
|
+
call_options: call_options, &block
|
|
471
562
|
end
|
|
472
563
|
|
|
473
564
|
##
|
|
@@ -486,6 +577,19 @@ module Google
|
|
|
486
577
|
# Optional.
|
|
487
578
|
# @param [Integer] limit If greater than zero, no more than this number
|
|
488
579
|
# of rows will be returned. The default is no limit.
|
|
580
|
+
# @param [Hash] call_options A hash of values to specify the custom
|
|
581
|
+
# call options, e.g., timeout, retries, etc. Call options are
|
|
582
|
+
# optional. The following settings can be provided:
|
|
583
|
+
#
|
|
584
|
+
# * `:timeout` (Numeric) A numeric value of custom timeout in seconds
|
|
585
|
+
# that overrides the default setting.
|
|
586
|
+
# * `:retry_policy` (Hash) A hash of values that overrides the default
|
|
587
|
+
# setting of retry policy with the following keys:
|
|
588
|
+
# * `:initial_delay` (`Numeric`) - The initial delay in seconds.
|
|
589
|
+
# * `:max_delay` (`Numeric`) - The max delay in seconds.
|
|
590
|
+
# * `:multiplier` (`Numeric`) - The incremental backoff multiplier.
|
|
591
|
+
# * `:retry_codes` (`Array<String>`) - The error codes that should
|
|
592
|
+
# trigger a retry.
|
|
489
593
|
#
|
|
490
594
|
# @return [Google::Cloud::Spanner::Results] The results of the read
|
|
491
595
|
# operation.
|
|
@@ -504,14 +608,16 @@ module Google
|
|
|
504
608
|
# end
|
|
505
609
|
# end
|
|
506
610
|
#
|
|
507
|
-
def read table, columns, keys: nil, index: nil, limit: nil
|
|
611
|
+
def read table, columns, keys: nil, index: nil, limit: nil,
|
|
612
|
+
call_options: nil
|
|
508
613
|
ensure_session!
|
|
509
614
|
|
|
510
615
|
columns = Array(columns).map(&:to_s)
|
|
511
616
|
keys = Convert.to_key_set keys
|
|
512
617
|
|
|
513
618
|
session.read table, columns, keys: keys, index: index, limit: limit,
|
|
514
|
-
transaction: tx_selector
|
|
619
|
+
transaction: tx_selector,
|
|
620
|
+
call_options: call_options
|
|
515
621
|
end
|
|
516
622
|
|
|
517
623
|
##
|
|
@@ -920,7 +1026,7 @@ module Google
|
|
|
920
1026
|
|
|
921
1027
|
##
|
|
922
1028
|
# @private Creates a new Transaction instance from a
|
|
923
|
-
# Google::Spanner::V1::Transaction
|
|
1029
|
+
# `Google::Cloud::Spanner::V1::Transaction`.
|
|
924
1030
|
def self.from_grpc grpc, session
|
|
925
1031
|
new.tap do |s|
|
|
926
1032
|
s.instance_variable_set :@grpc, grpc
|
|
@@ -933,7 +1039,7 @@ module Google
|
|
|
933
1039
|
# The TransactionSelector to be used for queries
|
|
934
1040
|
def tx_selector
|
|
935
1041
|
return nil if transaction_id.nil?
|
|
936
|
-
|
|
1042
|
+
V1::TransactionSelector.new id: transaction_id
|
|
937
1043
|
end
|
|
938
1044
|
|
|
939
1045
|
##
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: google-cloud-spanner
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.4.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:
|
|
12
|
+
date: 2021-02-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: google-cloud-core
|
|
@@ -17,82 +17,56 @@ dependencies:
|
|
|
17
17
|
requirements:
|
|
18
18
|
- - "~>"
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: '1.
|
|
20
|
+
version: '1.5'
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
25
|
- - "~>"
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
version: '1.
|
|
27
|
+
version: '1.5'
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
|
-
name: google-
|
|
29
|
+
name: google-cloud-spanner-admin-database-v1
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
32
|
- - "~>"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '1
|
|
34
|
+
version: '0.1'
|
|
35
35
|
type: :runtime
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
39
|
- - "~>"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: '1
|
|
41
|
+
version: '0.1'
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
|
-
name:
|
|
43
|
+
name: google-cloud-spanner-admin-instance-v1
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
|
-
- - "
|
|
47
|
-
- !ruby/object:Gem::Version
|
|
48
|
-
version: 1.3.9
|
|
49
|
-
- - "<"
|
|
50
|
-
- !ruby/object:Gem::Version
|
|
51
|
-
version: '2.0'
|
|
52
|
-
type: :runtime
|
|
53
|
-
prerelease: false
|
|
54
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
55
|
-
requirements:
|
|
56
|
-
- - ">="
|
|
57
|
-
- !ruby/object:Gem::Version
|
|
58
|
-
version: 1.3.9
|
|
59
|
-
- - "<"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '2.0'
|
|
62
|
-
- !ruby/object:Gem::Dependency
|
|
63
|
-
name: googleapis-common-protos-types
|
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: 1.0.4
|
|
69
|
-
- - "<"
|
|
46
|
+
- - "~>"
|
|
70
47
|
- !ruby/object:Gem::Version
|
|
71
|
-
version: '
|
|
48
|
+
version: '0.1'
|
|
72
49
|
type: :runtime
|
|
73
50
|
prerelease: false
|
|
74
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
75
52
|
requirements:
|
|
76
|
-
- - "
|
|
77
|
-
- !ruby/object:Gem::Version
|
|
78
|
-
version: 1.0.4
|
|
79
|
-
- - "<"
|
|
53
|
+
- - "~>"
|
|
80
54
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
55
|
+
version: '0.1'
|
|
82
56
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name:
|
|
57
|
+
name: google-cloud-spanner-v1
|
|
84
58
|
requirement: !ruby/object:Gem::Requirement
|
|
85
59
|
requirements:
|
|
86
60
|
- - "~>"
|
|
87
61
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 0.
|
|
62
|
+
version: '0.2'
|
|
89
63
|
type: :runtime
|
|
90
64
|
prerelease: false
|
|
91
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
66
|
requirements:
|
|
93
67
|
- - "~>"
|
|
94
68
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: 0.
|
|
69
|
+
version: '0.2'
|
|
96
70
|
- !ruby/object:Gem::Dependency
|
|
97
71
|
name: concurrent-ruby
|
|
98
72
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -253,14 +227,14 @@ dependencies:
|
|
|
253
227
|
requirements:
|
|
254
228
|
- - "~>"
|
|
255
229
|
- !ruby/object:Gem::Version
|
|
256
|
-
version: 1.
|
|
230
|
+
version: 1.28.0
|
|
257
231
|
type: :development
|
|
258
232
|
prerelease: false
|
|
259
233
|
version_requirements: !ruby/object:Gem::Requirement
|
|
260
234
|
requirements:
|
|
261
235
|
- - "~>"
|
|
262
236
|
- !ruby/object:Gem::Version
|
|
263
|
-
version: 1.
|
|
237
|
+
version: 1.28.0
|
|
264
238
|
- !ruby/object:Gem::Dependency
|
|
265
239
|
name: grpc-tools
|
|
266
240
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -295,40 +269,8 @@ files:
|
|
|
295
269
|
- TROUBLESHOOTING.md
|
|
296
270
|
- lib/google-cloud-spanner.rb
|
|
297
271
|
- lib/google/cloud/spanner.rb
|
|
298
|
-
- lib/google/cloud/spanner/admin/database.rb
|
|
299
272
|
- lib/google/cloud/spanner/admin/database/credentials.rb
|
|
300
|
-
- lib/google/cloud/spanner/admin/database/v1.rb
|
|
301
|
-
- lib/google/cloud/spanner/admin/database/v1/credentials.rb
|
|
302
|
-
- lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb
|
|
303
|
-
- lib/google/cloud/spanner/admin/database/v1/database_admin_client_config.json
|
|
304
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/iam_policy.rb
|
|
305
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/options.rb
|
|
306
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb
|
|
307
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/longrunning/operations.rb
|
|
308
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/any.rb
|
|
309
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/empty.rb
|
|
310
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/field_mask.rb
|
|
311
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/timestamp.rb
|
|
312
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/rpc/status.rb
|
|
313
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/backup.rb
|
|
314
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb
|
|
315
|
-
- lib/google/cloud/spanner/admin/database/v1/doc/google/type/expr.rb
|
|
316
|
-
- lib/google/cloud/spanner/admin/instance.rb
|
|
317
273
|
- lib/google/cloud/spanner/admin/instance/credentials.rb
|
|
318
|
-
- lib/google/cloud/spanner/admin/instance/v1.rb
|
|
319
|
-
- lib/google/cloud/spanner/admin/instance/v1/credentials.rb
|
|
320
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/iam_policy.rb
|
|
321
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/options.rb
|
|
322
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb
|
|
323
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/longrunning/operations.rb
|
|
324
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/any.rb
|
|
325
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/empty.rb
|
|
326
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/field_mask.rb
|
|
327
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/rpc/status.rb
|
|
328
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb
|
|
329
|
-
- lib/google/cloud/spanner/admin/instance/v1/doc/google/type/expr.rb
|
|
330
|
-
- lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb
|
|
331
|
-
- lib/google/cloud/spanner/admin/instance/v1/instance_admin_client_config.json
|
|
332
274
|
- lib/google/cloud/spanner/backup.rb
|
|
333
275
|
- lib/google/cloud/spanner/backup/job.rb
|
|
334
276
|
- lib/google/cloud/spanner/backup/job/list.rb
|
|
@@ -340,6 +282,8 @@ files:
|
|
|
340
282
|
- lib/google/cloud/spanner/client.rb
|
|
341
283
|
- lib/google/cloud/spanner/column_value.rb
|
|
342
284
|
- lib/google/cloud/spanner/commit.rb
|
|
285
|
+
- lib/google/cloud/spanner/commit_response.rb
|
|
286
|
+
- lib/google/cloud/spanner/commit_response/commit_stats.rb
|
|
343
287
|
- lib/google/cloud/spanner/convert.rb
|
|
344
288
|
- lib/google/cloud/spanner/credentials.rb
|
|
345
289
|
- lib/google/cloud/spanner/data.rb
|
|
@@ -367,38 +311,7 @@ files:
|
|
|
367
311
|
- lib/google/cloud/spanner/snapshot.rb
|
|
368
312
|
- lib/google/cloud/spanner/status.rb
|
|
369
313
|
- lib/google/cloud/spanner/transaction.rb
|
|
370
|
-
- lib/google/cloud/spanner/v1.rb
|
|
371
|
-
- lib/google/cloud/spanner/v1/credentials.rb
|
|
372
|
-
- lib/google/cloud/spanner/v1/doc/google/protobuf/any.rb
|
|
373
|
-
- lib/google/cloud/spanner/v1/doc/google/protobuf/duration.rb
|
|
374
|
-
- lib/google/cloud/spanner/v1/doc/google/protobuf/empty.rb
|
|
375
|
-
- lib/google/cloud/spanner/v1/doc/google/protobuf/struct.rb
|
|
376
|
-
- lib/google/cloud/spanner/v1/doc/google/protobuf/timestamp.rb
|
|
377
|
-
- lib/google/cloud/spanner/v1/doc/google/rpc/status.rb
|
|
378
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/keys.rb
|
|
379
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb
|
|
380
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/query_plan.rb
|
|
381
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/result_set.rb
|
|
382
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb
|
|
383
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/transaction.rb
|
|
384
|
-
- lib/google/cloud/spanner/v1/doc/google/spanner/v1/type.rb
|
|
385
|
-
- lib/google/cloud/spanner/v1/spanner_client.rb
|
|
386
|
-
- lib/google/cloud/spanner/v1/spanner_client_config.json
|
|
387
314
|
- lib/google/cloud/spanner/version.rb
|
|
388
|
-
- lib/google/spanner/admin/database/v1/backup_pb.rb
|
|
389
|
-
- lib/google/spanner/admin/database/v1/common_pb.rb
|
|
390
|
-
- lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb
|
|
391
|
-
- lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb
|
|
392
|
-
- lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb
|
|
393
|
-
- lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb
|
|
394
|
-
- lib/google/spanner/v1/keys_pb.rb
|
|
395
|
-
- lib/google/spanner/v1/mutation_pb.rb
|
|
396
|
-
- lib/google/spanner/v1/query_plan_pb.rb
|
|
397
|
-
- lib/google/spanner/v1/result_set_pb.rb
|
|
398
|
-
- lib/google/spanner/v1/spanner_pb.rb
|
|
399
|
-
- lib/google/spanner/v1/spanner_services_pb.rb
|
|
400
|
-
- lib/google/spanner/v1/transaction_pb.rb
|
|
401
|
-
- lib/google/spanner/v1/type_pb.rb
|
|
402
315
|
homepage: https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-spanner
|
|
403
316
|
licenses:
|
|
404
317
|
- Apache-2.0
|
|
@@ -418,7 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
418
331
|
- !ruby/object:Gem::Version
|
|
419
332
|
version: '0'
|
|
420
333
|
requirements: []
|
|
421
|
-
rubygems_version: 3.
|
|
334
|
+
rubygems_version: 3.2.6
|
|
422
335
|
signing_key:
|
|
423
336
|
specification_version: 4
|
|
424
337
|
summary: API Client library for Google Cloud Spanner API
|