google-cloud-spanner 1.5.0 → 1.6.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/lib/google/cloud/spanner/batch_client.rb +4 -2
- data/lib/google/cloud/spanner/client.rb +6 -3
- data/lib/google/cloud/spanner/project.rb +41 -4
- data/lib/google/cloud/spanner/results.rb +2 -0
- data/lib/google/cloud/spanner/service.rb +4 -2
- data/lib/google/cloud/spanner/session.rb +6 -2
- data/lib/google/cloud/spanner/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a644a78d0458b414ee8e19707abfe33b7d34b730af57feb623053929120d9425
|
4
|
+
data.tar.gz: db692fd3ac651dea2aaa178e4d6a117bb790cb10fb4571a0f991d940a8d558db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfbc02dc59071018e559f8062b43dfa3dbd2700ee9da873abce56cdb44ca7a987465e3a567a592f3944a5b16d7995516b34d92be3bf30f810258b5b5c8d6c911
|
7
|
+
data.tar.gz: eb58bcc4cf290b9419fa7ecd627898014f39eed6e18150236e7a62a1623fdbd16f4f8cf135cb483c6f278032f83b019a9ea6478814658a9aa8dd58b9a6fc0b78
|
@@ -65,10 +65,11 @@ module Google
|
|
65
65
|
class BatchClient
|
66
66
|
##
|
67
67
|
# @private Creates a new Spanner BatchClient instance.
|
68
|
-
def initialize project, instance_id, database_id
|
68
|
+
def initialize project, instance_id, database_id, session_labels: nil
|
69
69
|
@project = project
|
70
70
|
@instance_id = instance_id
|
71
71
|
@database_id = database_id
|
72
|
+
@session_labels = session_labels
|
72
73
|
end
|
73
74
|
|
74
75
|
# The unique identifier for the project.
|
@@ -406,7 +407,8 @@ module Google
|
|
406
407
|
grpc = @project.service.create_session \
|
407
408
|
Admin::Database::V1::DatabaseAdminClient.database_path(
|
408
409
|
project_id, instance_id, database_id
|
409
|
-
)
|
410
|
+
),
|
411
|
+
labels: @session_labels
|
410
412
|
Session.from_grpc(grpc, @project.service)
|
411
413
|
end
|
412
414
|
|
@@ -52,11 +52,13 @@ module Google
|
|
52
52
|
class Client
|
53
53
|
##
|
54
54
|
# @private Creates a new Spanner Client instance.
|
55
|
-
def initialize project, instance_id, database_id,
|
55
|
+
def initialize project, instance_id, database_id, session_labels: nil,
|
56
|
+
pool_opts: {}
|
56
57
|
@project = project
|
57
58
|
@instance_id = instance_id
|
58
59
|
@database_id = database_id
|
59
|
-
@
|
60
|
+
@session_labels = session_labels
|
61
|
+
@pool = Pool.new self, pool_opts
|
60
62
|
end
|
61
63
|
|
62
64
|
# The unique identifier for the project.
|
@@ -1091,7 +1093,8 @@ module Google
|
|
1091
1093
|
grpc = @project.service.create_session \
|
1092
1094
|
Admin::Database::V1::DatabaseAdminClient.database_path(
|
1093
1095
|
project_id, instance_id, database_id
|
1094
|
-
)
|
1096
|
+
),
|
1097
|
+
labels: @session_labels
|
1095
1098
|
Session.from_grpc(grpc, @project.service)
|
1096
1099
|
end
|
1097
1100
|
|
@@ -219,6 +219,8 @@ module Google
|
|
219
219
|
def create_instance instance_id, name: nil, config: nil, nodes: nil,
|
220
220
|
labels: nil
|
221
221
|
config = config.path if config.respond_to? :path
|
222
|
+
# Convert from possible Google::Protobuf::Map
|
223
|
+
labels = Hash[labels.map { |k, v| [String(k), String(v)] }] if labels
|
222
224
|
grpc = service.create_instance \
|
223
225
|
instance_id, name: name, config: config, nodes: nodes,
|
224
226
|
labels: labels
|
@@ -435,6 +437,21 @@ module Google
|
|
435
437
|
# becomes available. The default is `true`.
|
436
438
|
# * `:threads` (Integer) The number of threads in the thread pool. The
|
437
439
|
# default is twice the number of available CPUs.
|
440
|
+
# @param [Hash] labels The labels to be applied to all sessions
|
441
|
+
# created by the client. Cloud Labels are a flexible and lightweight
|
442
|
+
# mechanism for organizing cloud resources into groups that reflect a
|
443
|
+
# customer's organizational needs and deployment strategies. Cloud
|
444
|
+
# Labels can be used to filter collections of resources. They can be
|
445
|
+
# used to control how resource metrics are aggregated. And they can be
|
446
|
+
# used as arguments to policy management rules (e.g. route, firewall,
|
447
|
+
# load balancing, etc.). Optional. The default is `nil`.
|
448
|
+
#
|
449
|
+
# * Label keys must be between 1 and 63 characters long and must
|
450
|
+
# conform to the following regular expression:
|
451
|
+
# `[a-z]([-a-z0-9]*[a-z0-9])?`.
|
452
|
+
# * Label values must be between 0 and 63 characters long and must
|
453
|
+
# conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
|
454
|
+
# * No more than 64 labels can be associated with a given resource.
|
438
455
|
#
|
439
456
|
# @return [Client] The newly created client.
|
440
457
|
#
|
@@ -453,9 +470,12 @@ module Google
|
|
453
470
|
# end
|
454
471
|
# end
|
455
472
|
#
|
456
|
-
def client instance_id, database_id, pool: {}
|
473
|
+
def client instance_id, database_id, pool: {}, labels: nil
|
474
|
+
# Convert from possible Google::Protobuf::Map
|
475
|
+
labels = Hash[labels.map { |k, v| [String(k), String(v)] }] if labels
|
457
476
|
Client.new self, instance_id, database_id,
|
458
|
-
|
477
|
+
session_labels: labels,
|
478
|
+
pool_opts: valid_session_pool_options(pool)
|
459
479
|
end
|
460
480
|
|
461
481
|
##
|
@@ -466,6 +486,21 @@ module Google
|
|
466
486
|
# Required.
|
467
487
|
# @param [String] database_id The unique identifier for the database.
|
468
488
|
# Required.
|
489
|
+
# @param [Hash] labels The labels to be applied to all sessions
|
490
|
+
# created by the batch client. Labels are a flexible and lightweight
|
491
|
+
# mechanism for organizing cloud resources into groups that reflect a
|
492
|
+
# customer's organizational needs and deployment strategies. Cloud
|
493
|
+
# Labels can be used to filter collections of resources. They can be
|
494
|
+
# used to control how resource metrics are aggregated. And they can be
|
495
|
+
# used as arguments to policy management rules (e.g. route, firewall,
|
496
|
+
# load balancing, etc.). Optional. The default is `nil`.
|
497
|
+
#
|
498
|
+
# * Label keys must be between 1 and 63 characters long and must
|
499
|
+
# conform to the following regular expression:
|
500
|
+
# `[a-z]([-a-z0-9]*[a-z0-9])?`.
|
501
|
+
# * Label values must be between 0 and 63 characters long and must
|
502
|
+
# conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
|
503
|
+
# * No more than 64 labels can be associated with a given resource.
|
469
504
|
#
|
470
505
|
# @return [Client] The newly created client.
|
471
506
|
#
|
@@ -494,8 +529,10 @@ module Google
|
|
494
529
|
# results = new_batch_snapshot.execute_partition \
|
495
530
|
# new_partition
|
496
531
|
#
|
497
|
-
def batch_client instance_id, database_id
|
498
|
-
|
532
|
+
def batch_client instance_id, database_id, labels: nil
|
533
|
+
# Convert from possible Google::Protobuf::Map
|
534
|
+
labels = Hash[labels.map { |k, v| [String(k), String(v)] }] if labels
|
535
|
+
BatchClient.new self, instance_id, database_id, session_labels: labels
|
499
536
|
end
|
500
537
|
|
501
538
|
protected
|
@@ -241,10 +241,12 @@ module Google
|
|
241
241
|
end
|
242
242
|
end
|
243
243
|
|
244
|
-
def create_session database_name
|
244
|
+
def create_session database_name, labels: nil
|
245
245
|
opts = default_options_from_session database_name
|
246
|
+
session = Google::Spanner::V1::Session.new(labels: labels) if labels
|
246
247
|
execute do
|
247
|
-
service.create_session database_name,
|
248
|
+
service.create_session database_name, session: session,
|
249
|
+
options: opts
|
248
250
|
end
|
249
251
|
end
|
250
252
|
|
@@ -597,10 +597,12 @@ module Google
|
|
597
597
|
@last_updated_at = Time.now
|
598
598
|
return self
|
599
599
|
rescue Google::Cloud::NotFoundError
|
600
|
+
labels = @grpc.labels.to_h unless @grpc.labels.to_h.empty?
|
600
601
|
@grpc = service.create_session \
|
601
602
|
Admin::Database::V1::DatabaseAdminClient.database_path(
|
602
603
|
project_id, instance_id, database_id
|
603
|
-
)
|
604
|
+
),
|
605
|
+
labels: labels
|
604
606
|
@last_updated_at = Time.now
|
605
607
|
return self
|
606
608
|
end
|
@@ -613,10 +615,12 @@ module Google
|
|
613
615
|
execute "SELECT 1"
|
614
616
|
return true
|
615
617
|
rescue Google::Cloud::NotFoundError
|
618
|
+
labels = @grpc.labels.to_h unless @grpc.labels.to_h.empty?
|
616
619
|
@grpc = service.create_session \
|
617
620
|
Admin::Database::V1::DatabaseAdminClient.database_path(
|
618
621
|
project_id, instance_id, database_id
|
619
|
-
)
|
622
|
+
),
|
623
|
+
labels: labels
|
620
624
|
return false
|
621
625
|
end
|
622
626
|
|
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: 1.
|
4
|
+
version: 1.6.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: 2018-06-
|
12
|
+
date: 2018-06-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|