google-cloud-spanner-v1 0.2.2 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.md +188 -190
- data/README.md +66 -2
- data/lib/google/cloud/spanner/v1.rb +3 -0
- data/lib/google/cloud/spanner/v1/spanner/client.rb +106 -70
- data/lib/google/cloud/spanner/v1/version.rb +1 -1
- data/lib/google/spanner/v1/spanner_pb.rb +26 -0
- data/lib/google/spanner/v1/spanner_services_pb.rb +21 -15
- data/proto_docs/google/api/field_behavior.rb +6 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/protobuf/any.rb +5 -2
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- data/proto_docs/google/spanner/v1/spanner.rb +148 -12
- data/proto_docs/google/spanner/v1/transaction.rb +12 -11
- data/proto_docs/google/spanner/v1/type.rb +1 -1
- metadata +11 -9
@@ -55,22 +55,22 @@ module Google
|
|
55
55
|
#
|
56
56
|
# Idle sessions can be kept alive by sending a trivial SQL query
|
57
57
|
# periodically, e.g., `"SELECT 1"`.
|
58
|
-
rpc :CreateSession, Google::Cloud::Spanner::V1::CreateSessionRequest, Google::Cloud::Spanner::V1::Session
|
58
|
+
rpc :CreateSession, ::Google::Cloud::Spanner::V1::CreateSessionRequest, ::Google::Cloud::Spanner::V1::Session
|
59
59
|
# Creates multiple new sessions.
|
60
60
|
#
|
61
61
|
# This API can be used to initialize a session cache on the clients.
|
62
62
|
# See https://goo.gl/TgSFN2 for best practices on session cache management.
|
63
|
-
rpc :BatchCreateSessions, Google::Cloud::Spanner::V1::BatchCreateSessionsRequest, Google::Cloud::Spanner::V1::BatchCreateSessionsResponse
|
63
|
+
rpc :BatchCreateSessions, ::Google::Cloud::Spanner::V1::BatchCreateSessionsRequest, ::Google::Cloud::Spanner::V1::BatchCreateSessionsResponse
|
64
64
|
# Gets a session. Returns `NOT_FOUND` if the session does not exist.
|
65
65
|
# This is mainly useful for determining whether a session is still
|
66
66
|
# alive.
|
67
|
-
rpc :GetSession, Google::Cloud::Spanner::V1::GetSessionRequest, Google::Cloud::Spanner::V1::Session
|
67
|
+
rpc :GetSession, ::Google::Cloud::Spanner::V1::GetSessionRequest, ::Google::Cloud::Spanner::V1::Session
|
68
68
|
# Lists all sessions in a given database.
|
69
|
-
rpc :ListSessions, Google::Cloud::Spanner::V1::ListSessionsRequest, Google::Cloud::Spanner::V1::ListSessionsResponse
|
69
|
+
rpc :ListSessions, ::Google::Cloud::Spanner::V1::ListSessionsRequest, ::Google::Cloud::Spanner::V1::ListSessionsResponse
|
70
70
|
# Ends a session, releasing server resources associated with it. This will
|
71
71
|
# asynchronously trigger cancellation of any operations that are running with
|
72
72
|
# this session.
|
73
|
-
rpc :DeleteSession, Google::Cloud::Spanner::V1::DeleteSessionRequest, Google::Protobuf::Empty
|
73
|
+
rpc :DeleteSession, ::Google::Cloud::Spanner::V1::DeleteSessionRequest, ::Google::Protobuf::Empty
|
74
74
|
# Executes an SQL statement, returning all results in a single reply. This
|
75
75
|
# method cannot be used to return a result set larger than 10 MiB;
|
76
76
|
# if the query yields more data than that, the query fails with
|
@@ -82,13 +82,13 @@ module Google
|
|
82
82
|
#
|
83
83
|
# Larger result sets can be fetched in streaming fashion by calling
|
84
84
|
# [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] instead.
|
85
|
-
rpc :ExecuteSql, Google::Cloud::Spanner::V1::ExecuteSqlRequest, Google::Cloud::Spanner::V1::ResultSet
|
85
|
+
rpc :ExecuteSql, ::Google::Cloud::Spanner::V1::ExecuteSqlRequest, ::Google::Cloud::Spanner::V1::ResultSet
|
86
86
|
# Like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the result
|
87
87
|
# set as a stream. Unlike [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there
|
88
88
|
# is no limit on the size of the returned result set. However, no
|
89
89
|
# individual row in the result set can exceed 100 MiB, and no
|
90
90
|
# column value can exceed 10 MiB.
|
91
|
-
rpc :ExecuteStreamingSql, Google::Cloud::Spanner::V1::ExecuteSqlRequest, stream(Google::Cloud::Spanner::V1::PartialResultSet)
|
91
|
+
rpc :ExecuteStreamingSql, ::Google::Cloud::Spanner::V1::ExecuteSqlRequest, stream(::Google::Cloud::Spanner::V1::PartialResultSet)
|
92
92
|
# Executes a batch of SQL DML statements. This method allows many statements
|
93
93
|
# to be run with lower latency than submitting them sequentially with
|
94
94
|
# [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql].
|
@@ -100,7 +100,7 @@ module Google
|
|
100
100
|
#
|
101
101
|
# Execution stops after the first failed statement; the remaining statements
|
102
102
|
# are not executed.
|
103
|
-
rpc :ExecuteBatchDml, Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest, Google::Cloud::Spanner::V1::ExecuteBatchDmlResponse
|
103
|
+
rpc :ExecuteBatchDml, ::Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest, ::Google::Cloud::Spanner::V1::ExecuteBatchDmlResponse
|
104
104
|
# Reads rows from the database using key lookups and scans, as a
|
105
105
|
# simple key/value style alternative to
|
106
106
|
# [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be used to
|
@@ -114,18 +114,18 @@ module Google
|
|
114
114
|
#
|
115
115
|
# Larger result sets can be yielded in streaming fashion by calling
|
116
116
|
# [StreamingRead][google.spanner.v1.Spanner.StreamingRead] instead.
|
117
|
-
rpc :Read, Google::Cloud::Spanner::V1::ReadRequest, Google::Cloud::Spanner::V1::ResultSet
|
117
|
+
rpc :Read, ::Google::Cloud::Spanner::V1::ReadRequest, ::Google::Cloud::Spanner::V1::ResultSet
|
118
118
|
# Like [Read][google.spanner.v1.Spanner.Read], except returns the result set as a
|
119
119
|
# stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no limit on the
|
120
120
|
# size of the returned result set. However, no individual row in
|
121
121
|
# the result set can exceed 100 MiB, and no column value can exceed
|
122
122
|
# 10 MiB.
|
123
|
-
rpc :StreamingRead, Google::Cloud::Spanner::V1::ReadRequest, stream(Google::Cloud::Spanner::V1::PartialResultSet)
|
123
|
+
rpc :StreamingRead, ::Google::Cloud::Spanner::V1::ReadRequest, stream(::Google::Cloud::Spanner::V1::PartialResultSet)
|
124
124
|
# Begins a new transaction. This step can often be skipped:
|
125
125
|
# [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and
|
126
126
|
# [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a
|
127
127
|
# side-effect.
|
128
|
-
rpc :BeginTransaction, Google::Cloud::Spanner::V1::BeginTransactionRequest, Google::Cloud::Spanner::V1::Transaction
|
128
|
+
rpc :BeginTransaction, ::Google::Cloud::Spanner::V1::BeginTransactionRequest, ::Google::Cloud::Spanner::V1::Transaction
|
129
129
|
# Commits a transaction. The request includes the mutations to be
|
130
130
|
# applied to rows in the database.
|
131
131
|
#
|
@@ -134,7 +134,13 @@ module Google
|
|
134
134
|
# transactions. However, it can also happen for a variety of other
|
135
135
|
# reasons. If `Commit` returns `ABORTED`, the caller should re-attempt
|
136
136
|
# the transaction from the beginning, re-using the same session.
|
137
|
-
|
137
|
+
#
|
138
|
+
# On very rare occasions, `Commit` might return `UNKNOWN`. This can happen,
|
139
|
+
# for example, if the client job experiences a 1+ hour networking failure.
|
140
|
+
# At that point, Cloud Spanner has lost track of the transaction outcome and
|
141
|
+
# we recommend that you perform another read from the database to see the
|
142
|
+
# state of things as they are now.
|
143
|
+
rpc :Commit, ::Google::Cloud::Spanner::V1::CommitRequest, ::Google::Cloud::Spanner::V1::CommitResponse
|
138
144
|
# Rolls back a transaction, releasing any locks it holds. It is a good
|
139
145
|
# idea to call this for any transaction that includes one or more
|
140
146
|
# [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and
|
@@ -143,7 +149,7 @@ module Google
|
|
143
149
|
# `Rollback` returns `OK` if it successfully aborts the transaction, the
|
144
150
|
# transaction was already aborted, or the transaction is not
|
145
151
|
# found. `Rollback` never returns `ABORTED`.
|
146
|
-
rpc :Rollback, Google::Cloud::Spanner::V1::RollbackRequest, Google::Protobuf::Empty
|
152
|
+
rpc :Rollback, ::Google::Cloud::Spanner::V1::RollbackRequest, ::Google::Protobuf::Empty
|
147
153
|
# Creates a set of partition tokens that can be used to execute a query
|
148
154
|
# operation in parallel. Each of the returned partition tokens can be used
|
149
155
|
# by [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] to specify a subset
|
@@ -155,7 +161,7 @@ module Google
|
|
155
161
|
# is deleted, is idle for too long, begins a new transaction, or becomes too
|
156
162
|
# old. When any of these happen, it is not possible to resume the query, and
|
157
163
|
# the whole operation must be restarted from the beginning.
|
158
|
-
rpc :PartitionQuery, Google::Cloud::Spanner::V1::PartitionQueryRequest, Google::Cloud::Spanner::V1::PartitionResponse
|
164
|
+
rpc :PartitionQuery, ::Google::Cloud::Spanner::V1::PartitionQueryRequest, ::Google::Cloud::Spanner::V1::PartitionResponse
|
159
165
|
# Creates a set of partition tokens that can be used to execute a read
|
160
166
|
# operation in parallel. Each of the returned partition tokens can be used
|
161
167
|
# by [StreamingRead][google.spanner.v1.Spanner.StreamingRead] to specify a subset of the read
|
@@ -169,7 +175,7 @@ module Google
|
|
169
175
|
# is deleted, is idle for too long, begins a new transaction, or becomes too
|
170
176
|
# old. When any of these happen, it is not possible to resume the read, and
|
171
177
|
# the whole operation must be restarted from the beginning.
|
172
|
-
rpc :PartitionRead, Google::Cloud::Spanner::V1::PartitionReadRequest, Google::Cloud::Spanner::V1::PartitionResponse
|
178
|
+
rpc :PartitionRead, ::Google::Cloud::Spanner::V1::PartitionReadRequest, ::Google::Cloud::Spanner::V1::PartitionResponse
|
173
179
|
end
|
174
180
|
|
175
181
|
Stub = Service.rpc_stub_class
|
@@ -54,6 +54,12 @@ module Google
|
|
54
54
|
# This indicates that the field may be set once in a request to create a
|
55
55
|
# resource, but may not be changed thereafter.
|
56
56
|
IMMUTABLE = 5
|
57
|
+
|
58
|
+
# Denotes that a (repeated) field is an unordered list.
|
59
|
+
# This indicates that the service may provide the elements of the list
|
60
|
+
# in any arbitrary order, rather than the order the user originally
|
61
|
+
# provided. Additionally, the list's order may or may not be stable.
|
62
|
+
UNORDERED_LIST = 6
|
57
63
|
end
|
58
64
|
end
|
59
65
|
end
|
@@ -43,12 +43,12 @@ module Google
|
|
43
43
|
#
|
44
44
|
# The ResourceDescriptor Yaml config will look like:
|
45
45
|
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
46
|
+
# resources:
|
47
|
+
# - type: "pubsub.googleapis.com/Topic"
|
48
|
+
# name_descriptor:
|
49
|
+
# - pattern: "projects/{project}/topics/{topic}"
|
50
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
+
# parent_name_extractor: "projects/{project}"
|
52
52
|
#
|
53
53
|
# Sometimes, resources have multiple patterns, typically because they can
|
54
54
|
# live under multiple parents.
|
@@ -183,15 +183,24 @@ module Google
|
|
183
183
|
# }
|
184
184
|
# @!attribute [rw] plural
|
185
185
|
# @return [::String]
|
186
|
-
# The plural name used in the resource name, such as
|
187
|
-
# the name of 'projects/\\{project}'
|
188
|
-
#
|
186
|
+
# The plural name used in the resource name and permission names, such as
|
187
|
+
# 'projects' for the resource name of 'projects/\\{project}' and the permission
|
188
|
+
# name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
|
189
|
+
# concept of the `plural` field in k8s CRD spec
|
189
190
|
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
191
|
+
#
|
192
|
+
# Note: The plural form is required even for singleton resources. See
|
193
|
+
# https://aip.dev/156
|
190
194
|
# @!attribute [rw] singular
|
191
195
|
# @return [::String]
|
192
196
|
# The same concept of the `singular` field in k8s CRD spec
|
193
197
|
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
194
198
|
# Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
199
|
+
# @!attribute [rw] style
|
200
|
+
# @return [::Array<::Google::Api::ResourceDescriptor::Style>]
|
201
|
+
# Style flag(s) for this resource.
|
202
|
+
# These indicate that a resource is expected to conform to a given
|
203
|
+
# style. See the specific style flags for additional information.
|
195
204
|
class ResourceDescriptor
|
196
205
|
include ::Google::Protobuf::MessageExts
|
197
206
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -211,6 +220,22 @@ module Google
|
|
211
220
|
# that from being necessary once there are multiple patterns.)
|
212
221
|
FUTURE_MULTI_PATTERN = 2
|
213
222
|
end
|
223
|
+
|
224
|
+
# A flag representing a specific style that a resource claims to conform to.
|
225
|
+
module Style
|
226
|
+
# The unspecified value. Do not use.
|
227
|
+
STYLE_UNSPECIFIED = 0
|
228
|
+
|
229
|
+
# This resource is intended to be "declarative-friendly".
|
230
|
+
#
|
231
|
+
# Declarative-friendly resources must be more strictly consistent, and
|
232
|
+
# setting this to true communicates to tools that this resource should
|
233
|
+
# adhere to declarative-friendly expectations.
|
234
|
+
#
|
235
|
+
# Note: This is used by the API linter (linter.aip.dev) to enable
|
236
|
+
# additional checks.
|
237
|
+
DECLARATIVE_FRIENDLY = 1
|
238
|
+
end
|
214
239
|
end
|
215
240
|
|
216
241
|
# Defines a proto annotation that describes a string field that refers to
|
@@ -226,6 +251,17 @@ module Google
|
|
226
251
|
# type: "pubsub.googleapis.com/Topic"
|
227
252
|
# }];
|
228
253
|
# }
|
254
|
+
#
|
255
|
+
# Occasionally, a field may reference an arbitrary resource. In this case,
|
256
|
+
# APIs use the special value * in their resource reference.
|
257
|
+
#
|
258
|
+
# Example:
|
259
|
+
#
|
260
|
+
# message GetIamPolicyRequest {
|
261
|
+
# string resource = 2 [(google.api.resource_reference) = {
|
262
|
+
# type: "*"
|
263
|
+
# }];
|
264
|
+
# }
|
229
265
|
# @!attribute [rw] child_type
|
230
266
|
# @return [::String]
|
231
267
|
# The resource type of a child collection that the annotated field
|
@@ -234,11 +270,11 @@ module Google
|
|
234
270
|
#
|
235
271
|
# Example:
|
236
272
|
#
|
237
|
-
#
|
238
|
-
#
|
239
|
-
#
|
240
|
-
#
|
241
|
-
#
|
273
|
+
# message ListLogEntriesRequest {
|
274
|
+
# string parent = 1 [(google.api.resource_reference) = {
|
275
|
+
# child_type: "logging.googleapis.com/LogEntry"
|
276
|
+
# };
|
277
|
+
# }
|
242
278
|
class ResourceReference
|
243
279
|
include ::Google::Protobuf::MessageExts
|
244
280
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -57,10 +57,13 @@ module Google
|
|
57
57
|
# Example 4: Pack and unpack a message in Go
|
58
58
|
#
|
59
59
|
# foo := &pb.Foo{...}
|
60
|
-
# any, err :=
|
60
|
+
# any, err := anypb.New(foo)
|
61
|
+
# if err != nil {
|
62
|
+
# ...
|
63
|
+
# }
|
61
64
|
# ...
|
62
65
|
# foo := &pb.Foo{}
|
63
|
-
# if err :=
|
66
|
+
# if err := any.UnmarshalTo(foo); err != nil {
|
64
67
|
# ...
|
65
68
|
# }
|
66
69
|
#
|
@@ -70,7 +70,16 @@ module Google
|
|
70
70
|
# .setNanos((int) ((millis % 1000) * 1000000)).build();
|
71
71
|
#
|
72
72
|
#
|
73
|
-
# Example 5: Compute Timestamp from
|
73
|
+
# Example 5: Compute Timestamp from Java `Instant.now()`.
|
74
|
+
#
|
75
|
+
# Instant now = Instant.now();
|
76
|
+
#
|
77
|
+
# Timestamp timestamp =
|
78
|
+
# Timestamp.newBuilder().setSeconds(now.getEpochSecond())
|
79
|
+
# .setNanos(now.getNano()).build();
|
80
|
+
#
|
81
|
+
#
|
82
|
+
# Example 6: Compute Timestamp from current time in Python.
|
74
83
|
#
|
75
84
|
# timestamp = Timestamp()
|
76
85
|
# timestamp.GetCurrentTime()
|
@@ -62,10 +62,9 @@ module Google
|
|
62
62
|
end
|
63
63
|
|
64
64
|
# A session in the Cloud Spanner API.
|
65
|
-
# @!attribute [
|
65
|
+
# @!attribute [r] name
|
66
66
|
# @return [::String]
|
67
|
-
# The name of the session. This is always system-assigned
|
68
|
-
# when creating a session are ignored.
|
67
|
+
# Output only. The name of the session. This is always system-assigned.
|
69
68
|
# @!attribute [rw] labels
|
70
69
|
# @return [::Google::Protobuf::Map{::String => ::String}]
|
71
70
|
# The labels for the session.
|
@@ -77,10 +76,10 @@ module Google
|
|
77
76
|
# * No more than 64 labels can be associated with a given session.
|
78
77
|
#
|
79
78
|
# See https://goo.gl/xmQnxf for more information on and examples of labels.
|
80
|
-
# @!attribute [
|
79
|
+
# @!attribute [r] create_time
|
81
80
|
# @return [::Google::Protobuf::Timestamp]
|
82
81
|
# Output only. The timestamp when the session is created.
|
83
|
-
# @!attribute [
|
82
|
+
# @!attribute [r] approximate_last_use_time
|
84
83
|
# @return [::Google::Protobuf::Timestamp]
|
85
84
|
# Output only. The approximate timestamp when the session is last used. It is
|
86
85
|
# typically earlier than the actual last use time.
|
@@ -160,6 +159,66 @@ module Google
|
|
160
159
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
161
160
|
end
|
162
161
|
|
162
|
+
# Common request options for various APIs.
|
163
|
+
# @!attribute [rw] priority
|
164
|
+
# @return [::Google::Cloud::Spanner::V1::RequestOptions::Priority]
|
165
|
+
# Priority for the request.
|
166
|
+
# @!attribute [rw] request_tag
|
167
|
+
# @return [::String]
|
168
|
+
# A per-request tag which can be applied to queries or reads, used for
|
169
|
+
# statistics collection.
|
170
|
+
# Both request_tag and transaction_tag can be specified for a read or query
|
171
|
+
# that belongs to a transaction.
|
172
|
+
# This field is ignored for requests where it's not applicable (e.g.
|
173
|
+
# CommitRequest).
|
174
|
+
# `request_tag` must be a valid identifier of the form:
|
175
|
+
# `[a-zA-Z][a-zA-Z0-9_\-]` between 2 and 64 characters in length
|
176
|
+
# @!attribute [rw] transaction_tag
|
177
|
+
# @return [::String]
|
178
|
+
# A tag used for statistics collection about this transaction.
|
179
|
+
# Both request_tag and transaction_tag can be specified for a read or query
|
180
|
+
# that belongs to a transaction.
|
181
|
+
# The value of transaction_tag should be the same for all requests belonging
|
182
|
+
# to the same transaction.
|
183
|
+
# If this request doesn’t belong to any transaction, transaction_tag will be
|
184
|
+
# ignored.
|
185
|
+
# `transaction_tag` must be a valid identifier of the format:
|
186
|
+
# `[a-zA-Z][a-zA-Z0-9_\-]{0,49}`
|
187
|
+
class RequestOptions
|
188
|
+
include ::Google::Protobuf::MessageExts
|
189
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
190
|
+
|
191
|
+
# The relative priority for requests. Note that priority is not applicable
|
192
|
+
# for {::Google::Cloud::Spanner::V1::Spanner::Client#begin_transaction BeginTransaction}.
|
193
|
+
#
|
194
|
+
# The priority acts as a hint to the Cloud Spanner scheduler and does not
|
195
|
+
# guarantee priority or order of execution. For example:
|
196
|
+
#
|
197
|
+
# * Some parts of a write operation always execute at `PRIORITY_HIGH`,
|
198
|
+
# regardless of the specified priority. This may cause you to see an
|
199
|
+
# increase in high priority workload even when executing a low priority
|
200
|
+
# request. This can also potentially cause a priority inversion where a
|
201
|
+
# lower priority request will be fulfilled ahead of a higher priority
|
202
|
+
# request.
|
203
|
+
# * If a transaction contains multiple operations with different priorities,
|
204
|
+
# Cloud Spanner does not guarantee to process the higher priority
|
205
|
+
# operations first. There may be other constraints to satisfy, such as
|
206
|
+
# order of operations.
|
207
|
+
module Priority
|
208
|
+
# `PRIORITY_UNSPECIFIED` is equivalent to `PRIORITY_HIGH`.
|
209
|
+
PRIORITY_UNSPECIFIED = 0
|
210
|
+
|
211
|
+
# This specifies that the request is low priority.
|
212
|
+
PRIORITY_LOW = 1
|
213
|
+
|
214
|
+
# This specifies that the request is medium priority.
|
215
|
+
PRIORITY_MEDIUM = 2
|
216
|
+
|
217
|
+
# This specifies that the request is high priority.
|
218
|
+
PRIORITY_HIGH = 3
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
163
222
|
# The request for {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql} and
|
164
223
|
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_streaming_sql ExecuteStreamingSql}.
|
165
224
|
# @!attribute [rw] session
|
@@ -185,8 +244,9 @@ module Google
|
|
185
244
|
# Parameter names and values that bind to placeholders in the SQL string.
|
186
245
|
#
|
187
246
|
# A parameter placeholder consists of the `@` character followed by the
|
188
|
-
# parameter name (for example, `@firstName`). Parameter names
|
189
|
-
#
|
247
|
+
# parameter name (for example, `@firstName`). Parameter names must conform
|
248
|
+
# to the naming requirements of identifiers as specified at
|
249
|
+
# https://cloud.google.com/spanner/docs/lexical#identifiers.
|
190
250
|
#
|
191
251
|
# Parameters can appear anywhere that a literal value is expected. The same
|
192
252
|
# parameter name can be used more than once, for example:
|
@@ -238,6 +298,9 @@ module Google
|
|
238
298
|
# @!attribute [rw] query_options
|
239
299
|
# @return [::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryOptions]
|
240
300
|
# Query optimizer configuration to use for the given query.
|
301
|
+
# @!attribute [rw] request_options
|
302
|
+
# @return [::Google::Cloud::Spanner::V1::RequestOptions]
|
303
|
+
# Common options for this request.
|
241
304
|
class ExecuteSqlRequest
|
242
305
|
include ::Google::Protobuf::MessageExts
|
243
306
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -250,17 +313,49 @@ module Google
|
|
250
313
|
# This parameter allows individual queries to pick different query
|
251
314
|
# optimizer versions.
|
252
315
|
#
|
253
|
-
# Specifying
|
316
|
+
# Specifying `latest` as a value instructs Cloud Spanner to use the
|
254
317
|
# latest supported query optimizer version. If not specified, Cloud Spanner
|
255
|
-
# uses optimizer version set at the database level options. Any other
|
318
|
+
# uses the optimizer version set at the database level options. Any other
|
256
319
|
# positive integer (from the list of supported optimizer versions)
|
257
320
|
# overrides the default optimizer version for query execution.
|
321
|
+
#
|
258
322
|
# The list of supported optimizer versions can be queried from
|
259
|
-
# SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
|
260
|
-
#
|
261
|
-
#
|
323
|
+
# SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
|
324
|
+
#
|
325
|
+
# Executing a SQL statement with an invalid optimizer version fails with
|
326
|
+
# an `INVALID_ARGUMENT` error.
|
327
|
+
#
|
328
|
+
# See
|
329
|
+
# https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
|
330
|
+
# for more information on managing the query optimizer.
|
262
331
|
#
|
263
332
|
# The `optimizer_version` statement hint has precedence over this setting.
|
333
|
+
# @!attribute [rw] optimizer_statistics_package
|
334
|
+
# @return [::String]
|
335
|
+
# An option to control the selection of optimizer statistics package.
|
336
|
+
#
|
337
|
+
# This parameter allows individual queries to use a different query
|
338
|
+
# optimizer statistics package.
|
339
|
+
#
|
340
|
+
# Specifying `latest` as a value instructs Cloud Spanner to use the latest
|
341
|
+
# generated statistics package. If not specified, Cloud Spanner uses
|
342
|
+
# the statistics package set at the database level options, or the latest
|
343
|
+
# package if the database option is not set.
|
344
|
+
#
|
345
|
+
# The statistics package requested by the query has to be exempt from
|
346
|
+
# garbage collection. This can be achieved with the following DDL
|
347
|
+
# statement:
|
348
|
+
#
|
349
|
+
# ```
|
350
|
+
# ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
|
351
|
+
# ```
|
352
|
+
#
|
353
|
+
# The list of available statistics packages can be queried from
|
354
|
+
# `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
|
355
|
+
#
|
356
|
+
# Executing a SQL statement with an invalid optimizer statistics package
|
357
|
+
# or with a statistics package that allows garbage collection fails with
|
358
|
+
# an `INVALID_ARGUMENT` error.
|
264
359
|
class QueryOptions
|
265
360
|
include ::Google::Protobuf::MessageExts
|
266
361
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -319,6 +414,9 @@ module Google
|
|
319
414
|
# transaction. If a request arrives for the first time with an out-of-order
|
320
415
|
# sequence number, the transaction may be aborted. Replays of previously
|
321
416
|
# handled requests will yield the same response as the first execution.
|
417
|
+
# @!attribute [rw] request_options
|
418
|
+
# @return [::Google::Cloud::Spanner::V1::RequestOptions]
|
419
|
+
# Common options for this request.
|
322
420
|
class ExecuteBatchDmlRequest
|
323
421
|
include ::Google::Protobuf::MessageExts
|
324
422
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -610,6 +708,9 @@ module Google
|
|
610
708
|
# previously created using PartitionRead(). There must be an exact
|
611
709
|
# match for the values of fields common to this message and the
|
612
710
|
# PartitionReadRequest message used to create this partition_token.
|
711
|
+
# @!attribute [rw] request_options
|
712
|
+
# @return [::Google::Cloud::Spanner::V1::RequestOptions]
|
713
|
+
# Common options for this request.
|
613
714
|
class ReadRequest
|
614
715
|
include ::Google::Protobuf::MessageExts
|
615
716
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -622,6 +723,13 @@ module Google
|
|
622
723
|
# @!attribute [rw] options
|
623
724
|
# @return [::Google::Cloud::Spanner::V1::TransactionOptions]
|
624
725
|
# Required. Options for the new transaction.
|
726
|
+
# @!attribute [rw] request_options
|
727
|
+
# @return [::Google::Cloud::Spanner::V1::RequestOptions]
|
728
|
+
# Common options for this request.
|
729
|
+
# Priority is ignored for this request. Setting the priority in this
|
730
|
+
# request_options struct will not do anything. To set the priority for a
|
731
|
+
# transaction, set it on the reads and writes that are part of this
|
732
|
+
# transaction instead.
|
625
733
|
class BeginTransactionRequest
|
626
734
|
include ::Google::Protobuf::MessageExts
|
627
735
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -650,6 +758,14 @@ module Google
|
|
650
758
|
# The mutations to be executed when this transaction commits. All
|
651
759
|
# mutations are applied atomically, in the order they appear in
|
652
760
|
# this list.
|
761
|
+
# @!attribute [rw] return_commit_stats
|
762
|
+
# @return [::Boolean]
|
763
|
+
# If `true`, then statistics related to the transaction will be included in
|
764
|
+
# the {::Google::Cloud::Spanner::V1::CommitResponse#commit_stats CommitResponse}. Default value is
|
765
|
+
# `false`.
|
766
|
+
# @!attribute [rw] request_options
|
767
|
+
# @return [::Google::Cloud::Spanner::V1::RequestOptions]
|
768
|
+
# Common options for this request.
|
653
769
|
class CommitRequest
|
654
770
|
include ::Google::Protobuf::MessageExts
|
655
771
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -659,9 +775,29 @@ module Google
|
|
659
775
|
# @!attribute [rw] commit_timestamp
|
660
776
|
# @return [::Google::Protobuf::Timestamp]
|
661
777
|
# The Cloud Spanner timestamp at which the transaction committed.
|
778
|
+
# @!attribute [rw] commit_stats
|
779
|
+
# @return [::Google::Cloud::Spanner::V1::CommitResponse::CommitStats]
|
780
|
+
# The statistics about this Commit. Not returned by default.
|
781
|
+
# For more information, see
|
782
|
+
# {::Google::Cloud::Spanner::V1::CommitRequest#return_commit_stats CommitRequest.return_commit_stats}.
|
662
783
|
class CommitResponse
|
663
784
|
include ::Google::Protobuf::MessageExts
|
664
785
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
786
|
+
|
787
|
+
# Additional statistics about a commit.
|
788
|
+
# @!attribute [rw] mutation_count
|
789
|
+
# @return [::Integer]
|
790
|
+
# The total number of mutations for the transaction. Knowing the
|
791
|
+
# `mutation_count` value can help you maximize the number of mutations
|
792
|
+
# in a transaction and minimize the number of API round trips. You can
|
793
|
+
# also monitor this value to prevent transactions from exceeding the system
|
794
|
+
# [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
|
795
|
+
# If the number of mutations exceeds the limit, the server returns
|
796
|
+
# [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
|
797
|
+
class CommitStats
|
798
|
+
include ::Google::Protobuf::MessageExts
|
799
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
800
|
+
end
|
665
801
|
end
|
666
802
|
|
667
803
|
# The request for {::Google::Cloud::Spanner::V1::Spanner::Client#rollback Rollback}.
|