google-cloud-spanner 0.21.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.
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