google-cloud-spanner 1.14.0 → 1.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/google-cloud-spanner.rb +13 -0
- data/lib/google/cloud/spanner.rb +2 -1
- data/lib/google/cloud/spanner/admin/database.rb +3 -2
- data/lib/google/cloud/spanner/admin/database/v1.rb +3 -2
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb +742 -20
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client_config.json +40 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/field_mask.rb +222 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/timestamp.rb +113 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/backup.rb +325 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb +197 -30
- data/lib/google/cloud/spanner/admin/instance.rb +1 -1
- data/lib/google/cloud/spanner/admin/instance/v1.rb +1 -1
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb +6 -13
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb +8 -5
- data/lib/google/cloud/spanner/batch_client.rb +5 -3
- data/lib/google/cloud/spanner/batch_snapshot.rb +43 -8
- data/lib/google/cloud/spanner/client.rb +57 -8
- data/lib/google/cloud/spanner/project.rb +31 -6
- data/lib/google/cloud/spanner/results.rb +4 -2
- data/lib/google/cloud/spanner/service.rb +3 -1
- data/lib/google/cloud/spanner/session.rb +37 -6
- data/lib/google/cloud/spanner/snapshot.rb +26 -3
- data/lib/google/cloud/spanner/transaction.rb +49 -5
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb +8 -1
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb +91 -102
- data/lib/google/cloud/spanner/v1/spanner_client.rb +112 -136
- data/lib/google/cloud/spanner/version.rb +1 -1
- data/lib/google/spanner/admin/database/v1/backup_pb.rb +98 -0
- data/lib/google/spanner/admin/database/v1/common_pb.rb +28 -0
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb +53 -0
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +82 -12
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +1 -2
- data/lib/google/spanner/v1/spanner_pb.rb +5 -0
- data/lib/google/spanner/v1/spanner_services_pb.rb +31 -40
- metadata +7 -2
@@ -189,6 +189,9 @@ module Google
|
|
189
189
|
google_api_client.freeze
|
190
190
|
|
191
191
|
headers = { :"x-goog-api-client" => google_api_client }
|
192
|
+
if credentials.respond_to?(:quota_project_id) && credentials.quota_project_id
|
193
|
+
headers[:"x-goog-user-project"] = credentials.quota_project_id
|
194
|
+
end
|
192
195
|
headers.merge!(metadata) unless metadata.nil?
|
193
196
|
client_config_file = Pathname.new(__dir__).join(
|
194
197
|
"spanner_client_config.json"
|
@@ -358,7 +361,7 @@ module Google
|
|
358
361
|
#
|
359
362
|
# Active sessions use additional server resources, so it is a good idea to
|
360
363
|
# delete idle and unneeded sessions.
|
361
|
-
# Aside from explicit deletes, Cloud Spanner
|
364
|
+
# Aside from explicit deletes, Cloud Spanner may delete sessions for which no
|
362
365
|
# operations are sent for more than an hour. If a session is deleted,
|
363
366
|
# requests to it return `NOT_FOUND`.
|
364
367
|
#
|
@@ -411,8 +414,7 @@ module Google
|
|
411
414
|
# The API may return fewer than the requested number of sessions. If a
|
412
415
|
# specific number of sessions are desired, the client can make additional
|
413
416
|
# calls to BatchCreateSessions (adjusting
|
414
|
-
# {Google::Spanner::V1::BatchCreateSessionsRequest#session_count session_count}
|
415
|
-
# as necessary).
|
417
|
+
# {Google::Spanner::V1::BatchCreateSessionsRequest#session_count session_count} as necessary).
|
416
418
|
# @param session_template [Google::Spanner::V1::Session | Hash]
|
417
419
|
# Parameters to be applied to each created session.
|
418
420
|
# A hash of the same form as `Google::Spanner::V1::Session`
|
@@ -588,12 +590,10 @@ module Google
|
|
588
590
|
#
|
589
591
|
# Operations inside read-write transactions might return `ABORTED`. If
|
590
592
|
# this occurs, the application should restart the transaction from
|
591
|
-
# the beginning. See {Google::Spanner::V1::Transaction Transaction} for more
|
592
|
-
# details.
|
593
|
+
# the beginning. See {Google::Spanner::V1::Transaction Transaction} for more details.
|
593
594
|
#
|
594
595
|
# Larger result sets can be fetched in streaming fashion by calling
|
595
|
-
# {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql}
|
596
|
-
# instead.
|
596
|
+
# {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql} instead.
|
597
597
|
#
|
598
598
|
# @param session [String]
|
599
599
|
# Required. The session in which the SQL query should be performed.
|
@@ -630,8 +630,7 @@ module Google
|
|
630
630
|
# @param param_types [Hash{String => Google::Spanner::V1::Type | Hash}]
|
631
631
|
# It is not always possible for Cloud Spanner to infer the right SQL type
|
632
632
|
# from a JSON value. For example, values of type `BYTES` and values
|
633
|
-
# of type `STRING` both appear in
|
634
|
-
# {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
|
633
|
+
# of type `STRING` both appear in {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
|
635
634
|
#
|
636
635
|
# In these cases, `param_types` can be used to specify the exact
|
637
636
|
# SQL type for some or all of the SQL statement parameters. See the
|
@@ -642,17 +641,14 @@ module Google
|
|
642
641
|
# @param resume_token [String]
|
643
642
|
# If this request is resuming a previously interrupted SQL statement
|
644
643
|
# execution, `resume_token` should be copied from the last
|
645
|
-
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
646
|
-
#
|
647
|
-
#
|
648
|
-
#
|
644
|
+
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
|
645
|
+
# enables the new SQL statement execution to resume where the last one left
|
646
|
+
# off. The rest of the request parameters must exactly match the
|
647
|
+
# request that yielded this token.
|
649
648
|
# @param query_mode [Google::Spanner::V1::ExecuteSqlRequest::QueryMode]
|
650
649
|
# Used to control the amount of debugging information returned in
|
651
|
-
# {Google::Spanner::V1::ResultSetStats ResultSetStats}. If
|
652
|
-
# {Google::Spanner::V1::ExecuteSqlRequest
|
653
|
-
# set, {Google::Spanner::V1::ExecuteSqlRequest#query_mode query_mode} can only
|
654
|
-
# be set to
|
655
|
-
# {Google::Spanner::V1::ExecuteSqlRequest::QueryMode::NORMAL QueryMode::NORMAL}.
|
650
|
+
# {Google::Spanner::V1::ResultSetStats ResultSetStats}. If {Google::Spanner::V1::ExecuteSqlRequest#partition_token partition_token} is set, {Google::Spanner::V1::ExecuteSqlRequest#query_mode query_mode} can only
|
651
|
+
# be set to {Google::Spanner::V1::ExecuteSqlRequest::QueryMode::NORMAL QueryMode::NORMAL}.
|
656
652
|
# @param partition_token [String]
|
657
653
|
# If present, results will be restricted to the specified partition
|
658
654
|
# previously created using PartitionQuery(). There must be an exact
|
@@ -669,6 +665,10 @@ module Google
|
|
669
665
|
# handled requests will yield the same response as the first execution.
|
670
666
|
#
|
671
667
|
# Required for DML statements. Ignored for queries.
|
668
|
+
# @param query_options [Google::Spanner::V1::ExecuteSqlRequest::QueryOptions | Hash]
|
669
|
+
# Query optimizer configuration to use for the given query.
|
670
|
+
# A hash of the same form as `Google::Spanner::V1::ExecuteSqlRequest::QueryOptions`
|
671
|
+
# can also be provided.
|
672
672
|
# @param options [Google::Gax::CallOptions]
|
673
673
|
# Overrides the default settings for this call, e.g, timeout,
|
674
674
|
# retries, etc.
|
@@ -697,6 +697,7 @@ module Google
|
|
697
697
|
query_mode: nil,
|
698
698
|
partition_token: nil,
|
699
699
|
seqno: nil,
|
700
|
+
query_options: nil,
|
700
701
|
options: nil,
|
701
702
|
&block
|
702
703
|
req = {
|
@@ -708,17 +709,18 @@ module Google
|
|
708
709
|
resume_token: resume_token,
|
709
710
|
query_mode: query_mode,
|
710
711
|
partition_token: partition_token,
|
711
|
-
seqno: seqno
|
712
|
+
seqno: seqno,
|
713
|
+
query_options: query_options
|
712
714
|
}.delete_if { |_, v| v.nil? }
|
713
715
|
req = Google::Gax::to_proto(req, Google::Spanner::V1::ExecuteSqlRequest)
|
714
716
|
@execute_sql.call(req, options, &block)
|
715
717
|
end
|
716
718
|
|
717
|
-
# Like {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}, except returns the
|
718
|
-
#
|
719
|
-
#
|
720
|
-
#
|
721
|
-
#
|
719
|
+
# Like {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}, except returns the result
|
720
|
+
# set as a stream. Unlike {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}, there
|
721
|
+
# is no limit on the size of the returned result set. However, no
|
722
|
+
# individual row in the result set can exceed 100 MiB, and no
|
723
|
+
# column value can exceed 10 MiB.
|
722
724
|
#
|
723
725
|
# @param session [String]
|
724
726
|
# Required. The session in which the SQL query should be performed.
|
@@ -755,8 +757,7 @@ module Google
|
|
755
757
|
# @param param_types [Hash{String => Google::Spanner::V1::Type | Hash}]
|
756
758
|
# It is not always possible for Cloud Spanner to infer the right SQL type
|
757
759
|
# from a JSON value. For example, values of type `BYTES` and values
|
758
|
-
# of type `STRING` both appear in
|
759
|
-
# {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
|
760
|
+
# of type `STRING` both appear in {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
|
760
761
|
#
|
761
762
|
# In these cases, `param_types` can be used to specify the exact
|
762
763
|
# SQL type for some or all of the SQL statement parameters. See the
|
@@ -767,17 +768,14 @@ module Google
|
|
767
768
|
# @param resume_token [String]
|
768
769
|
# If this request is resuming a previously interrupted SQL statement
|
769
770
|
# execution, `resume_token` should be copied from the last
|
770
|
-
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
771
|
-
#
|
772
|
-
#
|
773
|
-
#
|
771
|
+
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
|
772
|
+
# enables the new SQL statement execution to resume where the last one left
|
773
|
+
# off. The rest of the request parameters must exactly match the
|
774
|
+
# request that yielded this token.
|
774
775
|
# @param query_mode [Google::Spanner::V1::ExecuteSqlRequest::QueryMode]
|
775
776
|
# Used to control the amount of debugging information returned in
|
776
|
-
# {Google::Spanner::V1::ResultSetStats ResultSetStats}. If
|
777
|
-
# {Google::Spanner::V1::ExecuteSqlRequest
|
778
|
-
# set, {Google::Spanner::V1::ExecuteSqlRequest#query_mode query_mode} can only
|
779
|
-
# be set to
|
780
|
-
# {Google::Spanner::V1::ExecuteSqlRequest::QueryMode::NORMAL QueryMode::NORMAL}.
|
777
|
+
# {Google::Spanner::V1::ResultSetStats ResultSetStats}. If {Google::Spanner::V1::ExecuteSqlRequest#partition_token partition_token} is set, {Google::Spanner::V1::ExecuteSqlRequest#query_mode query_mode} can only
|
778
|
+
# be set to {Google::Spanner::V1::ExecuteSqlRequest::QueryMode::NORMAL QueryMode::NORMAL}.
|
781
779
|
# @param partition_token [String]
|
782
780
|
# If present, results will be restricted to the specified partition
|
783
781
|
# previously created using PartitionQuery(). There must be an exact
|
@@ -794,6 +792,10 @@ module Google
|
|
794
792
|
# handled requests will yield the same response as the first execution.
|
795
793
|
#
|
796
794
|
# Required for DML statements. Ignored for queries.
|
795
|
+
# @param query_options [Google::Spanner::V1::ExecuteSqlRequest::QueryOptions | Hash]
|
796
|
+
# Query optimizer configuration to use for the given query.
|
797
|
+
# A hash of the same form as `Google::Spanner::V1::ExecuteSqlRequest::QueryOptions`
|
798
|
+
# can also be provided.
|
797
799
|
# @param options [Google::Gax::CallOptions]
|
798
800
|
# Overrides the default settings for this call, e.g, timeout,
|
799
801
|
# retries, etc.
|
@@ -823,6 +825,7 @@ module Google
|
|
823
825
|
query_mode: nil,
|
824
826
|
partition_token: nil,
|
825
827
|
seqno: nil,
|
828
|
+
query_options: nil,
|
826
829
|
options: nil
|
827
830
|
req = {
|
828
831
|
session: session,
|
@@ -833,7 +836,8 @@ module Google
|
|
833
836
|
resume_token: resume_token,
|
834
837
|
query_mode: query_mode,
|
835
838
|
partition_token: partition_token,
|
836
|
-
seqno: seqno
|
839
|
+
seqno: seqno,
|
840
|
+
query_options: query_options
|
837
841
|
}.delete_if { |_, v| v.nil? }
|
838
842
|
req = Google::Gax::to_proto(req, Google::Spanner::V1::ExecuteSqlRequest)
|
839
843
|
@execute_streaming_sql.call(req, options)
|
@@ -844,10 +848,9 @@ module Google
|
|
844
848
|
# {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}.
|
845
849
|
#
|
846
850
|
# Statements are executed in sequential order. A request can succeed even if
|
847
|
-
# a statement fails. The
|
848
|
-
#
|
849
|
-
#
|
850
|
-
# Clients must inspect this field to determine whether an error occurred.
|
851
|
+
# a statement fails. The {Google::Spanner::V1::ExecuteBatchDmlResponse#status ExecuteBatchDmlResponse#status} field in the
|
852
|
+
# response provides information about the statement that failed. Clients must
|
853
|
+
# inspect this field to determine whether an error occurred.
|
851
854
|
#
|
852
855
|
# Execution stops after the first failed statement; the remaining statements
|
853
856
|
# are not executed.
|
@@ -863,18 +866,18 @@ module Google
|
|
863
866
|
# A hash of the same form as `Google::Spanner::V1::TransactionSelector`
|
864
867
|
# can also be provided.
|
865
868
|
# @param statements [Array<Google::Spanner::V1::ExecuteBatchDmlRequest::Statement | Hash>]
|
866
|
-
# Required. The list of statements to execute in this batch. Statements are
|
867
|
-
#
|
868
|
-
#
|
869
|
-
#
|
869
|
+
# Required. The list of statements to execute in this batch. Statements are executed
|
870
|
+
# serially, such that the effects of statement `i` are visible to statement
|
871
|
+
# `i+1`. Each statement must be a DML statement. Execution stops at the
|
872
|
+
# first failed statement; the remaining statements are not executed.
|
870
873
|
#
|
871
874
|
# Callers must provide at least one statement.
|
872
875
|
# A hash of the same form as `Google::Spanner::V1::ExecuteBatchDmlRequest::Statement`
|
873
876
|
# can also be provided.
|
874
877
|
# @param seqno [Integer]
|
875
|
-
# Required. A per-transaction sequence number used to identify this request.
|
876
|
-
#
|
877
|
-
#
|
878
|
+
# Required. A per-transaction sequence number used to identify this request. This field
|
879
|
+
# makes each request idempotent such that if the request is received multiple
|
880
|
+
# times, at most one will succeed.
|
878
881
|
#
|
879
882
|
# The sequence number must be monotonically increasing within the
|
880
883
|
# transaction. If a request arrives for the first time with an out-of-order
|
@@ -923,15 +926,14 @@ module Google
|
|
923
926
|
|
924
927
|
# Reads rows from the database using key lookups and scans, as a
|
925
928
|
# simple key/value style alternative to
|
926
|
-
# {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}. This method cannot be
|
927
|
-
#
|
929
|
+
# {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}. This method cannot be used to
|
930
|
+
# return a result set larger than 10 MiB; if the read matches more
|
928
931
|
# data than that, the read fails with a `FAILED_PRECONDITION`
|
929
932
|
# error.
|
930
933
|
#
|
931
934
|
# Reads inside read-write transactions might return `ABORTED`. If
|
932
935
|
# this occurs, the application should restart the transaction from
|
933
|
-
# the beginning. See {Google::Spanner::V1::Transaction Transaction} for more
|
934
|
-
# details.
|
936
|
+
# the beginning. See {Google::Spanner::V1::Transaction Transaction} for more details.
|
935
937
|
#
|
936
938
|
# Larger result sets can be yielded in streaming fashion by calling
|
937
939
|
# {Google::Spanner::V1::Spanner::StreamingRead StreamingRead} instead.
|
@@ -941,22 +943,18 @@ module Google
|
|
941
943
|
# @param table [String]
|
942
944
|
# Required. The name of the table in the database to be read.
|
943
945
|
# @param columns [Array<String>]
|
944
|
-
# Required. The columns of {Google::Spanner::V1::ReadRequest#table table} to be
|
945
|
-
#
|
946
|
+
# Required. The columns of {Google::Spanner::V1::ReadRequest#table table} to be returned for each row matching
|
947
|
+
# this request.
|
946
948
|
# @param key_set [Google::Spanner::V1::KeySet | Hash]
|
947
949
|
# Required. `key_set` identifies the rows to be yielded. `key_set` names the
|
948
|
-
# primary keys of the rows in {Google::Spanner::V1::ReadRequest#table table} to
|
949
|
-
#
|
950
|
-
#
|
951
|
-
#
|
952
|
-
#
|
953
|
-
#
|
954
|
-
# If the {Google::Spanner::V1::ReadRequest#partition_token partition_token}
|
955
|
-
#
|
956
|
-
# {Google::Spanner::V1::ReadRequest#index index} is empty) or index key order
|
957
|
-
# (if {Google::Spanner::V1::ReadRequest#index index} is non-empty). If the
|
958
|
-
# {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is
|
959
|
-
# not empty, rows will be yielded in an unspecified order.
|
950
|
+
# primary keys of the rows in {Google::Spanner::V1::ReadRequest#table table} to be yielded, unless {Google::Spanner::V1::ReadRequest#index index}
|
951
|
+
# is present. If {Google::Spanner::V1::ReadRequest#index index} is present, then {Google::Spanner::V1::ReadRequest#key_set key_set} instead names
|
952
|
+
# index keys in {Google::Spanner::V1::ReadRequest#index index}.
|
953
|
+
#
|
954
|
+
# If the {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is empty, rows are yielded
|
955
|
+
# in table primary key order (if {Google::Spanner::V1::ReadRequest#index index} is empty) or index key order
|
956
|
+
# (if {Google::Spanner::V1::ReadRequest#index index} is non-empty). If the {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is not
|
957
|
+
# empty, rows will be yielded in an unspecified order.
|
960
958
|
#
|
961
959
|
# It is not an error for the `key_set` to name rows that do not
|
962
960
|
# exist in the database. Read yields nothing for nonexistent rows.
|
@@ -968,12 +966,9 @@ module Google
|
|
968
966
|
# A hash of the same form as `Google::Spanner::V1::TransactionSelector`
|
969
967
|
# can also be provided.
|
970
968
|
# @param index [String]
|
971
|
-
# If non-empty, the name of an index on
|
972
|
-
# {Google::Spanner::V1::ReadRequest#
|
973
|
-
#
|
974
|
-
# {Google::Spanner::V1::ReadRequest#key_set key_set} and sorting result rows.
|
975
|
-
# See {Google::Spanner::V1::ReadRequest#key_set key_set} for further
|
976
|
-
# information.
|
969
|
+
# If non-empty, the name of an index on {Google::Spanner::V1::ReadRequest#table table}. This index is
|
970
|
+
# used instead of the table primary key when interpreting {Google::Spanner::V1::ReadRequest#key_set key_set}
|
971
|
+
# and sorting result rows. See {Google::Spanner::V1::ReadRequest#key_set key_set} for further information.
|
977
972
|
# @param limit [Integer]
|
978
973
|
# If greater than zero, only the first `limit` rows are yielded. If `limit`
|
979
974
|
# is zero, the default is no limit. A limit cannot be specified if
|
@@ -981,9 +976,9 @@ module Google
|
|
981
976
|
# @param resume_token [String]
|
982
977
|
# If this request is resuming a previously interrupted read,
|
983
978
|
# `resume_token` should be copied from the last
|
984
|
-
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
985
|
-
#
|
986
|
-
#
|
979
|
+
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
|
980
|
+
# enables the new read to resume where the last read left off. The
|
981
|
+
# rest of the request parameters must exactly match the request
|
987
982
|
# that yielded this token.
|
988
983
|
# @param partition_token [String]
|
989
984
|
# If present, results will be restricted to the specified partition
|
@@ -1041,9 +1036,9 @@ module Google
|
|
1041
1036
|
@read.call(req, options, &block)
|
1042
1037
|
end
|
1043
1038
|
|
1044
|
-
# Like {Google::Spanner::V1::Spanner::Read Read}, except returns the result set
|
1045
|
-
#
|
1046
|
-
#
|
1039
|
+
# Like {Google::Spanner::V1::Spanner::Read Read}, except returns the result set as a
|
1040
|
+
# stream. Unlike {Google::Spanner::V1::Spanner::Read Read}, there is no limit on the
|
1041
|
+
# size of the returned result set. However, no individual row in
|
1047
1042
|
# the result set can exceed 100 MiB, and no column value can exceed
|
1048
1043
|
# 10 MiB.
|
1049
1044
|
#
|
@@ -1052,22 +1047,18 @@ module Google
|
|
1052
1047
|
# @param table [String]
|
1053
1048
|
# Required. The name of the table in the database to be read.
|
1054
1049
|
# @param columns [Array<String>]
|
1055
|
-
# Required. The columns of {Google::Spanner::V1::ReadRequest#table table} to be
|
1056
|
-
#
|
1050
|
+
# Required. The columns of {Google::Spanner::V1::ReadRequest#table table} to be returned for each row matching
|
1051
|
+
# this request.
|
1057
1052
|
# @param key_set [Google::Spanner::V1::KeySet | Hash]
|
1058
1053
|
# Required. `key_set` identifies the rows to be yielded. `key_set` names the
|
1059
|
-
# primary keys of the rows in {Google::Spanner::V1::ReadRequest#table table} to
|
1060
|
-
#
|
1061
|
-
#
|
1062
|
-
#
|
1063
|
-
#
|
1064
|
-
#
|
1065
|
-
# If the {Google::Spanner::V1::ReadRequest#partition_token partition_token}
|
1066
|
-
#
|
1067
|
-
# {Google::Spanner::V1::ReadRequest#index index} is empty) or index key order
|
1068
|
-
# (if {Google::Spanner::V1::ReadRequest#index index} is non-empty). If the
|
1069
|
-
# {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is
|
1070
|
-
# not empty, rows will be yielded in an unspecified order.
|
1054
|
+
# primary keys of the rows in {Google::Spanner::V1::ReadRequest#table table} to be yielded, unless {Google::Spanner::V1::ReadRequest#index index}
|
1055
|
+
# is present. If {Google::Spanner::V1::ReadRequest#index index} is present, then {Google::Spanner::V1::ReadRequest#key_set key_set} instead names
|
1056
|
+
# index keys in {Google::Spanner::V1::ReadRequest#index index}.
|
1057
|
+
#
|
1058
|
+
# If the {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is empty, rows are yielded
|
1059
|
+
# in table primary key order (if {Google::Spanner::V1::ReadRequest#index index} is empty) or index key order
|
1060
|
+
# (if {Google::Spanner::V1::ReadRequest#index index} is non-empty). If the {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is not
|
1061
|
+
# empty, rows will be yielded in an unspecified order.
|
1071
1062
|
#
|
1072
1063
|
# It is not an error for the `key_set` to name rows that do not
|
1073
1064
|
# exist in the database. Read yields nothing for nonexistent rows.
|
@@ -1079,12 +1070,9 @@ module Google
|
|
1079
1070
|
# A hash of the same form as `Google::Spanner::V1::TransactionSelector`
|
1080
1071
|
# can also be provided.
|
1081
1072
|
# @param index [String]
|
1082
|
-
# If non-empty, the name of an index on
|
1083
|
-
# {Google::Spanner::V1::ReadRequest#
|
1084
|
-
#
|
1085
|
-
# {Google::Spanner::V1::ReadRequest#key_set key_set} and sorting result rows.
|
1086
|
-
# See {Google::Spanner::V1::ReadRequest#key_set key_set} for further
|
1087
|
-
# information.
|
1073
|
+
# If non-empty, the name of an index on {Google::Spanner::V1::ReadRequest#table table}. This index is
|
1074
|
+
# used instead of the table primary key when interpreting {Google::Spanner::V1::ReadRequest#key_set key_set}
|
1075
|
+
# and sorting result rows. See {Google::Spanner::V1::ReadRequest#key_set key_set} for further information.
|
1088
1076
|
# @param limit [Integer]
|
1089
1077
|
# If greater than zero, only the first `limit` rows are yielded. If `limit`
|
1090
1078
|
# is zero, the default is no limit. A limit cannot be specified if
|
@@ -1092,9 +1080,9 @@ module Google
|
|
1092
1080
|
# @param resume_token [String]
|
1093
1081
|
# If this request is resuming a previously interrupted read,
|
1094
1082
|
# `resume_token` should be copied from the last
|
1095
|
-
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the
|
1096
|
-
#
|
1097
|
-
#
|
1083
|
+
# {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
|
1084
|
+
# enables the new read to resume where the last read left off. The
|
1085
|
+
# rest of the request parameters must exactly match the request
|
1098
1086
|
# that yielded this token.
|
1099
1087
|
# @param partition_token [String]
|
1100
1088
|
# If present, results will be restricted to the specified partition
|
@@ -1153,8 +1141,7 @@ module Google
|
|
1153
1141
|
end
|
1154
1142
|
|
1155
1143
|
# Begins a new transaction. This step can often be skipped:
|
1156
|
-
# {Google::Spanner::V1::Spanner::Read Read},
|
1157
|
-
# {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql} and
|
1144
|
+
# {Google::Spanner::V1::Spanner::Read Read}, {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql} and
|
1158
1145
|
# {Google::Spanner::V1::Spanner::Commit Commit} can begin a new transaction as a
|
1159
1146
|
# side-effect.
|
1160
1147
|
#
|
@@ -1263,9 +1250,8 @@ module Google
|
|
1263
1250
|
|
1264
1251
|
# Rolls back a transaction, releasing any locks it holds. It is a good
|
1265
1252
|
# idea to call this for any transaction that includes one or more
|
1266
|
-
# {Google::Spanner::V1::Spanner::Read Read} or
|
1267
|
-
#
|
1268
|
-
# decides not to commit.
|
1253
|
+
# {Google::Spanner::V1::Spanner::Read Read} or {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql} requests and
|
1254
|
+
# ultimately decides not to commit.
|
1269
1255
|
#
|
1270
1256
|
# `Rollback` returns `OK` if it successfully aborts the transaction, the
|
1271
1257
|
# transaction was already aborted, or the transaction is not
|
@@ -1308,11 +1294,10 @@ module Google
|
|
1308
1294
|
|
1309
1295
|
# Creates a set of partition tokens that can be used to execute a query
|
1310
1296
|
# operation in parallel. Each of the returned partition tokens can be used
|
1311
|
-
# by {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql} to
|
1312
|
-
#
|
1313
|
-
#
|
1314
|
-
#
|
1315
|
-
# partition tokens.
|
1297
|
+
# by {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql} to specify a subset
|
1298
|
+
# of the query result to read. The same session and read-only transaction
|
1299
|
+
# must be used by the PartitionQueryRequest used to create the
|
1300
|
+
# partition tokens and the ExecuteSqlRequests that use the partition tokens.
|
1316
1301
|
#
|
1317
1302
|
# Partition tokens become invalid when the session used to create them
|
1318
1303
|
# is deleted, is idle for too long, begins a new transaction, or becomes too
|
@@ -1322,16 +1307,15 @@ module Google
|
|
1322
1307
|
# @param session [String]
|
1323
1308
|
# Required. The session used to create the partitions.
|
1324
1309
|
# @param sql [String]
|
1325
|
-
# Required. The query request to generate partitions for. The request will
|
1326
|
-
#
|
1310
|
+
# Required. The query request to generate partitions for. The request will fail if
|
1311
|
+
# the query is not root partitionable. The query plan of a root
|
1327
1312
|
# partitionable query has a single distributed union operator. A distributed
|
1328
1313
|
# union operator conceptually divides one or more tables into multiple
|
1329
1314
|
# splits, remotely evaluates a subquery independently on each split, and
|
1330
1315
|
# then unions all results.
|
1331
1316
|
#
|
1332
1317
|
# This must not contain DML commands, such as INSERT, UPDATE, or
|
1333
|
-
# DELETE. Use
|
1334
|
-
# {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql} with a
|
1318
|
+
# DELETE. Use {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql} with a
|
1335
1319
|
# PartitionedDml transaction for large, partition-friendly DML operations.
|
1336
1320
|
# @param transaction [Google::Spanner::V1::TransactionSelector | Hash]
|
1337
1321
|
# Read only snapshot transactions are supported, read/write and single use
|
@@ -1356,8 +1340,7 @@ module Google
|
|
1356
1340
|
# @param param_types [Hash{String => Google::Spanner::V1::Type | Hash}]
|
1357
1341
|
# It is not always possible for Cloud Spanner to infer the right SQL type
|
1358
1342
|
# from a JSON value. For example, values of type `BYTES` and values
|
1359
|
-
# of type `STRING` both appear in
|
1360
|
-
# {Google::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
|
1343
|
+
# of type `STRING` both appear in {Google::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
|
1361
1344
|
#
|
1362
1345
|
# In these cases, `param_types` can be used to specify the exact
|
1363
1346
|
# SQL type for some or all of the SQL query parameters. See the
|
@@ -1410,13 +1393,12 @@ module Google
|
|
1410
1393
|
|
1411
1394
|
# Creates a set of partition tokens that can be used to execute a read
|
1412
1395
|
# operation in parallel. Each of the returned partition tokens can be used
|
1413
|
-
# by {Google::Spanner::V1::Spanner::StreamingRead StreamingRead} to specify a
|
1414
|
-
#
|
1415
|
-
#
|
1416
|
-
#
|
1417
|
-
#
|
1418
|
-
#
|
1419
|
-
# partition_token.
|
1396
|
+
# by {Google::Spanner::V1::Spanner::StreamingRead StreamingRead} to specify a subset of the read
|
1397
|
+
# result to read. The same session and read-only transaction must be used by
|
1398
|
+
# the PartitionReadRequest used to create the partition tokens and the
|
1399
|
+
# ReadRequests that use the partition tokens. There are no ordering
|
1400
|
+
# guarantees on rows returned among the returned partition tokens, or even
|
1401
|
+
# within each individual StreamingRead call issued with a partition_token.
|
1420
1402
|
#
|
1421
1403
|
# Partition tokens become invalid when the session used to create them
|
1422
1404
|
# is deleted, is idle for too long, begins a new transaction, or becomes too
|
@@ -1429,11 +1411,8 @@ module Google
|
|
1429
1411
|
# Required. The name of the table in the database to be read.
|
1430
1412
|
# @param key_set [Google::Spanner::V1::KeySet | Hash]
|
1431
1413
|
# Required. `key_set` identifies the rows to be yielded. `key_set` names the
|
1432
|
-
# primary keys of the rows in
|
1433
|
-
# {Google::Spanner::V1::PartitionReadRequest#
|
1434
|
-
# {Google::Spanner::V1::PartitionReadRequest#index index} is present. If
|
1435
|
-
# {Google::Spanner::V1::PartitionReadRequest#index index} is present, then
|
1436
|
-
# {Google::Spanner::V1::PartitionReadRequest#key_set key_set} instead names
|
1414
|
+
# primary keys of the rows in {Google::Spanner::V1::PartitionReadRequest#table table} to be yielded, unless {Google::Spanner::V1::PartitionReadRequest#index index}
|
1415
|
+
# is present. If {Google::Spanner::V1::PartitionReadRequest#index index} is present, then {Google::Spanner::V1::PartitionReadRequest#key_set key_set} instead names
|
1437
1416
|
# index keys in {Google::Spanner::V1::PartitionReadRequest#index index}.
|
1438
1417
|
#
|
1439
1418
|
# It is not an error for the `key_set` to name rows that do not
|
@@ -1446,15 +1425,12 @@ module Google
|
|
1446
1425
|
# A hash of the same form as `Google::Spanner::V1::TransactionSelector`
|
1447
1426
|
# can also be provided.
|
1448
1427
|
# @param index [String]
|
1449
|
-
# If non-empty, the name of an index on
|
1450
|
-
# {Google::Spanner::V1::PartitionReadRequest#
|
1451
|
-
#
|
1452
|
-
# {Google::Spanner::V1::PartitionReadRequest#key_set key_set} and sorting
|
1453
|
-
# result rows. See {Google::Spanner::V1::PartitionReadRequest#key_set key_set}
|
1454
|
-
# for further information.
|
1428
|
+
# If non-empty, the name of an index on {Google::Spanner::V1::PartitionReadRequest#table table}. This index is
|
1429
|
+
# used instead of the table primary key when interpreting {Google::Spanner::V1::PartitionReadRequest#key_set key_set}
|
1430
|
+
# and sorting result rows. See {Google::Spanner::V1::PartitionReadRequest#key_set key_set} for further information.
|
1455
1431
|
# @param columns [Array<String>]
|
1456
|
-
# The columns of {Google::Spanner::V1::PartitionReadRequest#table table} to be
|
1457
|
-
#
|
1432
|
+
# The columns of {Google::Spanner::V1::PartitionReadRequest#table table} to be returned for each row matching
|
1433
|
+
# this request.
|
1458
1434
|
# @param partition_options [Google::Spanner::V1::PartitionOptions | Hash]
|
1459
1435
|
# Additional options that affect how many partitions are created.
|
1460
1436
|
# A hash of the same form as `Google::Spanner::V1::PartitionOptions`
|