google-cloud-spanner-v1 0.26.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f95a0531596ee12f0458fcc7d186cc96873316fbf18ac0fe073533e82e7e3e4e
4
- data.tar.gz: b045a333c228c8304b617ace757c634cc5fc8cf70daf92961e2bfc1ef7de9b55
3
+ metadata.gz: 3de91d70197f20bb4e8a166132aafd07665288f25bb415e3634f620bdb82a650
4
+ data.tar.gz: fa03fd77c09003a0e0f917f0ad3b0f384e4aa2fec908b8b4de7450ee370c2e90
5
5
  SHA512:
6
- metadata.gz: 6d73c94910624ca990ad1517c0260788f3196ae852a5702b14b14e4e1be6b61311c79bd6712b10c56981b92d3e2d77593c1ef2ad0942180eac0f004586e50f63
7
- data.tar.gz: 84ff8fea14fa5e784284de24d273c428d42845e46fa4dc26e44f079802e7fd4e02707523290b542d151f4a01429cc93da4bb78a1cf752e8398059b1367df484f
6
+ metadata.gz: 6daf1eda9121e736946e5c292e06f1167030807a4fcaeebeb23e68191572ce7949ec58acb0a264926725065845ae209c1cae6913e7967edb17b637d5cc996bce
7
+ data.tar.gz: 5fef422f32c4f660508bbd1ff6b8937f3d1a3fc95ae17652b82e873f44dd1fdcf4b37d1accdbf63217e0f33a9d0acb3c950f36a61e2fba8f6411dc532ea4007c
@@ -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
+ API_VERSION = ""
38
+
36
39
  # @private
37
40
  DEFAULT_ENDPOINT_TEMPLATE = "spanner.$UNIVERSE_DOMAIN$"
38
41
 
@@ -309,10 +312,11 @@ module Google
309
312
  # Customize the options with defaults
310
313
  metadata = @config.rpcs.create_session.metadata.to_h
311
314
 
312
- # Set x-goog-api-client and x-goog-user-project headers
315
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
313
316
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
314
317
  lib_name: @config.lib_name, lib_version: @config.lib_version,
315
318
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
319
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
316
320
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
317
321
 
318
322
  header_params = {}
@@ -406,10 +410,11 @@ module Google
406
410
  # Customize the options with defaults
407
411
  metadata = @config.rpcs.batch_create_sessions.metadata.to_h
408
412
 
409
- # Set x-goog-api-client and x-goog-user-project headers
413
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
410
414
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
411
415
  lib_name: @config.lib_name, lib_version: @config.lib_version,
412
416
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
417
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
413
418
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
414
419
 
415
420
  header_params = {}
@@ -493,10 +498,11 @@ module Google
493
498
  # Customize the options with defaults
494
499
  metadata = @config.rpcs.get_session.metadata.to_h
495
500
 
496
- # Set x-goog-api-client and x-goog-user-project headers
501
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
497
502
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
498
503
  lib_name: @config.lib_name, lib_version: @config.lib_version,
499
504
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
505
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
500
506
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
501
507
 
502
508
  header_params = {}
@@ -601,10 +607,11 @@ module Google
601
607
  # Customize the options with defaults
602
608
  metadata = @config.rpcs.list_sessions.metadata.to_h
603
609
 
604
- # Set x-goog-api-client and x-goog-user-project headers
610
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
605
611
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
606
612
  lib_name: @config.lib_name, lib_version: @config.lib_version,
607
613
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
614
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
608
615
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
609
616
 
610
617
  header_params = {}
@@ -689,10 +696,11 @@ module Google
689
696
  # Customize the options with defaults
690
697
  metadata = @config.rpcs.delete_session.metadata.to_h
691
698
 
692
- # Set x-goog-api-client and x-goog-user-project headers
699
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
693
700
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
694
701
  lib_name: @config.lib_name, lib_version: @config.lib_version,
695
702
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
703
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
696
704
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
697
705
 
698
706
  header_params = {}
@@ -865,10 +873,11 @@ module Google
865
873
  # Customize the options with defaults
866
874
  metadata = @config.rpcs.execute_sql.metadata.to_h
867
875
 
868
- # Set x-goog-api-client and x-goog-user-project headers
876
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
869
877
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
870
878
  lib_name: @config.lib_name, lib_version: @config.lib_version,
871
879
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
880
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
872
881
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
873
882
 
874
883
  header_params = {}
@@ -1036,10 +1045,11 @@ module Google
1036
1045
  # Customize the options with defaults
1037
1046
  metadata = @config.rpcs.execute_streaming_sql.metadata.to_h
1038
1047
 
1039
- # Set x-goog-api-client and x-goog-user-project headers
1048
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1040
1049
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1041
1050
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1042
1051
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1052
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1043
1053
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1044
1054
 
1045
1055
  header_params = {}
@@ -1156,10 +1166,11 @@ module Google
1156
1166
  # Customize the options with defaults
1157
1167
  metadata = @config.rpcs.execute_batch_dml.metadata.to_h
1158
1168
 
1159
- # Set x-goog-api-client and x-goog-user-project headers
1169
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1160
1170
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1161
1171
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1162
1172
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1173
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1163
1174
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1164
1175
 
1165
1176
  header_params = {}
@@ -1212,7 +1223,7 @@ module Google
1212
1223
  # @param options [::Gapic::CallOptions, ::Hash]
1213
1224
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1214
1225
  #
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)
1226
+ # @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, order_by: nil, lock_hint: nil)
1216
1227
  # Pass arguments to `read` via keyword arguments. Note that at
