google-cloud-spanner 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/lib/google-cloud-spanner.rb +106 -0
  3. data/lib/google/cloud/spanner.rb +382 -0
  4. data/lib/google/cloud/spanner/admin/database/v1.rb +17 -0
  5. data/lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb +703 -0
  6. data/lib/google/cloud/spanner/admin/database/v1/database_admin_client_config.json +73 -0
  7. data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb +139 -0
  8. data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/any.rb +114 -0
  9. data/lib/google/cloud/spanner/admin/database/v1/doc/google/rpc/status.rb +83 -0
  10. data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb +188 -0
  11. data/lib/google/cloud/spanner/admin/instance/v1.rb +17 -0
  12. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb +139 -0
  13. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/any.rb +114 -0
  14. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/field_mask.rb +223 -0
  15. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/rpc/status.rb +83 -0
  16. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb +268 -0
  17. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb +868 -0
  18. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client_config.json +78 -0
  19. data/lib/google/cloud/spanner/client.rb +1034 -0
  20. data/lib/google/cloud/spanner/commit.rb +351 -0
  21. data/lib/google/cloud/spanner/convert.rb +311 -0
  22. data/lib/google/cloud/spanner/credentials.rb +32 -0
  23. data/lib/google/cloud/spanner/data.rb +199 -0
  24. data/lib/google/cloud/spanner/database.rb +377 -0
  25. data/lib/google/cloud/spanner/database/job.rb +179 -0
  26. data/lib/google/cloud/spanner/database/list.rb +171 -0
  27. data/lib/google/cloud/spanner/errors.rb +73 -0
  28. data/lib/google/cloud/spanner/fields.rb +252 -0
  29. data/lib/google/cloud/spanner/instance.rb +472 -0
  30. data/lib/google/cloud/spanner/instance/config.rb +99 -0
  31. data/lib/google/cloud/spanner/instance/config/list.rb +171 -0
  32. data/lib/google/cloud/spanner/instance/job.rb +197 -0
  33. data/lib/google/cloud/spanner/instance/list.rb +167 -0
  34. data/lib/google/cloud/spanner/policy.rb +201 -0
  35. data/lib/google/cloud/spanner/pool.rb +279 -0
  36. data/lib/google/cloud/spanner/project.rb +480 -0
  37. data/lib/google/cloud/spanner/range.rb +99 -0
  38. data/lib/google/cloud/spanner/results.rb +280 -0
  39. data/lib/google/cloud/spanner/service.rb +458 -0
  40. data/lib/google/cloud/spanner/session.rb +565 -0
  41. data/lib/google/cloud/spanner/snapshot.rb +260 -0
  42. data/lib/google/cloud/spanner/transaction.rb +533 -0
  43. data/lib/google/cloud/spanner/v1.rb +17 -0
  44. data/lib/google/cloud/spanner/v1/doc/google/protobuf/duration.rb +77 -0
  45. data/lib/google/cloud/spanner/v1/doc/google/protobuf/struct.rb +73 -0
  46. data/lib/google/cloud/spanner/v1/doc/google/protobuf/timestamp.rb +81 -0
  47. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/keys.rb +148 -0
  48. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb +80 -0
  49. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/query_plan.rb +120 -0
  50. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/result_set.rb +175 -0
  51. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb +206 -0
  52. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/transaction.rb +351 -0
  53. data/lib/google/cloud/spanner/v1/spanner_client.rb +850 -0
  54. data/lib/google/cloud/spanner/v1/spanner_client_config.json +78 -0
  55. data/lib/google/cloud/spanner/version.rb +22 -0
  56. data/lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb +85 -0
  57. data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +95 -0
  58. data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb +106 -0
  59. data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +180 -0
  60. data/lib/google/spanner/v1/keys_pb.rb +33 -0
  61. data/lib/google/spanner/v1/mutation_pb.rb +38 -0
  62. data/lib/google/spanner/v1/query_plan_pb.rb +47 -0
  63. data/lib/google/spanner/v1/result_set_pb.rb +43 -0
  64. data/lib/google/spanner/v1/spanner_pb.rb +90 -0
  65. data/lib/google/spanner/v1/spanner_services_pb.rb +131 -0
  66. data/lib/google/spanner/v1/transaction_pb.rb +51 -0
  67. data/lib/google/spanner/v1/type_pb.rb +43 -0
  68. 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