google-cloud-spanner 1.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|