google-cloud-spanner-v1 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 263176d27e7a17047a1cce07d6c8d689545e041165be967c844bb4e7a0efedad
4
- data.tar.gz: 955f9cab32b046a967e976a7fb3d9b8d85d639e83f832a4fcb4b116467afa12c
3
+ metadata.gz: f1667e8dd7541d5f00dbd8ec7ffce37dab1a398d914a19c04f4005ec53206bbd
4
+ data.tar.gz: a6f63d4162d5e539ad5ba4bd6bf0075c2e7b8d27b14090a41c2a6a6882246660
5
5
  SHA512:
6
- metadata.gz: 740038bbd4dee2ca57f46e8a8fdbab30124b9518a5ede0d4788f08413acfed6ae325c6b06f42c8ac062ab7f6380ce5bee88307bbdda0ab76bf6603fd8a2d8fab
7
- data.tar.gz: 6ea8764ff08a7a06a25210dd1f68ea49e2889bb46b6582eed5ff2bb018491a134dc17c931128f45b8e883c6e104c6b2c5f132b03e7c75484cb69d579a9f9c156
6
+ metadata.gz: bb1658b52163c6e7cfcd933d2edea3e9052a49f44b401d4750a9968be5701bcee94e1439edb8ae6e3abe42ba697c5a4788c16184ff7bdd917e1d5e52bede6db1
7
+ data.tar.gz: 7b3060171334a765b030e17363576eabc013f6e0fbfeb1290c5aeb471dd7dad760a7a122d63ad27c7f7dd76e7b4d5c35d87fe442e60dc526383894601f38f6bd
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Spanner
23
23
  module V1
24
- VERSION = "1.6.0"
24
+ VERSION = "1.7.0"
25
25
  end
26
26
  end
27
27
  end
@@ -11,7 +11,7 @@ require 'google/spanner/v1/transaction_pb'
11
11
  require 'google/spanner/v1/type_pb'
12
12
 
13
13
 
14
- descriptor_data = "\n\"google/spanner/v1/result_set.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\"google/spanner/v1/query_plan.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\xf2\x01\n\tResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12(\n\x04rows\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12\x30\n\x05stats\x18\x03 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats\x12Q\n\x0fprecommit_token\x18\x05 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\"\xa4\x02\n\x10PartialResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12&\n\x06values\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Value\x12\x15\n\rchunked_value\x18\x03 \x01(\x08\x12\x14\n\x0cresume_token\x18\x04 \x01(\x0c\x12\x30\n\x05stats\x18\x05 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats\x12Q\n\x0fprecommit_token\x18\x08 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\"\xb7\x01\n\x11ResultSetMetadata\x12/\n\x08row_type\x18\x01 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction\x12<\n\x15undeclared_parameters\x18\x03 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\"\xb9\x01\n\x0eResultSetStats\x12\x30\n\nquery_plan\x18\x01 \x01(\x0b\x32\x1c.google.spanner.v1.QueryPlan\x12,\n\x0bquery_stats\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x19\n\x0frow_count_exact\x18\x03 \x01(\x03H\x00\x12\x1f\n\x15row_count_lower_bound\x18\x04 \x01(\x03H\x00\x42\x0b\n\trow_countB\xb4\x01\n\x15\x63om.google.spanner.v1B\x0eResultSetProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xf8\x01\x01\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3"
14
+ descriptor_data = "\n\"google/spanner/v1/result_set.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\"google/spanner/v1/query_plan.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\xf2\x01\n\tResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12(\n\x04rows\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12\x30\n\x05stats\x18\x03 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats\x12Q\n\x0fprecommit_token\x18\x05 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\"\xb7\x02\n\x10PartialResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12&\n\x06values\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Value\x12\x15\n\rchunked_value\x18\x03 \x01(\x08\x12\x14\n\x0cresume_token\x18\x04 \x01(\x0c\x12\x30\n\x05stats\x18\x05 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats\x12Q\n\x0fprecommit_token\x18\x08 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\x12\x11\n\x04last\x18\t \x01(\x08\x42\x03\xe0\x41\x01\"\xb7\x01\n\x11ResultSetMetadata\x12/\n\x08row_type\x18\x01 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction\x12<\n\x15undeclared_parameters\x18\x03 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\"\xb9\x01\n\x0eResultSetStats\x12\x30\n\nquery_plan\x18\x01 \x01(\x0b\x32\x1c.google.spanner.v1.QueryPlan\x12,\n\x0bquery_stats\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x19\n\x0frow_count_exact\x18\x03 \x01(\x03H\x00\x12\x1f\n\x15row_count_lower_bound\x18\x04 \x01(\x03H\x00\x42\x0b\n\trow_countB\xb1\x01\n\x15\x63om.google.spanner.v1B\x0eResultSetProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3"
15
15
 
