google-cloud-spanner-v1 0.18.0 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +72 -101
- data/lib/google/cloud/spanner/v1/spanner/client.rb +194 -123
- data/lib/google/cloud/spanner/v1/version.rb +1 -1
- data/lib/google/spanner/v1/spanner_pb.rb +7 -2
- data/lib/google/spanner/v1/spanner_services_pb.rb +37 -29
- data/proto_docs/google/api/client.rb +14 -0
- data/proto_docs/google/spanner/v1/spanner.rb +206 -78
- metadata +5 -5
@@ -33,6 +33,9 @@ module Google
|
|
33
33
|
# transactions on data stored in Cloud Spanner databases.
|
34
34
|
#
|
35
35
|
class Client
|
36
|
+
# @private
|
37
|
+
DEFAULT_ENDPOINT_TEMPLATE = "spanner.$UNIVERSE_DOMAIN$"
|
38
|
+
|
36
39
|
include Paths
|
37
40
|
|
38
41
|
# @private
|
@@ -164,6 +167,15 @@ module Google
|
|
164
167
|
@config
|
165
168
|
end
|
166
169
|
|
170
|
+
##
|
171
|
+
# The effective universe domain
|
172
|
+
#
|
173
|
+
# @return [String]
|
174
|
+
#
|
175
|
+
def universe_domain
|
176
|
+
@spanner_stub.universe_domain
|
177
|
+
end
|
178
|
+
|
167
179
|
##
|
168
180
|
# Create a new Spanner client object.
|
169
181
|
#
|
@@ -197,8 +209,9 @@ module Google
|
|
197
209
|
credentials = @config.credentials
|
198
210
|
# Use self-signed JWT if the endpoint is unchanged from default,
|
199
211
|
# but only if the default endpoint does not have a region prefix.
|
200
|
-
enable_self_signed_jwt = @config.endpoint
|
201
|
-
|
212
|
+
enable_self_signed_jwt = @config.endpoint.nil? ||
|
213
|
+
(@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
|
214
|
+
!@config.endpoint.split(".").first.include?("-"))
|
202
215
|
credentials ||= Credentials.default scope: @config.scope,
|
203
216
|
enable_self_signed_jwt: enable_self_signed_jwt
|
204
217
|
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
@@ -209,8 +222,10 @@ module Google
|
|
209
222
|
|
210
223
|
@spanner_stub = ::Gapic::ServiceStub.new(
|
211
224
|
::Google::Cloud::Spanner::V1::Spanner::Stub,
|
212
|
-
credentials:
|
213
|
-
endpoint:
|
225
|
+
credentials: credentials,
|
226
|
+
endpoint: @config.endpoint,
|
227
|
+
endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
|
228
|
+
universe_domain: @config.universe_domain,
|
214
229
|
channel_args: @config.channel_args,
|
215
230
|
interceptors: @config.interceptors,
|
216
231
|
channel_pool_config: @config.channel_pool
|
@@ -354,7 +369,8 @@ module Google
|
|
354
369
|
# The API may return fewer than the requested number of sessions. If a
|
355
370
|
# specific number of sessions are desired, the client can make additional
|
356
371
|
# calls to BatchCreateSessions (adjusting
|
357
|
-
# {::Google::Cloud::Spanner::V1::BatchCreateSessionsRequest#session_count session_count}
|
372
|
+
# {::Google::Cloud::Spanner::V1::BatchCreateSessionsRequest#session_count session_count}
|
373
|
+
# as necessary).
|
358
374
|
#
|
359
375
|
# @yield [response, operation] Access the result along with the RPC operation
|
360
376
|
# @yieldparam response [::Google::Cloud::Spanner::V1::BatchCreateSessionsResponse]
|
@@ -532,7 +548,8 @@ module Google
|
|
532
548
|
# to the server's maximum allowed page size.
|
533
549
|
# @param page_token [::String]
|
534
550
|
# If non-empty, `page_token` should contain a
|
535
|
-
# {::Google::Cloud::Spanner::V1::ListSessionsResponse#next_page_token next_page_token}
|
551
|
+
# {::Google::Cloud::Spanner::V1::ListSessionsResponse#next_page_token next_page_token}
|
552
|
+
# from a previous
|
536
553
|
# {::Google::Cloud::Spanner::V1::ListSessionsResponse ListSessionsResponse}.
|
537
554
|
# @param filter [::String]
|
538
555
|
# An expression for filtering the results of the request. Filter rules are
|
@@ -710,10 +727,12 @@ module Google
|
|
710
727
|
#
|
711
728
|
# Operations inside read-write transactions might return `ABORTED`. If
|
712
729
|
# this occurs, the application should restart the transaction from
|
713
|
-
# the beginning. See {::Google::Cloud::Spanner::V1::Transaction Transaction} for more
|
730
|
+
# the beginning. See {::Google::Cloud::Spanner::V1::Transaction Transaction} for more
|
731
|
+
# details.
|
714
732
|
#
|
715
733
|
# Larger result sets can be fetched in streaming fashion by calling
|
716
|
-
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_streaming_sql ExecuteStreamingSql}
|
734
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_streaming_sql ExecuteStreamingSql}
|
735
|
+
# instead.
|
717
736
|
#
|
718
737
|
# @overload execute_sql(request, options = nil)
|
719
738
|
# Pass arguments to `execute_sql` via a request object, either of type
|
@@ -725,7 +744,7 @@ module Google
|
|
725
744
|
# @param options [::Gapic::CallOptions, ::Hash]
|
726
745
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
727
746
|
#
|
728
|
-
# @overload execute_sql(session: nil, transaction: nil, sql: nil, params: nil, param_types: nil, resume_token: nil, query_mode: nil, partition_token: nil, seqno: nil, query_options: nil, request_options: nil, data_boost_enabled: nil)
|
747
|
+
# @overload execute_sql(session: nil, transaction: nil, sql: nil, params: nil, param_types: nil, resume_token: nil, query_mode: nil, partition_token: nil, seqno: nil, query_options: nil, request_options: nil, directed_read_options: nil, data_boost_enabled: nil)
|
729
748
|
# Pass arguments to `execute_sql` via keyword arguments. Note that at
|
730
749
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
731
750
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
@@ -762,7 +781,8 @@ module Google
|
|
762
781
|
# @param param_types [::Hash{::String => ::Google::Cloud::Spanner::V1::Type, ::Hash}]
|
763
782
|
# It is not always possible for Cloud Spanner to infer the right SQL type
|
764
783
|
# from a JSON value. For example, values of type `BYTES` and values
|
765
|
-
# of type `STRING` both appear in
|
784
|
+
# of type `STRING` both appear in
|
785
|
+
# {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
|
766
786
|
#
|
767
787
|
# In these cases, `param_types` can be used to specify the exact
|
768
788
|
# SQL type for some or all of the SQL statement parameters. See the
|
@@ -771,14 +791,17 @@ module Google
|
|
771
791
|
# @param resume_token [::String]
|
772
792
|
# If this request is resuming a previously interrupted SQL statement
|
773
793
|
# execution, `resume_token` should be copied from the last
|
774
|
-
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
775
|
-
# enables the new SQL statement execution to resume
|
776
|
-
# off. The rest of the request parameters must
|
777
|
-
# request that yielded this token.
|
794
|
+
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
795
|
+
# interruption. Doing this enables the new SQL statement execution to resume
|
796
|
+
# where the last one left off. The rest of the request parameters must
|
797
|
+
# exactly match the request that yielded this token.
|
778
798
|
# @param query_mode [::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode]
|
779
799
|
# Used to control the amount of debugging information returned in
|
780
|
-
# {::Google::Cloud::Spanner::V1::ResultSetStats ResultSetStats}. If
|
781
|
-
#
|
800
|
+
# {::Google::Cloud::Spanner::V1::ResultSetStats ResultSetStats}. If
|
801
|
+
# {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#partition_token partition_token} is
|
802
|
+
# set, {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode query_mode} can only
|
803
|
+
# be set to
|
804
|
+
# {::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode::NORMAL QueryMode.NORMAL}.
|
782
805
|
# @param partition_token [::String]
|
783
806
|
# If present, results will be restricted to the specified partition
|
784
807
|
# previously created using PartitionQuery(). There must be an exact
|
@@ -799,12 +822,14 @@ module Google
|
|
799
822
|
# Query optimizer configuration to use for the given query.
|
800
823
|
# @param request_options [::Google::Cloud::Spanner::V1::RequestOptions, ::Hash]
|
801
824
|
# Common options for this request.
|
825
|
+
# @param directed_read_options [::Google::Cloud::Spanner::V1::DirectedReadOptions, ::Hash]
|
826
|
+
# Directed read options for this request.
|
802
827
|
# @param data_boost_enabled [::Boolean]
|
803
828
|
# If this is for a partitioned query and this field is set to `true`, the
|
804
|
-
# request
|
829
|
+
# request is executed with Spanner Data Boost independent compute resources.
|
805
830
|
#
|
806
831
|
# If the field is set to `true` but the request does not set
|
807
|
-
# `partition_token`, the API
|
832
|
+
# `partition_token`, the API returns an `INVALID_ARGUMENT` error.
|
808
833
|
#
|
809
834
|
# @yield [response, operation] Access the result along with the RPC operation
|
810
835
|
# @yieldparam response [::Google::Cloud::Spanner::V1::ResultSet]
|
@@ -871,11 +896,11 @@ module Google
|
|
871
896
|
end
|
872
897
|
|
873
898
|
##
|
874
|
-
# Like {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql}, except returns the
|
875
|
-
# set as a stream. Unlike
|
876
|
-
# is no limit on
|
877
|
-
#
|
878
|
-
# column value can exceed 10 MiB.
|
899
|
+
# Like {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql}, except returns the
|
900
|
+
# result set as a stream. Unlike
|
901
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql}, there is no limit on
|
902
|
+
# the size of the returned result set. However, no individual row in the
|
903
|
+
# result set can exceed 100 MiB, and no column value can exceed 10 MiB.
|
879
904
|
#
|
880
905
|
# @overload execute_streaming_sql(request, options = nil)
|
881
906
|
# Pass arguments to `execute_streaming_sql` via a request object, either of type
|
@@ -887,7 +912,7 @@ module Google
|
|
887
912
|
# @param options [::Gapic::CallOptions, ::Hash]
|
888
913
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
889
914
|
#
|
890
|
-
# @overload execute_streaming_sql(session: nil, transaction: nil, sql: nil, params: nil, param_types: nil, resume_token: nil, query_mode: nil, partition_token: nil, seqno: nil, query_options: nil, request_options: nil, data_boost_enabled: nil)
|
915
|
+
# @overload execute_streaming_sql(session: nil, transaction: nil, sql: nil, params: nil, param_types: nil, resume_token: nil, query_mode: nil, partition_token: nil, seqno: nil, query_options: nil, request_options: nil, directed_read_options: nil, data_boost_enabled: nil)
|
891
916
|
# Pass arguments to `execute_streaming_sql` via keyword arguments. Note that at
|
892
917
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
893
918
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
@@ -924,7 +949,8 @@ module Google
|
|
924
949
|
# @param param_types [::Hash{::String => ::Google::Cloud::Spanner::V1::Type, ::Hash}]
|
925
950
|
# It is not always possible for Cloud Spanner to infer the right SQL type
|
926
951
|
# from a JSON value. For example, values of type `BYTES` and values
|
927
|
-
# of type `STRING` both appear in
|
952
|
+
# of type `STRING` both appear in
|
953
|
+
# {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
|
928
954
|
#
|
929
955
|
# In these cases, `param_types` can be used to specify the exact
|
930
956
|
# SQL type for some or all of the SQL statement parameters. See the
|
@@ -933,14 +959,17 @@ module Google
|
|
933
959
|
# @param resume_token [::String]
|
934
960
|
# If this request is resuming a previously interrupted SQL statement
|
935
961
|
# execution, `resume_token` should be copied from the last
|
936
|
-
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
937
|
-
# enables the new SQL statement execution to resume
|
938
|
-
# off. The rest of the request parameters must
|
939
|
-
# request that yielded this token.
|
962
|
+
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
963
|
+
# interruption. Doing this enables the new SQL statement execution to resume
|
964
|
+
# where the last one left off. The rest of the request parameters must
|
965
|
+
# exactly match the request that yielded this token.
|
940
966
|
# @param query_mode [::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode]
|
941
967
|
# Used to control the amount of debugging information returned in
|
942
|
-
# {::Google::Cloud::Spanner::V1::ResultSetStats ResultSetStats}. If
|
943
|
-
#
|
968
|
+
# {::Google::Cloud::Spanner::V1::ResultSetStats ResultSetStats}. If
|
969
|
+
# {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#partition_token partition_token} is
|
970
|
+
# set, {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode query_mode} can only
|
971
|
+
# be set to
|
972
|
+
# {::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode::NORMAL QueryMode.NORMAL}.
|
944
973
|
# @param partition_token [::String]
|
945
974
|
# If present, results will be restricted to the specified partition
|
946
975
|
# previously created using PartitionQuery(). There must be an exact
|
@@ -961,12 +990,14 @@ module Google
|
|
961
990
|
# Query optimizer configuration to use for the given query.
|
962
991
|
# @param request_options [::Google::Cloud::Spanner::V1::RequestOptions, ::Hash]
|
963
992
|
# Common options for this request.
|
993
|
+
# @param directed_read_options [::Google::Cloud::Spanner::V1::DirectedReadOptions, ::Hash]
|
994
|
+
# Directed read options for this request.
|
964
995
|
# @param data_boost_enabled [::Boolean]
|
965
996
|
# If this is for a partitioned query and this field is set to `true`, the
|
966
|
-
# request
|
997
|
+
# request is executed with Spanner Data Boost independent compute resources.
|
967
998
|
#
|
968
999
|
# If the field is set to `true` but the request does not set
|
969
|
-
# `partition_token`, the API
|
1000
|
+
# `partition_token`, the API returns an `INVALID_ARGUMENT` error.
|
970
1001
|
#
|
971
1002
|
# @yield [response, operation] Access the result along with the RPC operation
|
972
1003
|
# @yieldparam response [::Enumerable<::Google::Cloud::Spanner::V1::PartialResultSet>]
|
@@ -1041,9 +1072,10 @@ module Google
|
|
1041
1072
|
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql}.
|
1042
1073
|
#
|
1043
1074
|
# Statements are executed in sequential order. A request can succeed even if
|
1044
|
-
# a statement fails. The
|
1045
|
-
#
|
1046
|
-
#
|
1075
|
+
# a statement fails. The
|
1076
|
+
# {::Google::Cloud::Spanner::V1::ExecuteBatchDmlResponse#status ExecuteBatchDmlResponse.status}
|
1077
|
+
# field in the response provides information about the statement that failed.
|
1078
|
+
# Clients must inspect this field to determine whether an error occurred.
|
1047
1079
|
#
|
1048
1080
|
# Execution stops after the first failed statement; the remaining statements
|
1049
1081
|
# are not executed.
|
@@ -1072,16 +1104,16 @@ module Google
|
|
1072
1104
|
# caller must either supply an existing transaction ID or begin a new
|
1073
1105
|
# transaction.
|
1074
1106
|
# @param statements [::Array<::Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest::Statement, ::Hash>]
|
1075
|
-
# Required. The list of statements to execute in this batch. Statements are
|
1076
|
-
# serially, such that the effects of statement `i` are visible to
|
1077
|
-
# `i+1`. Each statement must be a DML statement. Execution stops at
|
1078
|
-
# first failed statement; the remaining statements are not executed.
|
1107
|
+
# Required. The list of statements to execute in this batch. Statements are
|
1108
|
+
# executed serially, such that the effects of statement `i` are visible to
|
1109
|
+
# statement `i+1`. Each statement must be a DML statement. Execution stops at
|
1110
|
+
# the first failed statement; the remaining statements are not executed.
|
1079
1111
|
#
|
1080
1112
|
# Callers must provide at least one statement.
|
1081
1113
|
# @param seqno [::Integer]
|
1082
|
-
# Required. A per-transaction sequence number used to identify this request.
|
1083
|
-
# makes each request idempotent such that if the request is
|
1084
|
-
# times, at most one will succeed.
|
1114
|
+
# Required. A per-transaction sequence number used to identify this request.
|
1115
|
+
# This field makes each request idempotent such that if the request is
|
1116
|
+
# received multiple times, at most one will succeed.
|
1085
1117
|
#
|
1086
1118
|
# The sequence number must be monotonically increasing within the
|
1087
1119
|
# transaction. If a request arrives for the first time with an out-of-order
|
@@ -1157,14 +1189,15 @@ module Google
|
|
1157
1189
|
##
|
1158
1190
|
# Reads rows from the database using key lookups and scans, as a
|
1159
1191
|
# simple key/value style alternative to
|
1160
|
-
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql}. This method cannot be
|
1161
|
-
# return a result set larger than 10 MiB; if the read matches more
|
1192
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql}. This method cannot be
|
1193
|
+
# used to return a result set larger than 10 MiB; if the read matches more
|
1162
1194
|
# data than that, the read fails with a `FAILED_PRECONDITION`
|
1163
1195
|
# error.
|
1164
1196
|
#
|
1165
1197
|
# Reads inside read-write transactions might return `ABORTED`. If
|
1166
1198
|
# this occurs, the application should restart the transaction from
|
1167
|
-
# the beginning. See {::Google::Cloud::Spanner::V1::Transaction Transaction} for more
|
1199
|
+
# the beginning. See {::Google::Cloud::Spanner::V1::Transaction Transaction} for more
|
1200
|
+
# details.
|
1168
1201
|
#
|
1169
1202
|
# Larger result sets can be yielded in streaming fashion by calling
|
1170
1203
|
# {::Google::Cloud::Spanner::V1::Spanner::Client#streaming_read StreamingRead} instead.
|
@@ -1179,7 +1212,7 @@ module Google
|
|
1179
1212
|
# @param options [::Gapic::CallOptions, ::Hash]
|
1180
1213
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
1181
1214
|
#
|
1182
|
-
# @overload read(session: nil, transaction: nil, table: nil, index: nil, columns: nil, key_set: nil, limit: nil, resume_token: nil, partition_token: nil, request_options: nil, data_boost_enabled: nil)
|
1215
|
+
# @overload read(session: nil, transaction: nil, table: nil, index: nil, columns: nil, key_set: nil, limit: nil, resume_token: nil, partition_token: nil, request_options: nil, directed_read_options: nil, data_boost_enabled: nil)
|
1183
1216
|
# Pass arguments to `read` via keyword arguments. Note that at
|
1184
1217
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
1185
1218
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
@@ -1192,22 +1225,29 @@ module Google
|
|
1192
1225
|
# @param table [::String]
|
1193
1226
|
# Required. The name of the table in the database to be read.
|
1194
1227
|
# @param index [::String]
|
1195
|
-
# If non-empty, the name of an index on
|
1196
|
-
#
|
1197
|
-
#
|
1228
|
+
# If non-empty, the name of an index on
|
1229
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#table table}. This index is used instead of
|
1230
|
+
# the table primary key when interpreting
|
1231
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#key_set key_set} and sorting result rows.
|
1232
|
+
# See {::Google::Cloud::Spanner::V1::ReadRequest#key_set key_set} for further
|
1233
|
+
# information.
|
1198
1234
|
# @param columns [::Array<::String>]
|
1199
|
-
# Required. The columns of {::Google::Cloud::Spanner::V1::ReadRequest#table table} to be
|
1200
|
-
# this request.
|
1235
|
+
# Required. The columns of {::Google::Cloud::Spanner::V1::ReadRequest#table table} to be
|
1236
|
+
# returned for each row matching this request.
|
1201
1237
|
# @param key_set [::Google::Cloud::Spanner::V1::KeySet, ::Hash]
|
1202
1238
|
# Required. `key_set` identifies the rows to be yielded. `key_set` names the
|
1203
|
-
# primary keys of the rows in {::Google::Cloud::Spanner::V1::ReadRequest#table table} to
|
1204
|
-
#
|
1205
|
-
#
|
1206
|
-
#
|
1207
|
-
#
|
1208
|
-
#
|
1209
|
-
#
|
1210
|
-
# empty, rows
|
1239
|
+
# primary keys of the rows in {::Google::Cloud::Spanner::V1::ReadRequest#table table} to
|
1240
|
+
# be yielded, unless {::Google::Cloud::Spanner::V1::ReadRequest#index index} is present.
|
1241
|
+
# If {::Google::Cloud::Spanner::V1::ReadRequest#index index} is present, then
|
1242
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#key_set key_set} instead names index keys
|
1243
|
+
# in {::Google::Cloud::Spanner::V1::ReadRequest#index index}.
|
1244
|
+
#
|
1245
|
+
# If the {::Google::Cloud::Spanner::V1::ReadRequest#partition_token partition_token}
|
1246
|
+
# field is empty, rows are yielded in table primary key order (if
|
1247
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#index index} is empty) or index key order
|
1248
|
+
# (if {::Google::Cloud::Spanner::V1::ReadRequest#index index} is non-empty). If the
|
1249
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#partition_token partition_token} field is
|
1250
|
+
# not empty, rows will be yielded in an unspecified order.
|
1211
1251
|
#
|
1212
1252
|
# It is not an error for the `key_set` to name rows that do not
|
1213
1253
|
# exist in the database. Read yields nothing for nonexistent rows.
|
@@ -1218,9 +1258,9 @@ module Google
|
|
1218
1258
|
# @param resume_token [::String]
|
1219
1259
|
# If this request is resuming a previously interrupted read,
|
1220
1260
|
# `resume_token` should be copied from the last
|
1221
|
-
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
1222
|
-
# enables the new read to resume where the last read
|
1223
|
-
# rest of the request parameters must exactly match the request
|
1261
|
+
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
1262
|
+
# interruption. Doing this enables the new read to resume where the last read
|
1263
|
+
# left off. The rest of the request parameters must exactly match the request
|
1224
1264
|
# that yielded this token.
|
1225
1265
|
# @param partition_token [::String]
|
1226
1266
|
# If present, results will be restricted to the specified partition
|
@@ -1229,12 +1269,14 @@ module Google
|
|
1229
1269
|
# PartitionReadRequest message used to create this partition_token.
|
1230
1270
|
# @param request_options [::Google::Cloud::Spanner::V1::RequestOptions, ::Hash]
|
1231
1271
|
# Common options for this request.
|
1272
|
+
# @param directed_read_options [::Google::Cloud::Spanner::V1::DirectedReadOptions, ::Hash]
|
1273
|
+
# Directed read options for this request.
|
1232
1274
|
# @param data_boost_enabled [::Boolean]
|
1233
1275
|
# If this is for a partitioned read and this field is set to `true`, the
|
1234
|
-
# request
|
1276
|
+
# request is executed with Spanner Data Boost independent compute resources.
|
1235
1277
|
#
|
1236
1278
|
# If the field is set to `true` but the request does not set
|
1237
|
-
# `partition_token`, the API
|
1279
|
+
# `partition_token`, the API returns an `INVALID_ARGUMENT` error.
|
1238
1280
|
#
|
1239
1281
|
# @yield [response, operation] Access the result along with the RPC operation
|
1240
1282
|
# @yieldparam response [::Google::Cloud::Spanner::V1::ResultSet]
|
@@ -1301,9 +1343,9 @@ module Google
|
|
1301
1343
|
end
|
1302
1344
|
|
1303
1345
|
##
|
1304
|
-
# Like {::Google::Cloud::Spanner::V1::Spanner::Client#read Read}, except returns the result set
|
1305
|
-
# stream. Unlike {::Google::Cloud::Spanner::V1::Spanner::Client#read Read}, there is no
|
1306
|
-
# size of the returned result set. However, no individual row in
|
1346
|
+
# Like {::Google::Cloud::Spanner::V1::Spanner::Client#read Read}, except returns the result set
|
1347
|
+
# as a stream. Unlike {::Google::Cloud::Spanner::V1::Spanner::Client#read Read}, there is no
|
1348
|
+
# limit on the size of the returned result set. However, no individual row in
|
1307
1349
|
# the result set can exceed 100 MiB, and no column value can exceed
|
1308
1350
|
# 10 MiB.
|
1309
1351
|
#
|
@@ -1317,7 +1359,7 @@ module Google
|
|
1317
1359
|
# @param options [::Gapic::CallOptions, ::Hash]
|
1318
1360
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
1319
1361
|
#
|
1320
|
-
# @overload streaming_read(session: nil, transaction: nil, table: nil, index: nil, columns: nil, key_set: nil, limit: nil, resume_token: nil, partition_token: nil, request_options: nil, data_boost_enabled: nil)
|
1362
|
+
# @overload streaming_read(session: nil, transaction: nil, table: nil, index: nil, columns: nil, key_set: nil, limit: nil, resume_token: nil, partition_token: nil, request_options: nil, directed_read_options: nil, data_boost_enabled: nil)
|
1321
1363
|
# Pass arguments to `streaming_read` via keyword arguments. Note that at
|
1322
1364
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
1323
1365
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
@@ -1330,22 +1372,29 @@ module Google
|
|
1330
1372
|
# @param table [::String]
|
1331
1373
|
# Required. The name of the table in the database to be read.
|
1332
1374
|
# @param index [::String]
|
1333
|
-
# If non-empty, the name of an index on
|
1334
|
-
#
|
1335
|
-
#
|
1375
|
+
# If non-empty, the name of an index on
|
1376
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#table table}. This index is used instead of
|
1377
|
+
# the table primary key when interpreting
|
1378
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#key_set key_set} and sorting result rows.
|
1379
|
+
# See {::Google::Cloud::Spanner::V1::ReadRequest#key_set key_set} for further
|
1380
|
+
# information.
|
1336
1381
|
# @param columns [::Array<::String>]
|
1337
|
-
# Required. The columns of {::Google::Cloud::Spanner::V1::ReadRequest#table table} to be
|
1338
|
-
# this request.
|
1382
|
+
# Required. The columns of {::Google::Cloud::Spanner::V1::ReadRequest#table table} to be
|
1383
|
+
# returned for each row matching this request.
|
1339
1384
|
# @param key_set [::Google::Cloud::Spanner::V1::KeySet, ::Hash]
|
1340
1385
|
# Required. `key_set` identifies the rows to be yielded. `key_set` names the
|
1341
|
-
# primary keys of the rows in {::Google::Cloud::Spanner::V1::ReadRequest#table table} to
|
1342
|
-
#
|
1343
|
-
#
|
1344
|
-
#
|
1345
|
-
#
|
1346
|
-
#
|
1347
|
-
#
|
1348
|
-
# empty, rows
|
1386
|
+
# primary keys of the rows in {::Google::Cloud::Spanner::V1::ReadRequest#table table} to
|
1387
|
+
# be yielded, unless {::Google::Cloud::Spanner::V1::ReadRequest#index index} is present.
|
1388
|
+
# If {::Google::Cloud::Spanner::V1::ReadRequest#index index} is present, then
|
1389
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#key_set key_set} instead names index keys
|
1390
|
+
# in {::Google::Cloud::Spanner::V1::ReadRequest#index index}.
|
1391
|
+
#
|
1392
|
+
# If the {::Google::Cloud::Spanner::V1::ReadRequest#partition_token partition_token}
|
1393
|
+
# field is empty, rows are yielded in table primary key order (if
|
1394
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#index index} is empty) or index key order
|
1395
|
+
# (if {::Google::Cloud::Spanner::V1::ReadRequest#index index} is non-empty). If the
|
1396
|
+
# {::Google::Cloud::Spanner::V1::ReadRequest#partition_token partition_token} field is
|
1397
|
+
# not empty, rows will be yielded in an unspecified order.
|
1349
1398
|
#
|
1350
1399
|
# It is not an error for the `key_set` to name rows that do not
|
1351
1400
|
# exist in the database. Read yields nothing for nonexistent rows.
|
@@ -1356,9 +1405,9 @@ module Google
|
|
1356
1405
|
# @param resume_token [::String]
|
1357
1406
|
# If this request is resuming a previously interrupted read,
|
1358
1407
|
# `resume_token` should be copied from the last
|
1359
|
-
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
1360
|
-
# enables the new read to resume where the last read
|
1361
|
-
# rest of the request parameters must exactly match the request
|
1408
|
+
# {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
1409
|
+
# interruption. Doing this enables the new read to resume where the last read
|
1410
|
+
# left off. The rest of the request parameters must exactly match the request
|
1362
1411
|
# that yielded this token.
|
1363
1412
|
# @param partition_token [::String]
|
1364
1413
|
# If present, results will be restricted to the specified partition
|
@@ -1367,12 +1416,14 @@ module Google
|
|
1367
1416
|
# PartitionReadRequest message used to create this partition_token.
|
1368
1417
|
# @param request_options [::Google::Cloud::Spanner::V1::RequestOptions, ::Hash]
|
1369
1418
|
# Common options for this request.
|
1419
|
+
# @param directed_read_options [::Google::Cloud::Spanner::V1::DirectedReadOptions, ::Hash]
|
1420
|
+
# Directed read options for this request.
|
1370
1421
|
# @param data_boost_enabled [::Boolean]
|
1371
1422
|
# If this is for a partitioned read and this field is set to `true`, the
|
1372
|
-
# request
|
1423
|
+
# request is executed with Spanner Data Boost independent compute resources.
|
1373
1424
|
#
|
1374
1425
|
# If the field is set to `true` but the request does not set
|
1375
|
-
# `partition_token`, the API
|
1426
|
+
# `partition_token`, the API returns an `INVALID_ARGUMENT` error.
|
1376
1427
|
#
|
1377
1428
|
# @yield [response, operation] Access the result along with the RPC operation
|
1378
1429
|
# @yieldparam response [::Enumerable<::Google::Cloud::Spanner::V1::PartialResultSet>]
|
@@ -1443,7 +1494,8 @@ module Google
|
|
1443
1494
|
|
1444
1495
|
##
|
1445
1496
|
# Begins a new transaction. This step can often be skipped:
|
1446
|
-
# {::Google::Cloud::Spanner::V1::Spanner::Client#read Read},
|
1497
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#read Read},
|
1498
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql} and
|
1447
1499
|
# {::Google::Cloud::Spanner::V1::Spanner::Client#commit Commit} can begin a new transaction as a
|
1448
1500
|
# side-effect.
|
1449
1501
|
#
|
@@ -1588,8 +1640,8 @@ module Google
|
|
1588
1640
|
# this list.
|
1589
1641
|
# @param return_commit_stats [::Boolean]
|
1590
1642
|
# If `true`, then statistics related to the transaction will be included in
|
1591
|
-
# the {::Google::Cloud::Spanner::V1::CommitResponse#commit_stats CommitResponse}.
|
1592
|
-
# `false`.
|
1643
|
+
# the {::Google::Cloud::Spanner::V1::CommitResponse#commit_stats CommitResponse}.
|
1644
|
+
# Default value is `false`.
|
1593
1645
|
# @param request_options [::Google::Cloud::Spanner::V1::RequestOptions, ::Hash]
|
1594
1646
|
# Common options for this request.
|
1595
1647
|
#
|
@@ -1660,8 +1712,9 @@ module Google
|
|
1660
1712
|
##
|
1661
1713
|
# Rolls back a transaction, releasing any locks it holds. It is a good
|
1662
1714
|
# idea to call this for any transaction that includes one or more
|
1663
|
-
# {::Google::Cloud::Spanner::V1::Spanner::Client#read Read} or
|
1664
|
-
#
|
1715
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#read Read} or
|
1716
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_sql ExecuteSql} requests and ultimately
|
1717
|
+
# decides not to commit.
|
1665
1718
|
#
|
1666
1719
|
# `Rollback` returns `OK` if it successfully aborts the transaction, the
|
1667
1720
|
# transaction was already aborted, or the transaction is not
|
@@ -1754,10 +1807,11 @@ module Google
|
|
1754
1807
|
##
|
1755
1808
|
# Creates a set of partition tokens that can be used to execute a query
|
1756
1809
|
# operation in parallel. Each of the returned partition tokens can be used
|
1757
|
-
# by {::Google::Cloud::Spanner::V1::Spanner::Client#execute_streaming_sql ExecuteStreamingSql} to
|
1758
|
-
# of the query result to read. The same session and
|
1759
|
-
# must be used by the PartitionQueryRequest used to
|
1760
|
-
# partition tokens and the ExecuteSqlRequests that use the
|
1810
|
+
# by {::Google::Cloud::Spanner::V1::Spanner::Client#execute_streaming_sql ExecuteStreamingSql} to
|
1811
|
+
# specify a subset of the query result to read. The same session and
|
1812
|
+
# read-only transaction must be used by the PartitionQueryRequest used to
|
1813
|
+
# create the partition tokens and the ExecuteSqlRequests that use the
|
1814
|
+
# partition tokens.
|
1761
1815
|
#
|
1762
1816
|
# Partition tokens become invalid when the session used to create them
|
1763
1817
|
# is deleted, is idle for too long, begins a new transaction, or becomes too
|
@@ -1785,15 +1839,16 @@ module Google
|
|
1785
1839
|
# Read only snapshot transactions are supported, read/write and single use
|
1786
1840
|
# transactions are not.
|
1787
1841
|
# @param sql [::String]
|
1788
|
-
# Required. The query request to generate partitions for. The request will
|
1789
|
-
# the query is not root partitionable.
|
1790
|
-
# partitionable
|
1791
|
-
#
|
1792
|
-
#
|
1793
|
-
#
|
1794
|
-
#
|
1795
|
-
#
|
1796
|
-
# DELETE. Use
|
1842
|
+
# Required. The query request to generate partitions for. The request will
|
1843
|
+
# fail if the query is not root partitionable. For a query to be root
|
1844
|
+
# partitionable, it needs to satisfy a few conditions. For example, the first
|
1845
|
+
# operator in the query execution plan must be a distributed union operator.
|
1846
|
+
# For more information about other conditions, see [Read data in
|
1847
|
+
# parallel](https://cloud.google.com/spanner/docs/reads#read_data_in_parallel).
|
1848
|
+
#
|
1849
|
+
# The query request must not contain DML commands, such as INSERT, UPDATE, or
|
1850
|
+
# DELETE. Use
|
1851
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#execute_streaming_sql ExecuteStreamingSql} with a
|
1797
1852
|
# PartitionedDml transaction for large, partition-friendly DML operations.
|
1798
1853
|
# @param params [::Google::Protobuf::Struct, ::Hash]
|
1799
1854
|
# Parameter names and values that bind to placeholders in the SQL string.
|
@@ -1811,7 +1866,8 @@ module Google
|
|
1811
1866
|
# @param param_types [::Hash{::String => ::Google::Cloud::Spanner::V1::Type, ::Hash}]
|
1812
1867
|
# It is not always possible for Cloud Spanner to infer the right SQL type
|
1813
1868
|
# from a JSON value. For example, values of type `BYTES` and values
|
1814
|
-
# of type `STRING` both appear in
|
1869
|
+
# of type `STRING` both appear in
|
1870
|
+
# {::Google::Cloud::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
|
1815
1871
|
#
|
1816
1872
|
# In these cases, `param_types` can be used to specify the exact
|
1817
1873
|
# SQL type for some or all of the SQL query parameters. See the
|
@@ -1887,12 +1943,13 @@ module Google
|
|
1887
1943
|
##
|
1888
1944
|
# Creates a set of partition tokens that can be used to execute a read
|
1889
1945
|
# operation in parallel. Each of the returned partition tokens can be used
|
1890
|
-
# by {::Google::Cloud::Spanner::V1::Spanner::Client#streaming_read StreamingRead} to specify a
|
1891
|
-
# result to read. The same session and read-only
|
1892
|
-
# the PartitionReadRequest used to create the
|
1893
|
-
# ReadRequests that use the partition tokens. There
|
1894
|
-
# guarantees on rows returned among the returned partition
|
1895
|
-
# within each individual StreamingRead call issued with a
|
1946
|
+
# by {::Google::Cloud::Spanner::V1::Spanner::Client#streaming_read StreamingRead} to specify a
|
1947
|
+
# subset of the read result to read. The same session and read-only
|
1948
|
+
# transaction must be used by the PartitionReadRequest used to create the
|
1949
|
+
# partition tokens and the ReadRequests that use the partition tokens. There
|
1950
|
+
# are no ordering guarantees on rows returned among the returned partition
|
1951
|
+
# tokens, or even within each individual StreamingRead call issued with a
|
1952
|
+
# partition_token.
|
1896
1953
|
#
|
1897
1954
|
# Partition tokens become invalid when the session used to create them
|
1898
1955
|
# is deleted, is idle for too long, begins a new transaction, or becomes too
|
@@ -1922,16 +1979,22 @@ module Google
|
|
1922
1979
|
# @param table [::String]
|
1923
1980
|
# Required. The name of the table in the database to be read.
|
1924
1981
|
# @param index [::String]
|
1925
|
-
# If non-empty, the name of an index on
|
1926
|
-
#
|
1927
|
-
#
|
1982
|
+
# If non-empty, the name of an index on
|
1983
|
+
# {::Google::Cloud::Spanner::V1::PartitionReadRequest#table table}. This index is used
|
1984
|
+
# instead of the table primary key when interpreting
|
1985
|
+
# {::Google::Cloud::Spanner::V1::PartitionReadRequest#key_set key_set} and sorting
|
1986
|
+
# result rows. See {::Google::Cloud::Spanner::V1::PartitionReadRequest#key_set key_set}
|
1987
|
+
# for further information.
|
1928
1988
|
# @param columns [::Array<::String>]
|
1929
|
-
# The columns of {::Google::Cloud::Spanner::V1::PartitionReadRequest#table table} to be
|
1930
|
-
# this request.
|
1989
|
+
# The columns of {::Google::Cloud::Spanner::V1::PartitionReadRequest#table table} to be
|
1990
|
+
# returned for each row matching this request.
|
1931
1991
|
# @param key_set [::Google::Cloud::Spanner::V1::KeySet, ::Hash]
|
1932
1992
|
# Required. `key_set` identifies the rows to be yielded. `key_set` names the
|
1933
|
-
# primary keys of the rows in
|
1934
|
-
#
|
1993
|
+
# primary keys of the rows in
|
1994
|
+
# {::Google::Cloud::Spanner::V1::PartitionReadRequest#table table} to be yielded, unless
|
1995
|
+
# {::Google::Cloud::Spanner::V1::PartitionReadRequest#index index} is present. If
|
1996
|
+
# {::Google::Cloud::Spanner::V1::PartitionReadRequest#index index} is present, then
|
1997
|
+
# {::Google::Cloud::Spanner::V1::PartitionReadRequest#key_set key_set} instead names
|
1935
1998
|
# index keys in {::Google::Cloud::Spanner::V1::PartitionReadRequest#index index}.
|
1936
1999
|
#
|
1937
2000
|
# It is not an error for the `key_set` to name rows that do not
|
@@ -2139,9 +2202,9 @@ module Google
|
|
2139
2202
|
# end
|
2140
2203
|
#
|
2141
2204
|
# @!attribute [rw] endpoint
|
2142
|
-
#
|
2143
|
-
#
|
2144
|
-
# @return [::String]
|
2205
|
+
# A custom service endpoint, as a hostname or hostname:port. The default is
|
2206
|
+
# nil, indicating to use the default endpoint in the current universe domain.
|
2207
|
+
# @return [::String,nil]
|
2145
2208
|
# @!attribute [rw] credentials
|
2146
2209
|
# Credentials to send with calls. You may provide any of the following types:
|
2147
2210
|
# * (`String`) The path to a service account key file in JSON format
|
@@ -2187,13 +2250,20 @@ module Google
|
|
2187
2250
|
# @!attribute [rw] quota_project
|
2188
2251
|
# A separate project against which to charge quota.
|
2189
2252
|
# @return [::String]
|
2253
|
+
# @!attribute [rw] universe_domain
|
2254
|
+
# The universe domain within which to make requests. This determines the
|
2255
|
+
# default endpoint URL. The default value of nil uses the environment
|
2256
|
+
# universe (usually the default "googleapis.com" universe).
|
2257
|
+
# @return [::String,nil]
|
2190
2258
|
#
|
2191
2259
|
class Configuration
|
2192
2260
|
extend ::Gapic::Config
|
2193
2261
|
|
2262
|
+
# @private
|
2263
|
+
# The endpoint specific to the default "googleapis.com" universe. Deprecated.
|
2194
2264
|
DEFAULT_ENDPOINT = "spanner.googleapis.com"
|
2195
2265
|
|
2196
|
-
config_attr :endpoint,
|
2266
|
+
config_attr :endpoint, nil, ::String, nil
|
2197
2267
|
config_attr :credentials, nil do |value|
|
2198
2268
|
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
2199
2269
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
@@ -2208,6 +2278,7 @@ module Google
|
|
2208
2278
|
config_attr :metadata, nil, ::Hash, nil
|
2209
2279
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
2210
2280
|
config_attr :quota_project, nil, ::String, nil
|
2281
|
+
config_attr :universe_domain, nil, ::String, nil
|
2211
2282
|
|
2212
2283
|
# @private
|
2213
2284
|
def initialize parent_config = nil
|