1217
1228
  # least one keyword argument is required. To specify no parameters, or to keep all
1218
1229
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1277,6 +1288,17 @@ module Google
1277
1288
  #
1278
1289
  # If the field is set to `true` but the request does not set
1279
1290
  # `partition_token`, the API returns an `INVALID_ARGUMENT` error.
1291
+ # @param order_by [::Google::Cloud::Spanner::V1::ReadRequest::OrderBy]
1292
+ # Optional. Order for the returned rows.
1293
+ #
1294
+ # By default, Spanner will return result rows in primary key order except for
1295
+ # PartitionRead requests. For applications that do not require rows to be
1296
+ # returned in primary key (`ORDER_BY_PRIMARY_KEY`) order, setting
1297
+ # `ORDER_BY_NO_ORDER` option allows Spanner to optimize row retrieval,
1298
+ # resulting in lower latencies in certain cases (e.g. bulk point lookups).
1299
+ # @param lock_hint [::Google::Cloud::Spanner::V1::ReadRequest::LockHint]
1300
+ # Optional. Lock Hint for the request, it can only be used with read-write
1301
+ # transactions.
1280
1302
  #
1281
1303
  # @yield [response, operation] Access the result along with the RPC operation
1282
1304
  # @yieldparam response [::Google::Cloud::Spanner::V1::ResultSet]
@@ -1312,10 +1334,11 @@ module Google
1312
1334
  # Customize the options with defaults
1313
1335
  metadata = @config.rpcs.read.metadata.to_h
1314
1336
 
1315
- # Set x-goog-api-client and x-goog-user-project headers
1337
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1316
1338
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1317
1339
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1318
1340
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1341
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1319
1342
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1320
1343
 
1321
1344
  header_params = {}
@@ -1359,7 +1382,7 @@ module Google
1359
1382
  # @param options [::Gapic::CallOptions, ::Hash]
1360
1383
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1361
1384
  #
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)
1385
+ # @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, order_by: nil, lock_hint: nil)
1363
1386
  # Pass arguments to `streaming_read` via keyword arguments. Note that at
1364
1387
  # least one keyword argument is required. To specify no parameters, or to keep all
1365
1388
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1424,6 +1447,17 @@ module Google
1424
1447
  #
1425
1448
  # If the field is set to `true` but the request does not set
1426
1449
  # `partition_token`, the API returns an `INVALID_ARGUMENT` error.
1450
+ # @param order_by [::Google::Cloud::Spanner::V1::ReadRequest::OrderBy]
1451
+ # Optional. Order for the returned rows.
1452
+ #
1453
+ # By default, Spanner will return result rows in primary key order except for
1454
+ # PartitionRead requests. For applications that do not require rows to be
1455
+ # returned in primary key (`ORDER_BY_PRIMARY_KEY`) order, setting
1456
+ # `ORDER_BY_NO_ORDER` option allows Spanner to optimize row retrieval,
1457
+ # resulting in lower latencies in certain cases (e.g. bulk point lookups).
1458
+ # @param lock_hint [::Google::Cloud::Spanner::V1::ReadRequest::LockHint]
1459
+ # Optional. Lock Hint for the request, it can only be used with read-write
1460
+ # transactions.
1427
1461
  #
1428
1462
  # @yield [response, operation] Access the result along with the RPC operation
1429
1463
  # @yieldparam response [::Enumerable<::Google::Cloud::Spanner::V1::PartialResultSet>]
@@ -1462,10 +1496,11 @@ module Google
1462
1496
  # Customize the options with defaults
1463
1497
  metadata = @config.rpcs.streaming_read.metadata.to_h
1464
1498
 
1465
- # Set x-goog-api-client and x-goog-user-project headers
1499
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1466
1500
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1467
1501
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1468
1502
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1503
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1469
1504
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1470
1505
 
1471
1506
  header_params = {}
@@ -1559,10 +1594,11 @@ module Google
1559
1594
  # Customize the options with defaults
1560
1595
  metadata = @config.rpcs.begin_transaction.metadata.to_h
1561
1596
 
1562
- # Set x-goog-api-client and x-goog-user-project headers
1597
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1563
1598
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1564
1599
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1565
1600
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1601
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1566
1602
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1567
1603
 
1568
1604
  header_params = {}
@@ -1685,10 +1721,11 @@ module Google
1685
1721
  # Customize the options with defaults
1686
1722
  metadata = @config.rpcs.commit.metadata.to_h
1687
1723
 
1688
- # Set x-goog-api-client and x-goog-user-project headers
1724
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1689
1725
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1690
1726
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1691
1727
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1728
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1692
1729
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1693
1730
 
1694
1731
  header_params = {}
@@ -1780,10 +1817,11 @@ module Google
1780
1817
  # Customize the options with defaults
1781
1818
  metadata = @config.rpcs.rollback.metadata.to_h
1782
1819
 
1783
- # Set x-goog-api-client and x-goog-user-project headers
1820
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1784
1821
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1785
1822
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1786
1823
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1824
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1787
1825
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1788
1826
 
1789
1827
  header_params = {}
@@ -1917,10 +1955,11 @@ module Google
1917
1955
  # Customize the options with defaults
1918
1956
  metadata = @config.rpcs.partition_query.metadata.to_h
1919
1957
 
1920
- # Set x-goog-api-client and x-goog-user-project headers
1958
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1921
1959
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1922
1960
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1923
1961
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
1962
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1924
1963
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1925
1964
 
1926
1965
  header_params = {}