16
16
  pool = Google::Protobuf::DescriptorPool.generated_pool
17
17
 
@@ -9,7 +9,7 @@ require 'google/protobuf/duration_pb'
9
9
  require 'google/protobuf/timestamp_pb'
10
10
 
11
11
 
12
- descriptor_data = "\n#google/spanner/v1/transaction.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xce\x06\n\x12TransactionOptions\x12\x45\n\nread_write\x18\x01 \x01(\x0b\x32/.google.spanner.v1.TransactionOptions.ReadWriteH\x00\x12O\n\x0fpartitioned_dml\x18\x03 \x01(\x0b\x32\x34.google.spanner.v1.TransactionOptions.PartitionedDmlH\x00\x12\x43\n\tread_only\x18\x02 \x01(\x0b\x32..google.spanner.v1.TransactionOptions.ReadOnlyH\x00\x12\'\n\x1f\x65xclude_txn_from_change_streams\x18\x05 \x01(\x08\x1a\xec\x01\n\tReadWrite\x12T\n\x0eread_lock_mode\x18\x01 \x01(\x0e\x32<.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode\x12\x38\n+multiplexed_session_previous_transaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\"O\n\x0cReadLockMode\x12\x1e\n\x1aREAD_LOCK_MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPESSIMISTIC\x10\x01\x12\x0e\n\nOPTIMISTIC\x10\x02\x1a\x10\n\x0ePartitionedDml\x1a\xa8\x02\n\x08ReadOnly\x12\x10\n\x06strong\x18\x01 \x01(\x08H\x00\x12\x38\n\x12min_read_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x32\n\rmax_staleness\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x34\n\x0eread_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x34\n\x0f\x65xact_staleness\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1d\n\x15return_read_timestamp\x18\x06 \x01(\x08\x42\x11\n\x0ftimestamp_boundB\x06\n\x04mode\"\x9b\x01\n\x0bTransaction\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x32\n\x0eread_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12L\n\x0fprecommit_token\x18\x03 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitToken\"\xa4\x01\n\x13TransactionSelector\x12;\n\nsingle_use\x18\x01 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12\x0c\n\x02id\x18\x02 \x01(\x0cH\x00\x12\x36\n\x05\x62\x65gin\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x42\n\n\x08selector\"L\n MultiplexedSessionPrecommitToken\x12\x17\n\x0fprecommit_token\x18\x01 \x01(\x0c\x12\x0f\n\x07seq_num\x18\x02 \x01(\x05\x42\xb3\x01\n\x15\x63om.google.spanner.v1B\x10TransactionProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3"
12
+ descriptor_data = "\n#google/spanner/v1/transaction.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf7\x07\n\x12TransactionOptions\x12\x45\n\nread_write\x18\x01 \x01(\x0b\x32/.google.spanner.v1.TransactionOptions.ReadWriteH\x00\x12O\n\x0fpartitioned_dml\x18\x03 \x01(\x0b\x32\x34.google.spanner.v1.TransactionOptions.PartitionedDmlH\x00\x12\x43\n\tread_only\x18\x02 \x01(\x0b\x32..google.spanner.v1.TransactionOptions.ReadOnlyH\x00\x12\'\n\x1f\x65xclude_txn_from_change_streams\x18\x05 \x01(\x08\x12M\n\x0fisolation_level\x18\x06 \x01(\x0e\x32\x34.google.spanner.v1.TransactionOptions.IsolationLevel\x1a\xec\x01\n\tReadWrite\x12T\n\x0eread_lock_mode\x18\x01 \x01(\x0e\x32<.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode\x12\x38\n+multiplexed_session_previous_transaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\"O\n\x0cReadLockMode\x12\x1e\n\x1aREAD_LOCK_MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPESSIMISTIC\x10\x01\x12\x0e\n\nOPTIMISTIC\x10\x02\x1a\x10\n\x0ePartitionedDml\x1a\xa8\x02\n\x08ReadOnly\x12\x10\n\x06strong\x18\x01 \x01(\x08H\x00\x12\x38\n\x12min_read_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x32\n\rmax_staleness\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x34\n\x0eread_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x34\n\x0f\x65xact_staleness\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1d\n\x15return_read_timestamp\x18\x06 \x01(\x08\x42\x11\n\x0ftimestamp_bound\"X\n\x0eIsolationLevel\x12\x1f\n\x1bISOLATION_LEVEL_UNSPECIFIED\x10\x00\x12\x10\n\x0cSERIALIZABLE\x10\x01\x12\x13\n\x0fREPEATABLE_READ\x10\x02\x42\x06\n\x04mode\"\x9b\x01\n\x0bTransaction\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x32\n\x0eread_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12L\n\x0fprecommit_token\x18\x03 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitToken\"\xa4\x01\n\x13TransactionSelector\x12;\n\nsingle_use\x18\x01 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12\x0c\n\x02id\x18\x02 \x01(\x0cH\x00\x12\x36\n\x05\x62\x65gin\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x42\n\n\x08selector\"L\n MultiplexedSessionPrecommitToken\x12\x17\n\x0fprecommit_token\x18\x01 \x01(\x0c\x12\x0f\n\x07seq_num\x18\x02 \x01(\x05\x42\xb3\x01\n\x15\x63om.google.spanner.v1B\x10TransactionProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3"
13
13
 
