google-cloud-spanner 0.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/google-cloud-spanner.rb +106 -0
- data/lib/google/cloud/spanner.rb +382 -0
- data/lib/google/cloud/spanner/admin/database/v1.rb +17 -0
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb +703 -0
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client_config.json +73 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb +139 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/any.rb +114 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/rpc/status.rb +83 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb +188 -0
- data/lib/google/cloud/spanner/admin/instance/v1.rb +17 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb +139 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/any.rb +114 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/field_mask.rb +223 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/rpc/status.rb +83 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb +268 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb +868 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client_config.json +78 -0
- data/lib/google/cloud/spanner/client.rb +1034 -0
- data/lib/google/cloud/spanner/commit.rb +351 -0
- data/lib/google/cloud/spanner/convert.rb +311 -0
- data/lib/google/cloud/spanner/credentials.rb +32 -0
- data/lib/google/cloud/spanner/data.rb +199 -0
- data/lib/google/cloud/spanner/database.rb +377 -0
- data/lib/google/cloud/spanner/database/job.rb +179 -0
- data/lib/google/cloud/spanner/database/list.rb +171 -0
- data/lib/google/cloud/spanner/errors.rb +73 -0
- data/lib/google/cloud/spanner/fields.rb +252 -0
- data/lib/google/cloud/spanner/instance.rb +472 -0
- data/lib/google/cloud/spanner/instance/config.rb +99 -0
- data/lib/google/cloud/spanner/instance/config/list.rb +171 -0
- data/lib/google/cloud/spanner/instance/job.rb +197 -0
- data/lib/google/cloud/spanner/instance/list.rb +167 -0
- data/lib/google/cloud/spanner/policy.rb +201 -0
- data/lib/google/cloud/spanner/pool.rb +279 -0
- data/lib/google/cloud/spanner/project.rb +480 -0
- data/lib/google/cloud/spanner/range.rb +99 -0
- data/lib/google/cloud/spanner/results.rb +280 -0
- data/lib/google/cloud/spanner/service.rb +458 -0
- data/lib/google/cloud/spanner/session.rb +565 -0
- data/lib/google/cloud/spanner/snapshot.rb +260 -0
- data/lib/google/cloud/spanner/transaction.rb +533 -0
- data/lib/google/cloud/spanner/v1.rb +17 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/duration.rb +77 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/struct.rb +73 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/timestamp.rb +81 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/keys.rb +148 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb +80 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/query_plan.rb +120 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/result_set.rb +175 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb +206 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/transaction.rb +351 -0
- data/lib/google/cloud/spanner/v1/spanner_client.rb +850 -0
- data/lib/google/cloud/spanner/v1/spanner_client_config.json +78 -0
- data/lib/google/cloud/spanner/version.rb +22 -0
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb +85 -0
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +95 -0
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb +106 -0
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +180 -0
- data/lib/google/spanner/v1/keys_pb.rb +33 -0
- data/lib/google/spanner/v1/mutation_pb.rb +38 -0
- data/lib/google/spanner/v1/query_plan_pb.rb +47 -0
- data/lib/google/spanner/v1/result_set_pb.rb +43 -0
- data/lib/google/spanner/v1/spanner_pb.rb +90 -0
- data/lib/google/spanner/v1/spanner_services_pb.rb +131 -0
- data/lib/google/spanner/v1/transaction_pb.rb +51 -0
- data/lib/google/spanner/v1/type_pb.rb +43 -0
- metadata +309 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/keys.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/protobuf/struct_pb'
|
8
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
|
+
add_message "google.spanner.v1.KeyRange" do
|
10
|
+
oneof :start_key_type do
|
11
|
+
optional :start_closed, :message, 1, "google.protobuf.ListValue"
|
12
|
+
optional :start_open, :message, 2, "google.protobuf.ListValue"
|
13
|
+
end
|
14
|
+
oneof :end_key_type do
|
15
|
+
optional :end_closed, :message, 3, "google.protobuf.ListValue"
|
16
|
+
optional :end_open, :message, 4, "google.protobuf.ListValue"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
add_message "google.spanner.v1.KeySet" do
|
20
|
+
repeated :keys, :message, 1, "google.protobuf.ListValue"
|
21
|
+
repeated :ranges, :message, 2, "google.spanner.v1.KeyRange"
|
22
|
+
optional :all, :bool, 3
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
module Google
|
27
|
+
module Spanner
|
28
|
+
module V1
|
29
|
+
KeyRange = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.KeyRange").msgclass
|
30
|
+
KeySet = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.KeySet").msgclass
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/mutation.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/protobuf/struct_pb'
|
8
|
+
require 'google/spanner/v1/keys_pb'
|
9
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
|
+
add_message "google.spanner.v1.Mutation" do
|
11
|
+
oneof :operation do
|
12
|
+
optional :insert, :message, 1, "google.spanner.v1.Mutation.Write"
|
13
|
+
optional :update, :message, 2, "google.spanner.v1.Mutation.Write"
|
14
|
+
optional :insert_or_update, :message, 3, "google.spanner.v1.Mutation.Write"
|
15
|
+
optional :replace, :message, 4, "google.spanner.v1.Mutation.Write"
|
16
|
+
optional :delete, :message, 5, "google.spanner.v1.Mutation.Delete"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
add_message "google.spanner.v1.Mutation.Write" do
|
20
|
+
optional :table, :string, 1
|
21
|
+
repeated :columns, :string, 2
|
22
|
+
repeated :values, :message, 3, "google.protobuf.ListValue"
|
23
|
+
end
|
24
|
+
add_message "google.spanner.v1.Mutation.Delete" do
|
25
|
+
optional :table, :string, 1
|
26
|
+
optional :key_set, :message, 2, "google.spanner.v1.KeySet"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
module Google
|
31
|
+
module Spanner
|
32
|
+
module V1
|
33
|
+
Mutation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Mutation").msgclass
|
34
|
+
Mutation::Write = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Mutation.Write").msgclass
|
35
|
+
Mutation::Delete = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Mutation.Delete").msgclass
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/query_plan.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/protobuf/struct_pb'
|
8
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
|
+
add_message "google.spanner.v1.PlanNode" do
|
10
|
+
optional :index, :int32, 1
|
11
|
+
optional :kind, :enum, 2, "google.spanner.v1.PlanNode.Kind"
|
12
|
+
optional :display_name, :string, 3
|
13
|
+
repeated :child_links, :message, 4, "google.spanner.v1.PlanNode.ChildLink"
|
14
|
+
optional :short_representation, :message, 5, "google.spanner.v1.PlanNode.ShortRepresentation"
|
15
|
+
optional :metadata, :message, 6, "google.protobuf.Struct"
|
16
|
+
optional :execution_stats, :message, 7, "google.protobuf.Struct"
|
17
|
+
end
|
18
|
+
add_message "google.spanner.v1.PlanNode.ChildLink" do
|
19
|
+
optional :child_index, :int32, 1
|
20
|
+
optional :type, :string, 2
|
21
|
+
optional :variable, :string, 3
|
22
|
+
end
|
23
|
+
add_message "google.spanner.v1.PlanNode.ShortRepresentation" do
|
24
|
+
optional :description, :string, 1
|
25
|
+
map :subqueries, :string, :int32, 2
|
26
|
+
end
|
27
|
+
add_enum "google.spanner.v1.PlanNode.Kind" do
|
28
|
+
value :KIND_UNSPECIFIED, 0
|
29
|
+
value :RELATIONAL, 1
|
30
|
+
value :SCALAR, 2
|
31
|
+
end
|
32
|
+
add_message "google.spanner.v1.QueryPlan" do
|
33
|
+
repeated :plan_nodes, :message, 1, "google.spanner.v1.PlanNode"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
module Google
|
38
|
+
module Spanner
|
39
|
+
module V1
|
40
|
+
PlanNode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode").msgclass
|
41
|
+
PlanNode::ChildLink = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode.ChildLink").msgclass
|
42
|
+
PlanNode::ShortRepresentation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode.ShortRepresentation").msgclass
|
43
|
+
PlanNode::Kind = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode.Kind").enummodule
|
44
|
+
QueryPlan = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.QueryPlan").msgclass
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/result_set.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/protobuf/struct_pb'
|
8
|
+
require 'google/spanner/v1/query_plan_pb'
|
9
|
+
require 'google/spanner/v1/transaction_pb'
|
10
|
+
require 'google/spanner/v1/type_pb'
|
11
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
12
|
+
add_message "google.spanner.v1.ResultSet" do
|
13
|
+
optional :metadata, :message, 1, "google.spanner.v1.ResultSetMetadata"
|
14
|
+
repeated :rows, :message, 2, "google.protobuf.ListValue"
|
15
|
+
optional :stats, :message, 3, "google.spanner.v1.ResultSetStats"
|
16
|
+
end
|
17
|
+
add_message "google.spanner.v1.PartialResultSet" do
|
18
|
+
optional :metadata, :message, 1, "google.spanner.v1.ResultSetMetadata"
|
19
|
+
repeated :values, :message, 2, "google.protobuf.Value"
|
20
|
+
optional :chunked_value, :bool, 3
|
21
|
+
optional :resume_token, :bytes, 4
|
22
|
+
optional :stats, :message, 5, "google.spanner.v1.ResultSetStats"
|
23
|
+
end
|
24
|
+
add_message "google.spanner.v1.ResultSetMetadata" do
|
25
|
+
optional :row_type, :message, 1, "google.spanner.v1.StructType"
|
26
|
+
optional :transaction, :message, 2, "google.spanner.v1.Transaction"
|
27
|
+
end
|
28
|
+
add_message "google.spanner.v1.ResultSetStats" do
|
29
|
+
optional :query_plan, :message, 1, "google.spanner.v1.QueryPlan"
|
30
|
+
optional :query_stats, :message, 2, "google.protobuf.Struct"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module Google
|
35
|
+
module Spanner
|
36
|
+
module V1
|
37
|
+
ResultSet = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ResultSet").msgclass
|
38
|
+
PartialResultSet = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PartialResultSet").msgclass
|
39
|
+
ResultSetMetadata = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ResultSetMetadata").msgclass
|
40
|
+
ResultSetStats = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ResultSetStats").msgclass
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/spanner.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/api/auth_pb'
|
8
|
+
require 'google/protobuf/empty_pb'
|
9
|
+
require 'google/protobuf/struct_pb'
|
10
|
+
require 'google/protobuf/timestamp_pb'
|
11
|
+
require 'google/spanner/v1/keys_pb'
|
12
|
+
require 'google/spanner/v1/mutation_pb'
|
13
|
+
require 'google/spanner/v1/result_set_pb'
|
14
|
+
require 'google/spanner/v1/transaction_pb'
|
15
|
+
require 'google/spanner/v1/type_pb'
|
16
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
17
|
+
add_message "google.spanner.v1.CreateSessionRequest" do
|
18
|
+
optional :database, :string, 1
|
19
|
+
end
|
20
|
+
add_message "google.spanner.v1.Session" do
|
21
|
+
optional :name, :string, 1
|
22
|
+
end
|
23
|
+
add_message "google.spanner.v1.GetSessionRequest" do
|
24
|
+
optional :name, :string, 1
|
25
|
+
end
|
26
|
+
add_message "google.spanner.v1.DeleteSessionRequest" do
|
27
|
+
optional :name, :string, 1
|
28
|
+
end
|
29
|
+
add_message "google.spanner.v1.ExecuteSqlRequest" do
|
30
|
+
optional :session, :string, 1
|
31
|
+
optional :transaction, :message, 2, "google.spanner.v1.TransactionSelector"
|
32
|
+
optional :sql, :string, 3
|
33
|
+
optional :params, :message, 4, "google.protobuf.Struct"
|
34
|
+
map :param_types, :string, :message, 5, "google.spanner.v1.Type"
|
35
|
+
optional :resume_token, :bytes, 6
|
36
|
+
optional :query_mode, :enum, 7, "google.spanner.v1.ExecuteSqlRequest.QueryMode"
|
37
|
+
end
|
38
|
+
add_enum "google.spanner.v1.ExecuteSqlRequest.QueryMode" do
|
39
|
+
value :NORMAL, 0
|
40
|
+
value :PLAN, 1
|
41
|
+
value :PROFILE, 2
|
42
|
+
end
|
43
|
+
add_message "google.spanner.v1.ReadRequest" do
|
44
|
+
optional :session, :string, 1
|
45
|
+
optional :transaction, :message, 2, "google.spanner.v1.TransactionSelector"
|
46
|
+
optional :table, :string, 3
|
47
|
+
optional :index, :string, 4
|
48
|
+
repeated :columns, :string, 5
|
49
|
+
optional :key_set, :message, 6, "google.spanner.v1.KeySet"
|
50
|
+
optional :limit, :int64, 8
|
51
|
+
optional :resume_token, :bytes, 9
|
52
|
+
end
|
53
|
+
add_message "google.spanner.v1.BeginTransactionRequest" do
|
54
|
+
optional :session, :string, 1
|
55
|
+
optional :options, :message, 2, "google.spanner.v1.TransactionOptions"
|
56
|
+
end
|
57
|
+
add_message "google.spanner.v1.CommitRequest" do
|
58
|
+
optional :session, :string, 1
|
59
|
+
repeated :mutations, :message, 4, "google.spanner.v1.Mutation"
|
60
|
+
oneof :transaction do
|
61
|
+
optional :transaction_id, :bytes, 2
|
62
|
+
optional :single_use_transaction, :message, 3, "google.spanner.v1.TransactionOptions"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
add_message "google.spanner.v1.CommitResponse" do
|
66
|
+
optional :commit_timestamp, :message, 1, "google.protobuf.Timestamp"
|
67
|
+
end
|
68
|
+
add_message "google.spanner.v1.RollbackRequest" do
|
69
|
+
optional :session, :string, 1
|
70
|
+
optional :transaction_id, :bytes, 2
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
module Google
|
75
|
+
module Spanner
|
76
|
+
module V1
|
77
|
+
CreateSessionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.CreateSessionRequest").msgclass
|
78
|
+
Session = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Session").msgclass
|
79
|
+
GetSessionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.GetSessionRequest").msgclass
|
80
|
+
DeleteSessionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.DeleteSessionRequest").msgclass
|
81
|
+
ExecuteSqlRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ExecuteSqlRequest").msgclass
|
82
|
+
ExecuteSqlRequest::QueryMode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ExecuteSqlRequest.QueryMode").enummodule
|
83
|
+
ReadRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ReadRequest").msgclass
|
84
|
+
BeginTransactionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.BeginTransactionRequest").msgclass
|
85
|
+
CommitRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.CommitRequest").msgclass
|
86
|
+
CommitResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.CommitResponse").msgclass
|
87
|
+
RollbackRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.RollbackRequest").msgclass
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: google/spanner/v1/spanner.proto for package 'google.spanner.v1'
|
3
|
+
# Original file comments:
|
4
|
+
# Copyright 2017 Google Inc.
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'grpc'
|
20
|
+
require 'google/spanner/v1/spanner_pb'
|
21
|
+
|
22
|
+
module Google
|
23
|
+
module Spanner
|
24
|
+
module V1
|
25
|
+
module Spanner
|
26
|
+
# Cloud Spanner API
|
27
|
+
#
|
28
|
+
# The Cloud Spanner API can be used to manage sessions and execute
|
29
|
+
# transactions on data stored in Cloud Spanner databases.
|
30
|
+
class Service
|
31
|
+
|
32
|
+
include GRPC::GenericService
|
33
|
+
|
34
|
+
self.marshal_class_method = :encode
|
35
|
+
self.unmarshal_class_method = :decode
|
36
|
+
self.service_name = 'google.spanner.v1.Spanner'
|
37
|
+
|
38
|
+
# Creates a new session. A session can be used to perform
|
39
|
+
# transactions that read and/or modify data in a Cloud Spanner database.
|
40
|
+
# Sessions are meant to be reused for many consecutive
|
41
|
+
# transactions.
|
42
|
+
#
|
43
|
+
# Sessions can only execute one transaction at a time. To execute
|
44
|
+
# multiple concurrent read-write/write-only transactions, create
|
45
|
+
# multiple sessions. Note that standalone reads and queries use a
|
46
|
+
# transaction internally, and count toward the one transaction
|
47
|
+
# limit.
|
48
|
+
#
|
49
|
+
# Cloud Spanner limits the number of sessions that can exist at any given
|
50
|
+
# time; thus, it is a good idea to delete idle and/or unneeded sessions.
|
51
|
+
# Aside from explicit deletes, Cloud Spanner can delete sessions for which no
|
52
|
+
# operations are sent for more than an hour. If a session is deleted,
|
53
|
+
# requests to it return `NOT_FOUND`.
|
54
|
+
#
|
55
|
+
# Idle sessions can be kept alive by sending a trivial SQL query
|
56
|
+
# periodically, e.g., `"SELECT 1"`.
|
57
|
+
rpc :CreateSession, CreateSessionRequest, Session
|
58
|
+
# Gets a session. Returns `NOT_FOUND` if the session does not exist.
|
59
|
+
# This is mainly useful for determining whether a session is still
|
60
|
+
# alive.
|
61
|
+
rpc :GetSession, GetSessionRequest, Session
|
62
|
+
# Ends a session, releasing server resources associated with it.
|
63
|
+
rpc :DeleteSession, DeleteSessionRequest, Google::Protobuf::Empty
|
64
|
+
# Executes an SQL query, returning all rows in a single reply. This
|
65
|
+
# method cannot be used to return a result set larger than 10 MiB;
|
66
|
+
# if the query yields more data than that, the query fails with
|
67
|
+
# a `FAILED_PRECONDITION` error.
|
68
|
+
#
|
69
|
+
# Queries inside read-write transactions might return `ABORTED`. If
|
70
|
+
# this occurs, the application should restart the transaction from
|
71
|
+
# the beginning. See [Transaction][google.spanner.v1.Transaction] for more details.
|
72
|
+
#
|
73
|
+
# Larger result sets can be fetched in streaming fashion by calling
|
74
|
+
# [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] instead.
|
75
|
+
rpc :ExecuteSql, ExecuteSqlRequest, ResultSet
|
76
|
+
# Like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the result
|
77
|
+
# set as a stream. Unlike [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there
|
78
|
+
# is no limit on the size of the returned result set. However, no
|
79
|
+
# individual row in the result set can exceed 100 MiB, and no
|
80
|
+
# column value can exceed 10 MiB.
|
81
|
+
rpc :ExecuteStreamingSql, ExecuteSqlRequest, stream(PartialResultSet)
|
82
|
+
# Reads rows from the database using key lookups and scans, as a
|
83
|
+
# simple key/value style alternative to
|
84
|
+
# [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be used to
|
85
|
+
# return a result set larger than 10 MiB; if the read matches more
|
86
|
+
# data than that, the read fails with a `FAILED_PRECONDITION`
|
87
|
+
# error.
|
88
|
+
#
|
89
|
+
# Reads inside read-write transactions might return `ABORTED`. If
|
90
|
+
# this occurs, the application should restart the transaction from
|
91
|
+
# the beginning. See [Transaction][google.spanner.v1.Transaction] for more details.
|
92
|
+
#
|
93
|
+
# Larger result sets can be yielded in streaming fashion by calling
|
94
|
+
# [StreamingRead][google.spanner.v1.Spanner.StreamingRead] instead.
|
95
|
+
rpc :Read, ReadRequest, ResultSet
|
96
|
+
# Like [Read][google.spanner.v1.Spanner.Read], except returns the result set as a
|
97
|
+
# stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no limit on the
|
98
|
+
# size of the returned result set. However, no individual row in
|
99
|
+
# the result set can exceed 100 MiB, and no column value can exceed
|
100
|
+
# 10 MiB.
|
101
|
+
rpc :StreamingRead, ReadRequest, stream(PartialResultSet)
|
102
|
+
# Begins a new transaction. This step can often be skipped:
|
103
|
+
# [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and
|
104
|
+
# [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a
|
105
|
+
# side-effect.
|
106
|
+
rpc :BeginTransaction, BeginTransactionRequest, Transaction
|
107
|
+
# Commits a transaction. The request includes the mutations to be
|
108
|
+
# applied to rows in the database.
|
109
|
+
#
|
110
|
+
# `Commit` might return an `ABORTED` error. This can occur at any time;
|
111
|
+
# commonly, the cause is conflicts with concurrent
|
112
|
+
# transactions. However, it can also happen for a variety of other
|
113
|
+
# reasons. If `Commit` returns `ABORTED`, the caller should re-attempt
|
114
|
+
# the transaction from the beginning, re-using the same session.
|
115
|
+
rpc :Commit, CommitRequest, CommitResponse
|
116
|
+
# Rolls back a transaction, releasing any locks it holds. It is a good
|
117
|
+
# idea to call this for any transaction that includes one or more
|
118
|
+
# [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and
|
119
|
+
# ultimately decides not to commit.
|
120
|
+
#
|
121
|
+
# `Rollback` returns `OK` if it successfully aborts the transaction, the
|
122
|
+
# transaction was already aborted, or the transaction is not
|
123
|
+
# found. `Rollback` never returns `ABORTED`.
|
124
|
+
rpc :Rollback, RollbackRequest, Google::Protobuf::Empty
|
125
|
+
end
|
126
|
+
|
127
|
+
Stub = Service.rpc_stub_class
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/transaction.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/protobuf/duration_pb'
|
8
|
+
require 'google/protobuf/timestamp_pb'
|
9
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
|
+
add_message "google.spanner.v1.TransactionOptions" do
|
11
|
+
oneof :mode do
|
12
|
+
optional :read_write, :message, 1, "google.spanner.v1.TransactionOptions.ReadWrite"
|
13
|
+
optional :read_only, :message, 2, "google.spanner.v1.TransactionOptions.ReadOnly"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
add_message "google.spanner.v1.TransactionOptions.ReadWrite" do
|
17
|
+
end
|
18
|
+
add_message "google.spanner.v1.TransactionOptions.ReadOnly" do
|
19
|
+
optional :return_read_timestamp, :bool, 6
|
20
|
+
oneof :timestamp_bound do
|
21
|
+
optional :strong, :bool, 1
|
22
|
+
optional :min_read_timestamp, :message, 2, "google.protobuf.Timestamp"
|
23
|
+
optional :max_staleness, :message, 3, "google.protobuf.Duration"
|
24
|
+
optional :read_timestamp, :message, 4, "google.protobuf.Timestamp"
|
25
|
+
optional :exact_staleness, :message, 5, "google.protobuf.Duration"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
add_message "google.spanner.v1.Transaction" do
|
29
|
+
optional :id, :bytes, 1
|
30
|
+
optional :read_timestamp, :message, 2, "google.protobuf.Timestamp"
|
31
|
+
end
|
32
|
+
add_message "google.spanner.v1.TransactionSelector" do
|
33
|
+
oneof :selector do
|
34
|
+
optional :single_use, :message, 1, "google.spanner.v1.TransactionOptions"
|
35
|
+
optional :id, :bytes, 2
|
36
|
+
optional :begin, :message, 3, "google.spanner.v1.TransactionOptions"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
module Google
|
42
|
+
module Spanner
|
43
|
+
module V1
|
44
|
+
TransactionOptions = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions").msgclass
|
45
|
+
TransactionOptions::ReadWrite = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions.ReadWrite").msgclass
|
46
|
+
TransactionOptions::ReadOnly = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions.ReadOnly").msgclass
|
47
|
+
Transaction = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Transaction").msgclass
|
48
|
+
TransactionSelector = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionSelector").msgclass
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/spanner/v1/type.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
+
add_message "google.spanner.v1.Type" do
|
9
|
+
optional :code, :enum, 1, "google.spanner.v1.TypeCode"
|
10
|
+
optional :array_element_type, :message, 2, "google.spanner.v1.Type"
|
11
|
+
optional :struct_type, :message, 3, "google.spanner.v1.StructType"
|
12
|
+
end
|
13
|
+
add_message "google.spanner.v1.StructType" do
|
14
|
+
repeated :fields, :message, 1, "google.spanner.v1.StructType.Field"
|
15
|
+
end
|
16
|
+
add_message "google.spanner.v1.StructType.Field" do
|
17
|
+
optional :name, :string, 1
|
18
|
+
optional :type, :message, 2, "google.spanner.v1.Type"
|
19
|
+
end
|
20
|
+
add_enum "google.spanner.v1.TypeCode" do
|
21
|
+
value :TYPE_CODE_UNSPECIFIED, 0
|
22
|
+
value :BOOL, 1
|
23
|
+
value :INT64, 2
|
24
|
+
value :FLOAT64, 3
|
25
|
+
value :TIMESTAMP, 4
|
26
|
+
value :DATE, 5
|
27
|
+
value :STRING, 6
|
28
|
+
value :BYTES, 7
|
29
|
+
value :ARRAY, 8
|
30
|
+
value :STRUCT, 9
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module Google
|
35
|
+
module Spanner
|
36
|
+
module V1
|
37
|
+
Type = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Type").msgclass
|
38
|
+
StructType = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.StructType").msgclass
|
39
|
+
StructType::Field = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.StructType.Field").msgclass
|
40
|
+
TypeCode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TypeCode").enummodule
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|