@@ -2043,10 +2082,11 @@ module Google
2043
2082
  # Customize the options with defaults
2044
2083
  metadata = @config.rpcs.partition_read.metadata.to_h
2045
2084
 
2046
- # Set x-goog-api-client and x-goog-user-project headers
2085
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2047
2086
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2048
2087
  lib_name: @config.lib_name, lib_version: @config.lib_version,
2049
2088
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
2089
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2050
2090
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2051
2091
 
2052
2092
  header_params = {}
@@ -2162,10 +2202,11 @@ module Google
2162
2202
  # Customize the options with defaults
2163
2203
  metadata = @config.rpcs.batch_write.metadata.to_h
2164
2204
 
2165
- # Set x-goog-api-client and x-goog-user-project headers
2205
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2166
2206
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2167
2207
  lib_name: @config.lib_name, lib_version: @config.lib_version,
2168
2208
  gapic_version: ::Google::Cloud::Spanner::V1::VERSION
2209
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2169
2210
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2170
2211
 
2171
2212
  header_params = {}
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Spanner
23
23
  module V1
24
- VERSION = "0.26.0"
24
+ VERSION = "0.27.0"
25
25
  end
26
26
  end
27
27
  end
@@ -21,7 +21,7 @@ require 'google/spanner/v1/transaction_pb'
21
21
  require 'google/spanner/v1/type_pb'
22
22
 
23
23
 