14
14
  pool = Google::Protobuf::DescriptorPool.generated_pool
15
15
 
@@ -46,6 +46,7 @@ module Google
46
46
  TransactionOptions::ReadWrite::ReadLockMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode").enummodule
47
47
  TransactionOptions::PartitionedDml = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions.PartitionedDml").msgclass
48
48
  TransactionOptions::ReadOnly = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions.ReadOnly").msgclass
49
+ TransactionOptions::IsolationLevel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionOptions.IsolationLevel").enummodule
49
50
  Transaction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Transaction").msgclass
50
51
  TransactionSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.TransactionSelector").msgclass
51
52
  MultiplexedSessionPrecommitToken = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.MultiplexedSessionPrecommitToken").msgclass
@@ -221,6 +221,12 @@ module Google
221
221
  # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
222
  # enabled by default 1 month after launching the feature in preview
223
223
  # packages.
224
+ # @!attribute [rw] unversioned_package_disabled
225
+ # @return [::Boolean]
226
+ # Disables generation of an unversioned Python package for this client
227
+ # library. This means that the module names will need to be versioned in
228
+ # import statements. For example `import google.cloud.library_v2` instead
229
+ # of `import google.cloud.library`.
224
230
  class ExperimentalFeatures
225
231
  include ::Google::Protobuf::MessageExts
226
232
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -409,6 +415,14 @@ module Google
409
415
  # @return [::Array<::String>]
410
416
  # An allowlist of the fully qualified names of RPCs that should be included
411
417
  # on public client surfaces.
418
+ # @!attribute [rw] generate_omitted_as_internal
419
+ # @return [::Boolean]
420
+ # Setting this to true indicates to the client generators that methods
421
+ # that would be excluded from the generation should instead be generated
422
+ # in a way that indicates these methods should not be consumed by
423
+ # end users. How this is expressed is up to individual language
424
+ # implementations to decide. Some examples may be: added annotations,
425
+ # obfuscated identifiers, or other language idiomatic patterns.
412
426
  class SelectiveGapicGeneration
413
427
  include ::Google::Protobuf::MessageExts
414
428
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -29,11 +29,10 @@ module Google
29
29
  # @!attribute [rw] rows
30
30
  # @return [::Array<::Google::Protobuf::ListValue>]
31
31
  # Each element in `rows` is a row whose format is defined by
32
- # {::Google::Cloud::Spanner::V1::ResultSetMetadata#row_type metadata.row_type}. The ith element
33
- # in each row matches the ith field in
34
- # {::Google::Cloud::Spanner::V1::ResultSetMetadata#row_type metadata.row_type}. Elements are
35
- # encoded based on type as described
36
- # {::Google::Cloud::Spanner::V1::TypeCode here}.
32
+ # {::Google::Cloud::Spanner::V1::ResultSetMetadata#row_type metadata.row_type}. The ith
33
+ # element in each row matches the ith field in
34
+ # {::Google::Cloud::Spanner::V1::ResultSetMetadata#row_type metadata.row_type}. Elements
35
+ # are encoded based on type as described {::Google::Cloud::Spanner::V1::TypeCode here}.
37
36
  # @!attribute [rw] stats
38
37
  # @return [::Google::Cloud::Spanner::V1::ResultSetStats]
39
38
  # Query plan and execution statistics for the SQL statement that
@@ -41,18 +40,16 @@ module Google
41
40
  # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode ExecuteSqlRequest.query_mode}.
42
41
  # DML statements always produce stats containing the number of rows
43
42
  # modified, unless executed using the
44
- # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode::PLAN ExecuteSqlRequest.QueryMode.PLAN} {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode ExecuteSqlRequest.query_mode}.
45
- # Other fields may or may not be populated, based on the
43
+ # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode::PLAN ExecuteSqlRequest.QueryMode.PLAN}
44
+ # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode ExecuteSqlRequest.query_mode}.
45
+ # Other fields might or might not be populated, based on the
46
46
  # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode ExecuteSqlRequest.query_mode}.
47
47
  # @!attribute [rw] precommit_token
48
48
  # @return [::Google::Cloud::Spanner::V1::MultiplexedSessionPrecommitToken]
49
- # Optional. A precommit token will be included if the read-write transaction
50
- # is on a multiplexed session.
51
- # The precommit token with the highest sequence number from this transaction
52
- # attempt should be passed to the
49
+ # Optional. A precommit token is included if the read-write transaction is on
50
+ # a multiplexed session. Pass the precommit token with the highest sequence
51
+ # number from this transaction attempt to the
53
52
  # {::Google::Cloud::Spanner::V1::Spanner::Client#commit Commit} request for this transaction.
54
- # This feature is not yet supported and will result in an UNIMPLEMENTED
55
- # error.
56
53
  class ResultSet
57
54
  include ::Google::Protobuf::MessageExts
58
55
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -76,13 +73,14 @@ module Google
76
73
  # Most values are encoded based on type as described
77
74
  # {::Google::Cloud::Spanner::V1::TypeCode here}.
78
75
  #
79
- # It is possible that the last value in values is "chunked",
76
+ # It's possible that the last value in values is "chunked",
80
77
  # meaning that the rest of the value is sent in subsequent
81
- # `PartialResultSet`(s). This is denoted by the {::Google::Cloud::Spanner::V1::PartialResultSet#chunked_value chunked_value}
82
- # field. Two or more chunked values can be merged to form a
83
- # complete value as follows:
78
+ # `PartialResultSet`(s). This is denoted by the
79
+ # {::Google::Cloud::Spanner::V1::PartialResultSet#chunked_value chunked_value} field.
80
+ # Two or more chunked values can be merged to form a complete value as
81
+ # follows:
84
82
  #