24
- descriptor_data = "\n\x1fgoogle/spanner/v1/spanner.proto\x12\x11google.spanner.v1\x1a\'google/spanner/v1/commit_response.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1cgoogle/spanner/v1/keys.proto\x1a google/spanner/v1/mutation.proto\x1a\"google/spanner/v1/result_set.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\x83\x01\n\x14\x43reateSessionRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x30\n\x07session\x18\x02 \x01(\x0b\x32\x1a.google.spanner.v1.SessionB\x03\xe0\x41\x02\"\xa9\x01\n\x1a\x42\x61tchCreateSessionsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x34\n\x10session_template\x18\x02 \x01(\x0b\x32\x1a.google.spanner.v1.Session\x12\x1a\n\rsession_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"J\n\x1b\x42\x61tchCreateSessionsResponse\x12+\n\x07session\x18\x01 \x03(\x0b\x32\x1a.google.spanner.v1.Session\"\xa3\x03\n\x07Session\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x36\n\x06labels\x18\x02 \x03(\x0b\x32&.google.spanner.v1.Session.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x19\x61pproximate_last_use_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x14\n\x0c\x63reator_role\x18\x05 \x01(\t\x12\x18\n\x0bmultiplexed\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:t\xea\x41q\n\x1espanner.googleapis.com/Session\x12Oprojects/{project}/instances/{instance}/databases/{database}/sessions/{session}\"I\n\x11GetSessionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\"\x87\x01\n\x13ListSessionsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"]\n\x14ListSessionsResponse\x12,\n\x08sessions\x18\x01 \x03(\x0b\x32\x1a.google.spanner.v1.Session\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"L\n\x14\x44\x65leteSessionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\"\xdc\x01\n\x0eRequestOptions\x12<\n\x08priority\x18\x01 \x01(\x0e\x32*.google.spanner.v1.RequestOptions.Priority\x12\x13\n\x0brequest_tag\x18\x02 \x01(\t\x12\x17\n\x0ftransaction_tag\x18\x03 \x01(\t\"^\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x10\n\x0cPRIORITY_LOW\x10\x01\x12\x13\n\x0fPRIORITY_MEDIUM\x10\x02\x12\x11\n\rPRIORITY_HIGH\x10\x03\"\xea\x04\n\x13\x44irectedReadOptions\x12R\n\x10include_replicas\x18\x01 \x01(\x0b\x32\x36.google.spanner.v1.DirectedReadOptions.IncludeReplicasH\x00\x12R\n\x10\x65xclude_replicas\x18\x02 \x01(\x0b\x32\x36.google.spanner.v1.DirectedReadOptions.ExcludeReplicasH\x00\x1a\xad\x01\n\x10ReplicaSelection\x12\x10\n\x08location\x18\x01 \x01(\t\x12J\n\x04type\x18\x02 \x01(\x0e\x32<.google.spanner.v1.DirectedReadOptions.ReplicaSelection.Type\";\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nREAD_WRITE\x10\x01\x12\r\n\tREAD_ONLY\x10\x02\x1a\x86\x01\n\x0fIncludeReplicas\x12S\n\x12replica_selections\x18\x01 \x03(\x0b\x32\x37.google.spanner.v1.DirectedReadOptions.ReplicaSelection\x12\x1e\n\x16\x61uto_failover_disabled\x18\x02 \x01(\x08\x1a\x66\n\x0f\x45xcludeReplicas\x12S\n\x12replica_selections\x18\x01 \x03(\x0b\x32\x37.google.spanner.v1.DirectedReadOptions.ReplicaSelectionB\n\n\x08replicas\"\xc7\x06\n\x11\x45xecuteSqlRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x10\n\x03sql\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12I\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x34.google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry\x12\x14\n\x0cresume_token\x18\x06 \x01(\x0c\x12\x42\n\nquery_mode\x18\x07 \x01(\x0e\x32..google.spanner.v1.ExecuteSqlRequest.QueryMode\x12\x17\n\x0fpartition_token\x18\x08 \x01(\x0c\x12\r\n\x05seqno\x18\t \x01(\x03\x12H\n\rquery_options\x18\n \x01(\x0b\x32\x31.google.spanner.v1.ExecuteSqlRequest.QueryOptions\x12:\n\x0frequest_options\x18\x0b \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12\x45\n\x15\x64irected_read_options\x18\x0f \x01(\x0b\x32&.google.spanner.v1.DirectedReadOptions\x12\x1a\n\x12\x64\x61ta_boost_enabled\x18\x10 \x01(\x08\x1aO\n\x0cQueryOptions\x12\x19\n\x11optimizer_version\x18\x01 \x01(\t\x12$\n\x1coptimizer_statistics_package\x18\x02 \x01(\t\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\".\n\tQueryMode\x12\n\n\x06NORMAL\x10\x00\x12\x08\n\x04PLAN\x10\x01\x12\x0b\n\x07PROFILE\x10\x02\"\xa0\x04\n\x16\x45xecuteBatchDmlRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12@\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelectorB\x03\xe0\x41\x02\x12L\n\nstatements\x18\x03 \x03(\x0b\x32\x33.google.spanner.v1.ExecuteBatchDmlRequest.StatementB\x03\xe0\x41\x02\x12\x12\n\x05seqno\x18\x04 \x01(\x03\x42\x03\xe0\x41\x02\x12:\n\x0frequest_options\x18\x05 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x1a\xec\x01\n\tStatement\x12\x10\n\x03sql\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12X\n\x0bparam_types\x18\x03 \x03(\x0b\x32\x43.google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\"p\n\x17\x45xecuteBatchDmlResponse\x12\x31\n\x0bresult_sets\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.ResultSet\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"H\n\x10PartitionOptions\x12\x1c\n\x14partition_size_bytes\x18\x01 \x01(\x03\x12\x16\n\x0emax_partitions\x18\x02 \x01(\x03\"\xa3\x03\n\x15PartitionQueryRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x10\n\x03sql\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12M\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x38.google.spanner.v1.PartitionQueryRequest.ParamTypesEntry\x12>\n\x11partition_options\x18\x06 \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\"\xb1\x02\n\x14PartitionReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12>\n\x11partition_options\x18\t \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\"$\n\tPartition\x12\x17\n\x0fpartition_token\x18\x01 \x01(\x0c\"z\n\x11PartitionResponse\x12\x30\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.Partition\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction\"\xca\x03\n\x0bReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x14\n\x07\x63olumns\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x08 \x01(\x03\x12\x14\n\x0cresume_token\x18\t \x01(\x0c\x12\x17\n\x0fpartition_token\x18\n \x01(\x0c\x12:\n\x0frequest_options\x18\x0b \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12\x45\n\x15\x64irected_read_options\x18\x0e \x01(\x0b\x32&.google.spanner.v1.DirectedReadOptions\x12\x1a\n\x12\x64\x61ta_boost_enabled\x18\x0f \x01(\x08\"\xcb\x01\n\x17\x42\x65ginTransactionRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x07options\x18\x02 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsB\x03\xe0\x41\x02\x12:\n\x0frequest_options\x18\x03 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\"\xfd\x02\n\rCommitRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x18\n\x0etransaction_id\x18\x02 \x01(\x0cH\x00\x12G\n\x16single_use_transaction\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12.\n\tmutations\x18\x04 \x03(\x0b\x32\x1b.google.spanner.v1.Mutation\x12\x1b\n\x13return_commit_stats\x18\x05 \x01(\x08\x12\x38\n\x10max_commit_delay\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12:\n\x0frequest_options\x18\x06 \x01(\x0b\x32!.google.spanner.v1.RequestOptionsB\r\n\x0btransaction\"g\n\x0fRollbackRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x1b\n\x0etransaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\"\xce\x02\n\x11\x42\x61tchWriteRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12:\n\x0frequest_options\x18\x03 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12P\n\x0fmutation_groups\x18\x04 \x03(\x0b\x32\x32.google.spanner.v1.BatchWriteRequest.MutationGroupB\x03\xe0\x41\x02\x12,\n\x1f\x65xclude_txn_from_change_streams\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x44\n\rMutationGroup\x12\x33\n\tmutations\x18\x01 \x03(\x0b\x32\x1b.google.spanner.v1.MutationB\x03\xe0\x41\x02\"\x7f\n\x12\x42\x61tchWriteResponse\x12\x0f\n\x07indexes\x18\x01 \x03(\x05\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x34\n\x10\x63ommit_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\x8b\x18\n\x07Spanner\x12\xa6\x01\n\rCreateSession\x12\'.google.spanner.v1.CreateSessionRequest\x1a\x1a.google.spanner.v1.Session\"P\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02?\":/v1/{database=projects/*/instances/*/databases/*}/sessions:\x01*\x12\xe0\x01\n\x13\x42\x61tchCreateSessions\x12-.google.spanner.v1.BatchCreateSessionsRequest\x1a..google.spanner.v1.BatchCreateSessionsResponse\"j\xda\x41\x16\x64\x61tabase,session_count\x82\xd3\xe4\x93\x02K\"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\x01*\x12\x97\x01\n\nGetSession\x12$.google.spanner.v1.GetSessionRequest\x1a\x1a.google.spanner.v1.Session\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:\x12\x38/v1/{name=projects/*/instances/*/databases/*/sessions/*}\x12\xae\x01\n\x0cListSessions\x12&.google.spanner.v1.ListSessionsRequest\x1a\'.google.spanner.v1.ListSessionsResponse\"M\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02<\x12:/v1/{database=projects/*/instances/*/databases/*}/sessions\x12\x99\x01\n\rDeleteSession\x12\'.google.spanner.v1.DeleteSessionRequest\x1a\x16.google.protobuf.Empty\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\x12\xa3\x01\n\nExecuteSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a\x1c.google.spanner.v1.ResultSet\"Q\x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\x01*\x12\xbe\x01\n\x13\x45xecuteStreamingSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a#.google.spanner.v1.PartialResultSet\"Z\x82\xd3\xe4\x93\x02T\"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\x01*0\x01\x12\xc0\x01\n\x0f\x45xecuteBatchDml\x12).google.spanner.v1.ExecuteBatchDmlRequest\x1a*.google.spanner.v1.ExecuteBatchDmlResponse\"V\x82\xd3\xe4\x93\x02P\"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\x01*\x12\x91\x01\n\x04Read\x12\x1e.google.spanner.v1.ReadRequest\x1a\x1c.google.spanner.v1.ResultSet\"K\x82\xd3\xe4\x93\x02\x45\"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\x01*\x12\xac\x01\n\rStreamingRead\x12\x1e.google.spanner.v1.ReadRequest\x1a#.google.spanner.v1.PartialResultSet\"T\x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\x01*0\x01\x12\xc9\x01\n\x10\x42\x65ginTransaction\x12*.google.spanner.v1.BeginTransactionRequest\x1a\x1e.google.spanner.v1.Transaction\"i\xda\x41\x0fsession,options\x82\xd3\xe4\x93\x02Q\"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\x01*\x12\xeb\x01\n\x06\x43ommit\x12 .google.spanner.v1.CommitRequest\x1a!.google.spanner.v1.CommitResponse\"\x9b\x01\xda\x41 session,transaction_id,mutations\xda\x41(session,single_use_transaction,mutations\x82\xd3\xe4\x93\x02G\"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\x01*\x12\xb0\x01\n\x08Rollback\x12\".google.spanner.v1.RollbackRequest\x1a\x16.google.protobuf.Empty\"h\xda\x41\x16session,transaction_id\x82\xd3\xe4\x93\x02I\"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\x01*\x12\xb7\x01\n\x0ePartitionQuery\x12(.google.spanner.v1.PartitionQueryRequest\x1a$.google.spanner.v1.PartitionResponse\"U\x82\xd3\xe4\x93\x02O\"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\x01*\x12\xb4\x01\n\rPartitionRead\x12\'.google.spanner.v1.PartitionReadRequest\x1a$.google.spanner.v1.PartitionResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\x01*\x12\xc8\x01\n\nBatchWrite\x12$.google.spanner.v1.BatchWriteRequest\x1a%.google.spanner.v1.BatchWriteResponse\"k\xda\x41\x17session,mutation_groups\x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:batchWrite:\x01*0\x01\x1aw\xca\x41\x16spanner.googleapis.com\xd2\x41[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.dataB\x91\x02\n\x15\x63om.google.spanner.v1B\x0cSpannerProtoP\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::V1\xea\x41_\n\x1fspanner.googleapis.com/Database\x12<projects/{project}/instances/{instance}/databases/{database}P\x00\x62\x06proto3"
24
+ descriptor_data = "\n\x1fgoogle/spanner/v1/spanner.proto\x12\x11google.spanner.v1\x1a\'google/spanner/v1/commit_response.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1cgoogle/spanner/v1/keys.proto\x1a google/spanner/v1/mutation.proto\x1a\"google/spanner/v1/result_set.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\x83\x01\n\x14\x43reateSessionRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x30\n\x07session\x18\x02 \x01(\x0b\x32\x1a.google.spanner.v1.SessionB\x03\xe0\x41\x02\"\xa9\x01\n\x1a\x42\x61tchCreateSessionsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x34\n\x10session_template\x18\x02 \x01(\x0b\x32\x1a.google.spanner.v1.Session\x12\x1a\n\rsession_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"J\n\x1b\x42\x61tchCreateSessionsResponse\x12+\n\x07session\x18\x01 \x03(\x0b\x32\x1a.google.spanner.v1.Session\"\xa3\x03\n\x07Session\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x36\n\x06labels\x18\x02 \x03(\x0b\x32&.google.spanner.v1.Session.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x19\x61pproximate_last_use_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x14\n\x0c\x63reator_role\x18\x05 \x01(\t\x12\x18\n\x0bmultiplexed\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:t\xea\x41q\n\x1espanner.googleapis.com/Session\x12Oprojects/{project}/instances/{instance}/databases/{database}/sessions/{session}\"I\n\x11GetSessionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\"\x87\x01\n\x13ListSessionsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"]\n\x14ListSessionsResponse\x12,\n\x08sessions\x18\x01 \x03(\x0b\x32\x1a.google.spanner.v1.Session\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"L\n\x14\x44\x65leteSessionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\"\xdc\x01\n\x0eRequestOptions\x12<\n\x08priority\x18\x01 \x01(\x0e\x32*.google.spanner.v1.RequestOptions.Priority\x12\x13\n\x0brequest_tag\x18\x02 \x01(\t\x12\x17\n\x0ftransaction_tag\x18\x03 \x01(\t\"^\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x10\n\x0cPRIORITY_LOW\x10\x01\x12\x13\n\x0fPRIORITY_MEDIUM\x10\x02\x12\x11\n\rPRIORITY_HIGH\x10\x03\"\xea\x04\n\x13\x44irectedReadOptions\x12R\n\x10include_replicas\x18\x01 \x01(\x0b\x32\x36.google.spanner.v1.DirectedReadOptions.IncludeReplicasH\x00\x12R\n\x10\x65xclude_replicas\x18\x02 \x01(\x0b\x32\x36.google.spanner.v1.DirectedReadOptions.ExcludeReplicasH\x00\x1a\xad\x01\n\x10ReplicaSelection\x12\x10\n\x08location\x18\x01 \x01(\t\x12J\n\x04type\x18\x02 \x01(\x0e\x32<.google.spanner.v1.DirectedReadOptions.ReplicaSelection.Type\";\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nREAD_WRITE\x10\x01\x12\r\n\tREAD_ONLY\x10\x02\x1a\x86\x01\n\x0fIncludeReplicas\x12S\n\x12replica_selections\x18\x01 \x03(\x0b\x32\x37.google.spanner.v1.DirectedReadOptions.ReplicaSelection\x12\x1e\n\x16\x61uto_failover_disabled\x18\x02 \x01(\x08\x1a\x66\n\x0f\x45xcludeReplicas\x12S\n\x12replica_selections\x18\x01 \x03(\x0b\x32\x37.google.spanner.v1.DirectedReadOptions.ReplicaSelectionB\n\n\x08replicas\"\xc7\x06\n\x11\x45xecuteSqlRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x10\n\x03sql\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12I\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x34.google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry\x12\x14\n\x0cresume_token\x18\x06 \x01(\x0c\x12\x42\n\nquery_mode\x18\x07 \x01(\x0e\x32..google.spanner.v1.ExecuteSqlRequest.QueryMode\x12\x17\n\x0fpartition_token\x18\x08 \x01(\x0c\x12\r\n\x05seqno\x18\t \x01(\x03\x12H\n\rquery_options\x18\n \x01(\x0b\x32\x31.google.spanner.v1.ExecuteSqlRequest.QueryOptions\x12:\n\x0frequest_options\x18\x0b \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12\x45\n\x15\x64irected_read_options\x18\x0f \x01(\x0b\x32&.google.spanner.v1.DirectedReadOptions\x12\x1a\n\x12\x64\x61ta_boost_enabled\x18\x10 \x01(\x08\x1aO\n\x0cQueryOptions\x12\x19\n\x11optimizer_version\x18\x01 \x01(\t\x12$\n\x1coptimizer_statistics_package\x18\x02 \x01(\t\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\".\n\tQueryMode\x12\n\n\x06NORMAL\x10\x00\x12\x08\n\x04PLAN\x10\x01\x12\x0b\n\x07PROFILE\x10\x02\"\xa0\x04\n\x16\x45xecuteBatchDmlRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12@\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelectorB\x03\xe0\x41\x02\x12L\n\nstatements\x18\x03 \x03(\x0b\x32\x33.google.spanner.v1.ExecuteBatchDmlRequest.StatementB\x03\xe0\x41\x02\x12\x12\n\x05seqno\x18\x04 \x01(\x03\x42\x03\xe0\x41\x02\x12:\n\x0frequest_options\x18\x05 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x1a\xec\x01\n\tStatement\x12\x10\n\x03sql\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12X\n\x0bparam_types\x18\x03 \x03(\x0b\x32\x43.google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\"p\n\x17\x45xecuteBatchDmlResponse\x12\x31\n\x0bresult_sets\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.ResultSet\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"H\n\x10PartitionOptions\x12\x1c\n\x14partition_size_bytes\x18\x01 \x01(\x03\x12\x16\n\x0emax_partitions\x18\x02 \x01(\x03\"\xa3\x03\n\x15PartitionQueryRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x10\n\x03sql\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12M\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x38.google.spanner.v1.PartitionQueryRequest.ParamTypesEntry\x12>\n\x11partition_options\x18\x06 \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\"\xb1\x02\n\x14PartitionReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12>\n\x11partition_options\x18\t \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\"$\n\tPartition\x12\x17\n\x0fpartition_token\x18\x01 \x01(\x0c\"z\n\x11PartitionResponse\x12\x30\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.Partition\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction\"\xf6\x05\n\x0bReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x14\n\x07\x63olumns\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x08 \x01(\x03\x12\x14\n\x0cresume_token\x18\t \x01(\x0c\x12\x17\n\x0fpartition_token\x18\n \x01(\x0c\x12:\n\x0frequest_options\x18\x0b \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12\x45\n\x15\x64irected_read_options\x18\x0e \x01(\x0b\x32&.google.spanner.v1.DirectedReadOptions\x12\x1a\n\x12\x64\x61ta_boost_enabled\x18\x0f \x01(\x08\x12=\n\x08order_by\x18\x10 \x01(\x0e\x32&.google.spanner.v1.ReadRequest.OrderByB\x03\xe0\x41\x01\x12?\n\tlock_hint\x18\x11 \x01(\x0e\x32\'.google.spanner.v1.ReadRequest.LockHintB\x03\xe0\x41\x01\"T\n\x07OrderBy\x12\x18\n\x14ORDER_BY_UNSPECIFIED\x10\x00\x12\x18\n\x14ORDER_BY_PRIMARY_KEY\x10\x01\x12\x15\n\x11ORDER_BY_NO_ORDER\x10\x02\"T\n\x08LockHint\x12\x19\n\x15LOCK_HINT_UNSPECIFIED\x10\x00\x12\x14\n\x10LOCK_HINT_SHARED\x10\x01\x12\x17\n\x13LOCK_HINT_EXCLUSIVE\x10\x02\"\xcb\x01\n\x17\x42\x65ginTransactionRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x07options\x18\x02 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsB\x03\xe0\x41\x02\x12:\n\x0frequest_options\x18\x03 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\"\xfd\x02\n\rCommitRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x18\n\x0etransaction_id\x18\x02 \x01(\x0cH\x00\x12G\n\x16single_use_transaction\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12.\n\tmutations\x18\x04 \x03(\x0b\x32\x1b.google.spanner.v1.Mutation\x12\x1b\n\x13return_commit_stats\x18\x05 \x01(\x08\x12\x38\n\x10max_commit_delay\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12:\n\x0frequest_options\x18\x06 \x01(\x0b\x32!.google.spanner.v1.RequestOptionsB\r\n\x0btransaction\"g\n\x0fRollbackRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x1b\n\x0etransaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\"\xce\x02\n\x11\x42\x61tchWriteRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12:\n\x0frequest_options\x18\x03 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12P\n\x0fmutation_groups\x18\x04 \x03(\x0b\x32\x32.google.spanner.v1.BatchWriteRequest.MutationGroupB\x03\xe0\x41\x02\x12,\n\x1f\x65xclude_txn_from_change_streams\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x44\n\rMutationGroup\x12\x33\n\tmutations\x18\x01 \x03(\x0b\x32\x1b.google.spanner.v1.MutationB\x03\xe0\x41\x02\"\x7f\n\x12\x42\x61tchWriteResponse\x12\x0f\n\x07indexes\x18\x01 \x03(\x05\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x34\n\x10\x63ommit_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\x8b\x18\n\x07Spanner\x12\xa6\x01\n\rCreateSession\x12\'.google.spanner.v1.CreateSessionRequest\x1a\x1a.google.spanner.v1.Session\"P\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02?\":/v1/{database=projects/*/instances/*/databases/*}/sessions:\x01*\x12\xe0\x01\n\x13\x42\x61tchCreateSessions\x12-.google.spanner.v1.BatchCreateSessionsRequest\x1a..google.spanner.v1.BatchCreateSessionsResponse\"j\xda\x41\x16\x64\x61tabase,session_count\x82\xd3\xe4\x93\x02K\"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\x01*\x12\x97\x01\n\nGetSession\x12$.google.spanner.v1.GetSessionRequest\x1a\x1a.google.spanner.v1.Session\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:\x12\x38/v1/{name=projects/*/instances/*/databases/*/sessions/*}\x12\xae\x01\n\x0cListSessions\x12&.google.spanner.v1.ListSessionsRequest\x1a\'.google.spanner.v1.ListSessionsResponse\"M\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02<\x12:/v1/{database=projects/*/instances/*/databases/*}/sessions\x12\x99\x01\n\rDeleteSession\x12\'.google.spanner.v1.DeleteSessionRequest\x1a\x16.google.protobuf.Empty\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\x12\xa3\x01\n\nExecuteSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a\x1c.google.spanner.v1.ResultSet\"Q\x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\x01*\x12\xbe\x01\n\x13\x45xecuteStreamingSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a#.google.spanner.v1.PartialResultSet\"Z\x82\xd3\xe4\x93\x02T\"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\x01*0\x01\x12\xc0\x01\n\x0f\x45xecuteBatchDml\x12).google.spanner.v1.ExecuteBatchDmlRequest\x1a*.google.spanner.v1.ExecuteBatchDmlResponse\"V\x82\xd3\xe4\x93\x02P\"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\x01*\x12\x91\x01\n\x04Read\x12\x1e.google.spanner.v1.ReadRequest\x1a\x1c.google.spanner.v1.ResultSet\"K\x82\xd3\xe4\x93\x02\x45\"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\x01*\x12\xac\x01\n\rStreamingRead\x12\x1e.google.spanner.v1.ReadRequest\x1a#.google.spanner.v1.PartialResultSet\"T\x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\x01*0\x01\x12\xc9\x01\n\x10\x42\x65ginTransaction\x12*.google.spanner.v1.BeginTransactionRequest\x1a\x1e.google.spanner.v1.Transaction\"i\xda\x41\x0fsession,options\x82\xd3\xe4\x93\x02Q\"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\x01*\x12\xeb\x01\n\x06\x43ommit\x12 .google.spanner.v1.CommitRequest\x1a!.google.spanner.v1.CommitResponse\"\x9b\x01\xda\x41 session,transaction_id,mutations\xda\x41(session,single_use_transaction,mutations\x82\xd3\xe4\x93\x02G\"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\x01*\x12\xb0\x01\n\x08Rollback\x12\".google.spanner.v1.RollbackRequest\x1a\x16.google.protobuf.Empty\"h\xda\x41\x16session,transaction_id\x82\xd3\xe4\x93\x02I\"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\x01*\x12\xb7\x01\n\x0ePartitionQuery\x12(.google.spanner.v1.PartitionQueryRequest\x1a$.google.spanner.v1.PartitionResponse\"U\x82\xd3\xe4\x93\x02O\"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\x01*\x12\xb4\x01\n\rPartitionRead\x12\'.google.spanner.v1.PartitionReadRequest\x1a$.google.spanner.v1.PartitionResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\x01*\x12\xc8\x01\n\nBatchWrite\x12$.google.spanner.v1.BatchWriteRequest\x1a%.google.spanner.v1.BatchWriteResponse\"k\xda\x41\x17session,mutation_groups\x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:batchWrite:\x01*0\x01\x1aw\xca\x41\x16spanner.googleapis.com\xd2\x41[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.dataB\x91\x02\n\x15\x63om.google.spanner.v1B\x0cSpannerProtoP\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::V1\xea\x41_\n\x1fspanner.googleapis.com/Database\x12<projects/{project}/instances/{instance}/databases/{database}P\x00\x62\x06proto3"
25
25
 
26
26
  pool = Google::Protobuf::DescriptorPool.generated_pool
27
27
 
@@ -87,6 +87,8 @@ module Google
87
87
  Partition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.Partition").msgclass
88
88
  PartitionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PartitionResponse").msgclass
89
89
  ReadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ReadRequest").msgclass
90
+ ReadRequest::OrderBy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ReadRequest.OrderBy").enummodule
91
+ ReadRequest::LockHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.ReadRequest.LockHint").enummodule
90
92
  BeginTransactionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.BeginTransactionRequest").msgclass
91
93
  CommitRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.CommitRequest").msgclass
92
94
  RollbackRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.RollbackRequest").msgclass
@@ -870,9 +870,87 @@ module Google
870
870
  #
871
871
  # If the field is set to `true` but the request does not set
872
872
  # `partition_token`, the API returns an `INVALID_ARGUMENT` error.
873
+ # @!attribute [rw] order_by
874
+ # @return [::Google::Cloud::Spanner::V1::ReadRequest::OrderBy]
875
+ # Optional. Order for the returned rows.
876
+ #
877
+ # By default, Spanner will return result rows in primary key order except for
878
+ # PartitionRead requests. For applications that do not require rows to be
879
+ # returned in primary key (`ORDER_BY_PRIMARY_KEY`) order, setting
880
+ # `ORDER_BY_NO_ORDER` option allows Spanner to optimize row retrieval,
881
+ # resulting in lower latencies in certain cases (e.g. bulk point lookups).
882
+ # @!attribute [rw] lock_hint
883
+ # @return [::Google::Cloud::Spanner::V1::ReadRequest::LockHint]
884
+ # Optional. Lock Hint for the request, it can only be used with read-write
885
+ # transactions.
873
886
  class ReadRequest
874
887
  include ::Google::Protobuf::MessageExts
875
888
  extend ::Google::Protobuf::MessageExts::ClassMethods
889
+
890
+ # An option to control the order in which rows are returned from a read.
891
+ module OrderBy
892
+ # Default value.
893
+ #
894
+ # ORDER_BY_UNSPECIFIED is equivalent to ORDER_BY_PRIMARY_KEY.
895
+ ORDER_BY_UNSPECIFIED = 0
896
+
897
+ # Read rows are returned in primary key order.
898
+ #
899
+ # In the event that this option is used in conjunction with the
900
+ # `partition_token` field, the API will return an `INVALID_ARGUMENT` error.
901
+ ORDER_BY_PRIMARY_KEY = 1
902
+
903
+ # Read rows are returned in any order.
904
+ ORDER_BY_NO_ORDER = 2
905
+ end
906
+
907
+ # A lock hint mechanism for reads done within a transaction.
908
+ module LockHint
909
+ # Default value.
910
+ #
911
+ # LOCK_HINT_UNSPECIFIED is equivalent to LOCK_HINT_SHARED.
912
+ LOCK_HINT_UNSPECIFIED = 0
913
+
914
+ # Acquire shared locks.
915
+ #
916
+ # By default when you perform a read as part of a read-write transaction,
917
+ # Spanner acquires shared read locks, which allows other reads to still
918
+ # access the data until your transaction is ready to commit. When your
919
+ # transaction is committing and writes are being applied, the transaction
920
+ # attempts to upgrade to an exclusive lock for any data you are writing.
921
+ # For more information about locks, see [Lock
922
+ # modes](https://cloud.google.com/spanner/docs/introspection/lock-statistics#explain-lock-modes).
923
+ LOCK_HINT_SHARED = 1
924
+
925
+ # Acquire exclusive locks.
926
+ #
927
+ # Requesting exclusive locks is beneficial if you observe high write
928
+ # contention, which means you notice that multiple transactions are
929
+ # concurrently trying to read and write to the same data, resulting in a
930
+ # large number of aborts. This problem occurs when two transactions
931
+ # initially acquire shared locks and then both try to upgrade to exclusive
932
+ # locks at the same time. In this situation both transactions are waiting
933
+ # for the other to give up their lock, resulting in a deadlocked situation.
934
+ # Spanner is able to detect this occurring and force one of the
935
+ # transactions to abort. However, this is a slow and expensive operation
936
+ # and results in lower performance. In this case it makes sense to acquire
937
+ # exclusive locks at the start of the transaction because then when
938
+ # multiple transactions try to act on the same data, they automatically get
939
+ # serialized. Each transaction waits its turn to acquire the lock and
940
+ # avoids getting into deadlock situations.
941
+ #
942
+ # Because the exclusive lock hint is just a hint, it should not be
943
+ # considered equivalent to a mutex. In other words, you should not use
944
+ # Spanner exclusive locks as a mutual exclusion mechanism for the execution
945
+ # of code outside of Spanner.
946
+ #
947
+ # **Note:** Request exclusive locks judiciously because they block others
948
+ # from reading that data for the entire transaction, rather than just when
949
+ # the writes are being performed. Unless you observe high write contention,
950
+ # you should use the default of shared read locks so you don't prematurely
951
+ # block other clients from reading the data that you're writing to.
952
+ LOCK_HINT_EXCLUSIVE = 2
953
+ end
876
954
  end
877
955
 
878
956
  # The request for
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-spanner-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.0
4
+ version: 0.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-29 00:00:00.000000000 Z
11
+ date: 2024-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common