85
- # * `bool/number/null`: cannot be chunked
83
+ # * `bool/number/null`: can't be chunked
86
84
  # * `string`: concatenate the strings
87
85
  # * `list`: concatenate the lists. If the last element in a list is a
88
86
  # `string`, `list`, or `object`, merge it with the first element in
@@ -93,28 +91,28 @@ module Google
93
91
  #
94
92
  # Some examples of merging:
95
93
  #
96
- # # Strings are concatenated.
94
+ # Strings are concatenated.
97
95
  # "foo", "bar" => "foobar"
98
96
  #
99
- # # Lists of non-strings are concatenated.
97
+ # Lists of non-strings are concatenated.
100
98
  # [2, 3], [4] => [2, 3, 4]
101
99
  #
102
- # # Lists are concatenated, but the last and first elements are merged
103
- # # because they are strings.
100
+ # Lists are concatenated, but the last and first elements are merged
101
+ # because they are strings.
104
102
  # ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
105
103
  #
106
- # # Lists are concatenated, but the last and first elements are merged
107
- # # because they are lists. Recursively, the last and first elements
108
- # # of the inner lists are merged because they are strings.
104
+ # Lists are concatenated, but the last and first elements are merged
105
+ # because they are lists. Recursively, the last and first elements
106
+ # of the inner lists are merged because they are strings.
109
107
  # ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
110
108
  #
111
- # # Non-overlapping object fields are combined.
109
+ # Non-overlapping object fields are combined.
112
110
  # {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
113
111
  #
114
- # # Overlapping object fields are merged.
112
+ # Overlapping object fields are merged.
115
113
  # {"a": "1"}, {"a": "2"} => {"a": "12"}
116
114
  #
117
- # # Examples of merging objects containing lists of strings.
115
+ # Examples of merging objects containing lists of strings.
118
116
  # {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
119
117
  #
120
118
  # For a more complete example, suppose a streaming SQL query is
@@ -130,7 +128,6 @@ module Google
130
128
  # {
131
129
  # "values": ["orl"]
132
130
  # "chunked_value": true
133
- # "resume_token": "Bqp2..."
134
131
  # }
135
132
  # {
136
133
  # "values": ["d"]
@@ -140,11 +137,17 @@ module Google
140
137
  # This sequence of `PartialResultSet`s encodes two rows, one
141
138
  # containing the field value `"Hello"`, and a second containing the
142
139
  # field value `"World" = "W" + "orl" + "d"`.
140
+ #
141
+ # Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
142
+ # resumed from a previously yielded `resume_token`. For the above sequence of
143
+ # `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
144
+ # yields results from the `PartialResultSet` with value "orl".
143
145
  # @!attribute [rw] chunked_value
144
146
  # @return [::Boolean]
145
- # If true, then the final value in {::Google::Cloud::Spanner::V1::PartialResultSet#values values} is chunked, and must
146
- # be combined with more values from subsequent `PartialResultSet`s
147
- # to obtain a complete field value.
147
+ # If true, then the final value in
148
+ # {::Google::Cloud::Spanner::V1::PartialResultSet#values values} is chunked, and must be
149
+ # combined with more values from subsequent `PartialResultSet`s to obtain a
150
+ # complete field value.
148
151
  # @!attribute [rw] resume_token
149
152
  # @return [::String]
150
153
  # Streaming calls might be interrupted for a variety of reasons, such
@@ -156,29 +159,31 @@ module Google
156
159
  # @return [::Google::Cloud::Spanner::V1::ResultSetStats]
157
160
  # Query plan and execution statistics for the statement that produced this
158
161
  # streaming result set. These can be requested by setting
159
- # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode ExecuteSqlRequest.query_mode} and are sent
160
- # only once with the last response in the stream.
161
- # This field will also be present in the last response for DML
162
- # statements.
162
+ # {::Google::Cloud::Spanner::V1::ExecuteSqlRequest#query_mode ExecuteSqlRequest.query_mode}
163
+ # and are sent only once with the last response in the stream. This field is
164
+ # also present in the last response for DML statements.
163
165
  # @!attribute [rw] precommit_token
164
166
  # @return [::Google::Cloud::Spanner::V1::MultiplexedSessionPrecommitToken]
165
- # Optional. A precommit token will be included if the read-write transaction
166
- # is on a multiplexed session.
167
- # The precommit token with the highest sequence number from this transaction
168
- # attempt should be passed to the
167
+ # Optional. A precommit token is included if the read-write transaction
168
+ # has multiplexed sessions enabled. Pass the precommit token with the highest
169
+ # sequence number from this transaction attempt to the
169
170
  # {::Google::Cloud::Spanner::V1::Spanner::Client#commit Commit} request for this transaction.
170
- # This feature is not yet supported and will result in an UNIMPLEMENTED
171
- # error.
171
+ # @!attribute [rw] last
172
+ # @return [::Boolean]
173
+ # Optional. Indicates whether this is the last `PartialResultSet` in the
174
+ # stream. The server might optionally set this field. Clients shouldn't rely
175
+ # on this field being set in all cases.
172
176
  class PartialResultSet
173
177
  include ::Google::Protobuf::MessageExts
174
178
  extend ::Google::Protobuf::MessageExts::ClassMethods
175
179
  end
176
180
 
177
- # Metadata about a {::Google::Cloud::Spanner::V1::ResultSet ResultSet} or {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet}.
181
+ # Metadata about a {::Google::Cloud::Spanner::V1::ResultSet ResultSet} or
182
+ # {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet}.
178
183
  # @!attribute [rw] row_type
179
184
  # @return [::Google::Cloud::Spanner::V1::StructType]
180
185
  # Indicates the field names and types for the rows in the result
181
- # set. For example, a SQL query like `"SELECT UserId, UserName FROM
186
+ # set. For example, a SQL query like `"SELECT UserId, UserName FROM
182
187
  # Users"` could return a `row_type` value like:
183
188
  #
184
189
  # "fields": [
@@ -206,10 +211,12 @@ module Google
206
211
  extend ::Google::Protobuf::MessageExts::ClassMethods
207
212
  end
208
213
 
209
- # Additional statistics about a {::Google::Cloud::Spanner::V1::ResultSet ResultSet} or {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet}.
214
+ # Additional statistics about a {::Google::Cloud::Spanner::V1::ResultSet ResultSet} or
215
+ # {::Google::Cloud::Spanner::V1::PartialResultSet PartialResultSet}.
210
216
  # @!attribute [rw] query_plan
211
217
  # @return [::Google::Cloud::Spanner::V1::QueryPlan]
212
- # {::Google::Cloud::Spanner::V1::QueryPlan QueryPlan} for the query associated with this result.
218
+ # {::Google::Cloud::Spanner::V1::QueryPlan QueryPlan} for the query associated with this
219
+ # result.
213
220
  # @!attribute [rw] query_stats
214
221
  # @return [::Google::Protobuf::Struct]
215
222
  # Aggregated statistics from the execution of the query. Only present when
@@ -228,7 +235,7 @@ module Google
228
235
  # Note: The following fields are mutually exclusive: `row_count_exact`, `row_count_lower_bound`. If a field in that set is populated, all other fields in the set will automatically be cleared.
229
236
  # @!attribute [rw] row_count_lower_bound
230
237
  # @return [::Integer]
231
- # Partitioned DML does not offer exactly-once semantics, so it
238
+ # Partitioned DML doesn't offer exactly-once semantics, so it
232
239
  # returns a lower bound of the rows modified.
233
240
  #
234
241
  # Note: The following fields are mutually exclusive: `row_count_lower_bound`, `row_count_exact`. If a field in that set is populated, all other fields in the set will automatically be cleared.
@@ -388,6 +388,9 @@ module Google
388
388
  # `exclude_txn_from_change_streams` may only be specified for read-write or
389
389
  # partitioned-dml transactions, otherwise the API will return an
390
390
  # `INVALID_ARGUMENT` error.
391
+ # @!attribute [rw] isolation_level
392
+ # @return [::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel]
393
+ # Isolation level for the transaction.
391
394
  class TransactionOptions
392
395
  include ::Google::Protobuf::MessageExts
393
396
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -413,12 +416,23 @@ module Google
413
416
  module ReadLockMode
414
417
  # Default value.
415
418
  #
416
- # If the value is not specified, the pessimistic read lock is used.
419
+ # * If isolation level is `REPEATABLE_READ`, then it is an error to
420
+ # specify `read_lock_mode`. Locking semantics default to `OPTIMISTIC`.
421
+ # No validation checks are done for reads, except for:
422
+ # 1. reads done as part of queries that use `SELECT FOR UPDATE`
423
+ # 2. reads done as part of statements with a `LOCK_SCANNED_RANGES`
424
+ # hint
425
+ # 3. reads done as part of DML statements
426
+ # to validate that the data that was served at the snapshot time is
427
+ # unchanged at commit time.
428
+ # * At all other isolation levels, if `read_lock_mode` is the default
429
+ # value, then pessimistic read lock is used.
417
430
  READ_LOCK_MODE_UNSPECIFIED = 0
418
431
 
419
432
  # Pessimistic lock mode.
420
433
  #
421
434
  # Read locks are acquired immediately on read.
435
+ # Semantics described only applies to `SERIALIZABLE` isolation.
422
436
  PESSIMISTIC = 1
423
437
 
424
438
  # Optimistic lock mode.
@@ -426,6 +440,7 @@ module Google
426
440
  # Locks for reads within the transaction are not acquired on read.
427
441
  # Instead the locks are acquired on a commit to validate that
428
442
  # read/queried data has not changed since the transaction started.
443
+ # Semantics described only applies to `SERIALIZABLE` isolation.
429
444
  OPTIMISTIC = 2
430
445
  end
431
446
  end
@@ -514,6 +529,38 @@ module Google
514
529
  include ::Google::Protobuf::MessageExts
515
530
  extend ::Google::Protobuf::MessageExts::ClassMethods
516
531
  end
532
+
533
+ # `IsolationLevel` is used when setting `isolation_level` for a transaction.
534
+ module IsolationLevel
535
+ # Default value.
536
+ #
537
+ # If the value is not specified, the `SERIALIZABLE` isolation level is
538
+ # used.
539
+ ISOLATION_LEVEL_UNSPECIFIED = 0
540
+
541
+ # All transactions appear as if they executed in a serial order, even if
542
+ # some of the reads, writes, and other operations of distinct transactions
543
+ # actually occurred in parallel. Spanner assigns commit timestamps that
544
+ # reflect the order of committed transactions to implement this property.
545
+ # Spanner offers a stronger guarantee than serializability called external
546
+ # consistency. For further details, please refer to
547
+ # https://cloud.google.com/spanner/docs/true-time-external-consistency#serializability.
548
+ SERIALIZABLE = 1
549
+
550
+ # All reads performed during the transaction observe a consistent snapshot
551
+ # of the database, and the transaction will only successfully commit in the
552
+ # absence of conflicts between its updates and any concurrent updates that
553
+ # have occurred since that snapshot. Consequently, in contrast to
554
+ # `SERIALIZABLE` transactions, only write-write conflicts are detected in
555
+ # snapshot transactions.
556
+ #
557
+ # This isolation level does not support Read-only and Partitioned DML
558
+ # transactions.
559
+ #
560
+ # When `REPEATABLE_READ` is specified on a read-write transaction, the
561
+ # locking semantics default to `OPTIMISTIC`.
562
+ REPEATABLE_READ = 2
563
+ end
517
564
  end
518
565
 
519
566
  # A transaction.
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-spanner-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-29 00:00:00.000000000 Z
10
+ date: 2025-02-25 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: gapic-common
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
- rubygems_version: 3.6.2
112
+ rubygems_version: 3.6.5
113
113
  specification_version: 4
114
114
  summary: Cloud Spanner is a managed, mission-critical, globally consistent and scalable
115
115
  relational database service.