google-cloud-spanner-v1 1.13.0 → 1.15.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 +4 -4
- data/lib/google/cloud/spanner/v1/spanner/client.rb +25 -10
- data/lib/google/cloud/spanner/v1/version.rb +1 -1
- data/lib/google/spanner/v1/commit_response_pb.rb +4 -1
- data/lib/google/spanner/v1/result_set_pb.rb +1 -1
- data/lib/google/spanner/v1/spanner_pb.rb +1 -1
- data/lib/google/spanner/v1/transaction_pb.rb +3 -1
- data/proto_docs/google/spanner/v1/commit_response.rb +8 -0
- data/proto_docs/google/spanner/v1/result_set.rb +8 -0
- data/proto_docs/google/spanner/v1/spanner.rb +32 -9
- data/proto_docs/google/spanner/v1/transaction.rb +37 -18
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5bee33e431f45fb487b4ea4a5b1cff0f32296aa255800344e4aced7617327774
|
|
4
|
+
data.tar.gz: '08260127274e1fb8b782efcdbd47cb3fcb593803a32cc6ac0b1fdf1fad90ce5c'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e6088dde7ce14528ddac9627ca04ef515a1349458b23e19f40291a8ee9fe4b3fd3dd225e6ec23e75891319ee621fe0b1e8f28780fc32666f1a142725665a6a7
|
|
7
|
+
data.tar.gz: 3f6aa8d6fc1a80051f8a26a6c8fed5c0c65f2a336eb0215bc56af1383ad2853ea039e5828f6add35e3cf07264e9583a7e2cd282b571deb7e98ba7dc122f072a2
|
|
@@ -868,7 +868,7 @@ module Google
|
|
|
868
868
|
# constraints). Given this, successful execution of a DML statement shouldn't
|
|
869
869
|
# be assumed until a subsequent `Commit` call completes successfully.
|
|
870
870
|
# @param routing_hint [::Google::Cloud::Spanner::V1::RoutingHint, ::Hash]
|
|
871
|
-
# Optional.
|
|
871
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
872
872
|
#
|
|
873
873
|
# It gives the server hints that can be used to route the request
|
|
874
874
|
# to an appropriate server, potentially significantly decreasing latency and
|
|
@@ -1056,7 +1056,7 @@ module Google
|
|
|
1056
1056
|
# constraints). Given this, successful execution of a DML statement shouldn't
|
|
1057
1057
|
# be assumed until a subsequent `Commit` call completes successfully.
|
|
1058
1058
|
# @param routing_hint [::Google::Cloud::Spanner::V1::RoutingHint, ::Hash]
|
|
1059
|
-
# Optional.
|
|
1059
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1060
1060
|
#
|
|
1061
1061
|
# It gives the server hints that can be used to route the request
|
|
1062
1062
|
# to an appropriate server, potentially significantly decreasing latency and
|
|
@@ -1364,7 +1364,7 @@ module Google
|
|
|
1364
1364
|
# Optional. Lock Hint for the request, it can only be used with read-write
|
|
1365
1365
|
# transactions.
|
|
1366
1366
|
# @param routing_hint [::Google::Cloud::Spanner::V1::RoutingHint, ::Hash]
|
|
1367
|
-
# Optional.
|
|
1367
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1368
1368
|
#
|
|
1369
1369
|
# It gives the server hints that can be used to route the request
|
|
1370
1370
|
# to an appropriate server, potentially significantly decreasing latency and
|
|
@@ -1530,7 +1530,7 @@ module Google
|
|
|
1530
1530
|
# Optional. Lock Hint for the request, it can only be used with read-write
|
|
1531
1531
|
# transactions.
|
|
1532
1532
|
# @param routing_hint [::Google::Cloud::Spanner::V1::RoutingHint, ::Hash]
|
|
1533
|
-
# Optional.
|
|
1533
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1534
1534
|
#
|
|
1535
1535
|
# It gives the server hints that can be used to route the request
|
|
1536
1536
|
# to an appropriate server, potentially significantly decreasing latency and
|
|
@@ -1621,7 +1621,7 @@ module Google
|
|
|
1621
1621
|
# @param options [::Gapic::CallOptions, ::Hash]
|
|
1622
1622
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
|
1623
1623
|
#
|
|
1624
|
-
# @overload begin_transaction(session: nil, options: nil, request_options: nil, mutation_key: nil)
|
|
1624
|
+
# @overload begin_transaction(session: nil, options: nil, request_options: nil, mutation_key: nil, routing_hint: nil)
|
|
1625
1625
|
# Pass arguments to `begin_transaction` via keyword arguments. Note that at
|
|
1626
1626
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
|
1627
1627
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
|
@@ -1641,6 +1641,13 @@ module Google
|
|
|
1641
1641
|
# that commit mutations but don't perform any reads or queries. You must
|
|
1642
1642
|
# randomly select one of the mutations from the mutation set and send it as a
|
|
1643
1643
|
# part of this request.
|
|
1644
|
+
# @param routing_hint [::Google::Cloud::Spanner::V1::RoutingHint, ::Hash]
|
|
1645
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1646
|
+
#
|
|
1647
|
+
# It gives the server hints that can be used to route the request
|
|
1648
|
+
# to an appropriate server, potentially significantly decreasing latency and
|
|
1649
|
+
# improving throughput. To achieve improved performance, most fields must be
|
|
1650
|
+
# filled in with accurate values.
|
|
1644
1651
|
#
|
|
1645
1652
|
# @yield [response, operation] Access the result along with the RPC operation
|
|
1646
1653
|
# @yieldparam response [::Google::Cloud::Spanner::V1::Transaction]
|
|
@@ -1732,7 +1739,7 @@ module Google
|
|
|
1732
1739
|
# @param options [::Gapic::CallOptions, ::Hash]
|
|
1733
1740
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
|
1734
1741
|
#
|
|
1735
|
-
# @overload commit(session: nil, transaction_id: nil, single_use_transaction: nil, mutations: nil, return_commit_stats: nil, max_commit_delay: nil, request_options: nil, precommit_token: nil)
|
|
1742
|
+
# @overload commit(session: nil, transaction_id: nil, single_use_transaction: nil, mutations: nil, return_commit_stats: nil, max_commit_delay: nil, request_options: nil, precommit_token: nil, routing_hint: nil)
|
|
1736
1743
|
# Pass arguments to `commit` via keyword arguments. Note that at
|
|
1737
1744
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
|
1738
1745
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
|
@@ -1776,6 +1783,13 @@ module Google
|
|
|
1776
1783
|
# session, then you must include the precommit token with the highest
|
|
1777
1784
|
# sequence number received in this transaction attempt. Failing to do so
|
|
1778
1785
|
# results in a `FailedPrecondition` error.
|
|
1786
|
+
# @param routing_hint [::Google::Cloud::Spanner::V1::RoutingHint, ::Hash]
|
|
1787
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1788
|
+
#
|
|
1789
|
+
# It gives the server hints that can be used to route the request
|
|
1790
|
+
# to an appropriate server, potentially significantly decreasing latency and
|
|
1791
|
+
# improving throughput. To achieve improved performance, most fields must be
|
|
1792
|
+
# filled in with accurate values.
|
|
1779
1793
|
#
|
|
1780
1794
|
# @yield [response, operation] Access the result along with the RPC operation
|
|
1781
1795
|
# @yieldparam response [::Google::Cloud::Spanner::V1::CommitResponse]
|
|
@@ -1985,7 +1999,8 @@ module Google
|
|
|
1985
1999
|
# a `PartitionedDml` transaction for large, partition-friendly DML
|
|
1986
2000
|
# operations.
|
|
1987
2001
|
# @param params [::Google::Protobuf::Struct, ::Hash]
|
|
1988
|
-
# Parameter names and values that bind to placeholders in the SQL
|
|
2002
|
+
# Optional. Parameter names and values that bind to placeholders in the SQL
|
|
2003
|
+
# string.
|
|
1989
2004
|
#
|
|
1990
2005
|
# A parameter placeholder consists of the `@` character followed by the
|
|
1991
2006
|
# parameter name (for example, `@firstName`). Parameter names can contain
|
|
@@ -1998,9 +2013,9 @@ module Google
|
|
|
1998
2013
|
#
|
|
1999
2014
|
# It's an error to execute a SQL statement with unbound parameters.
|
|
2000
2015
|
# @param param_types [::Hash{::String => ::Google::Cloud::Spanner::V1::Type, ::Hash}]
|
|
2001
|
-
# It isn't always possible for Cloud Spanner to infer the right SQL
|
|
2002
|
-
# from a JSON value. For example, values of type `BYTES` and values
|
|
2003
|
-
#
|
|
2016
|
+
# Optional. It isn't always possible for Cloud Spanner to infer the right SQL
|
|
2017
|
+
# type from a JSON value. For example, values of type `BYTES` and values of
|
|
2018
|
+
# type `STRING` both appear in
|
|
2004
2019
|
# {::Google::Cloud::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
|
|
2005
2020
|
#
|
|
2006
2021
|
# In these cases, `param_types` can be used to specify the exact
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
require 'google/protobuf'
|
|
6
6
|
|
|
7
|
+
require 'google/api/field_behavior_pb'
|
|
7
8
|
require 'google/protobuf/timestamp_pb'
|
|
9
|
+
require 'google/spanner/v1/location_pb'
|
|
8
10
|
require 'google/spanner/v1/transaction_pb'
|
|
9
11
|
|
|
10
12
|
|
|
11
|
-
descriptor_data = "\n\'google/spanner/v1/commit_response.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#google/spanner/v1/transaction.proto\"\
|
|
13
|
+
descriptor_data = "\n\'google/spanner/v1/commit_response.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a google/spanner/v1/location.proto\x1a#google/spanner/v1/transaction.proto\"\x90\x03\n\x0e\x43ommitResponse\x12\x34\n\x10\x63ommit_timestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x0c\x63ommit_stats\x18\x02 \x01(\x0b\x32-.google.spanner.v1.CommitResponse.CommitStats\x12N\n\x0fprecommit_token\x18\x04 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenH\x00\x12\x36\n\x12snapshot_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x0c\x63\x61\x63he_update\x18\x06 \x01(\x0b\x32\x1e.google.spanner.v1.CacheUpdateB\x03\xe0\x41\x01\x1a%\n\x0b\x43ommitStats\x12\x16\n\x0emutation_count\x18\x01 \x01(\x03\x42\x19\n\x17MultiplexedSessionRetryB\xb6\x01\n\x15\x63om.google.spanner.v1B\x13\x43ommitResponseProtoP\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
14
|
|
|
13
15
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
14
16
|
|
|
@@ -25,6 +27,7 @@ rescue TypeError
|
|
|
25
27
|
imports = [
|
|
26
28
|
["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
|
|
27
29
|
["google.spanner.v1.MultiplexedSessionPrecommitToken", "google/spanner/v1/transaction.proto"],
|
|
30
|
+
["google.spanner.v1.CacheUpdate", "google/spanner/v1/location.proto"],
|
|
28
31
|
]
|
|
29
32
|
imports.each do |type_name, expected_filename|
|
|
30
33
|
import_file = pool.lookup(type_name).file_descriptor
|
|
@@ -12,7 +12,7 @@ require 'google/spanner/v1/transaction_pb'
|
|
|
12
12
|
require 'google/spanner/v1/type_pb'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
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/location.proto\x1a\"google/spanner/v1/query_plan.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\
|
|
15
|
+
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/location.proto\x1a\"google/spanner/v1/query_plan.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\xad\x02\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\x12\x39\n\x0c\x63\x61\x63he_update\x18\x06 \x01(\x0b\x32\x1e.google.spanner.v1.CacheUpdateB\x03\xe0\x41\x01\"\xf2\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\x12\x39\n\x0c\x63\x61\x63he_update\x18\n \x01(\x0b\x32\x1e.google.spanner.v1.CacheUpdateB\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"
|
|
16
16
|
|
|
17
17
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
18
18
|
|
|
@@ -22,7 +22,7 @@ require 'google/spanner/v1/transaction_pb'
|
|
|
22
22
|
require 'google/spanner/v1/type_pb'
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
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/location.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\"\xb8\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:\x88\x01\xea\x41\x84\x01\n\x1espanner.googleapis.com/Session\x12Oprojects/{project}/instances/{instance}/databases/{database}/sessions/{session}*\x08sessions2\x07session\"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\"\xeb\x03\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\x12L\n\x0e\x63lient_context\x18\x04 \x01(\x0b\x32/.google.spanner.v1.RequestOptions.ClientContextB\x03\xe0\x41\x01\x1a\xbe\x01\n\rClientContext\x12_\n\x0esecure_context\x18\x01 \x03(\x0b\x32\x42.google.spanner.v1.RequestOptions.ClientContext.SecureContextEntryB\x03\xe0\x41\x01\x1aL\n\x12SecureContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"^\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\"\xc8\x07\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\x12\x1b\n\x0elast_statement\x18\x11 \x01(\x08\x42\x03\xe0\x41\x01\x12\x39\n\x0crouting_hint\x18\x12 \x01(\x0b\x32\x1e.google.spanner.v1.RoutingHintB\x03\xe0\x41\x01\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\"W\n\tQueryMode\x12\n\n\x06NORMAL\x10\x00\x12\x08\n\x04PLAN\x10\x01\x12\x0b\n\x07PROFILE\x10\x02\x12\x0e\n\nWITH_STATS\x10\x03\x12\x17\n\x13WITH_PLAN_AND_STATS\x10\x04\"\xbe\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\x12\x1c\n\x0flast_statements\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\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\"\xc3\x01\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\x12Q\n\x0fprecommit_token\x18\x03 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\"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\"\xb1\x06\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\x12\x39\n\x0crouting_hint\x18\x12 \x01(\x0b\x32\x1e.google.spanner.v1.RoutingHintB\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\"\x83\x02\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\x12\x36\n\x0cmutation_key\x18\x04 \x01(\x0b\x32\x1b.google.spanner.v1.MutationB\x03\xe0\x41\x01\"\xd0\x03\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.RequestOptions\x12Q\n\x0fprecommit_token\x18\t \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\x42\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
|
+
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/location.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\"\xb8\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:\x88\x01\xea\x41\x84\x01\n\x1espanner.googleapis.com/Session\x12Oprojects/{project}/instances/{instance}/databases/{database}/sessions/{session}*\x08sessions2\x07session\"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\"\xeb\x03\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\x12L\n\x0e\x63lient_context\x18\x04 \x01(\x0b\x32/.google.spanner.v1.RequestOptions.ClientContextB\x03\xe0\x41\x01\x1a\xbe\x01\n\rClientContext\x12_\n\x0esecure_context\x18\x01 \x03(\x0b\x32\x42.google.spanner.v1.RequestOptions.ClientContext.SecureContextEntryB\x03\xe0\x41\x01\x1aL\n\x12SecureContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"^\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\"\xc8\x07\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\x12\x1b\n\x0elast_statement\x18\x11 \x01(\x08\x42\x03\xe0\x41\x01\x12\x39\n\x0crouting_hint\x18\x12 \x01(\x0b\x32\x1e.google.spanner.v1.RoutingHintB\x03\xe0\x41\x01\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\"W\n\tQueryMode\x12\n\n\x06NORMAL\x10\x00\x12\x08\n\x04PLAN\x10\x01\x12\x0b\n\x07PROFILE\x10\x02\x12\x0e\n\nWITH_STATS\x10\x03\x12\x17\n\x13WITH_PLAN_AND_STATS\x10\x04\"\xbe\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\x12\x1c\n\x0flast_statements\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\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\"\xc3\x01\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\x12Q\n\x0fprecommit_token\x18\x03 \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\"H\n\x10PartitionOptions\x12\x1c\n\x14partition_size_bytes\x18\x01 \x01(\x03\x12\x16\n\x0emax_partitions\x18\x02 \x01(\x03\"\xad\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.StructB\x03\xe0\x41\x01\x12R\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x38.google.spanner.v1.PartitionQueryRequest.ParamTypesEntryB\x03\xe0\x41\x01\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\"\xb1\x06\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\x12\x39\n\x0crouting_hint\x18\x12 \x01(\x0b\x32\x1e.google.spanner.v1.RoutingHintB\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\"\xbe\x02\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\x12\x36\n\x0cmutation_key\x18\x04 \x01(\x0b\x32\x1b.google.spanner.v1.MutationB\x03\xe0\x41\x01\x12\x39\n\x0crouting_hint\x18\x05 \x01(\x0b\x32\x1e.google.spanner.v1.RoutingHintB\x03\xe0\x41\x01\"\x8b\x04\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.RequestOptions\x12Q\n\x0fprecommit_token\x18\t \x01(\x0b\x32\x33.google.spanner.v1.MultiplexedSessionPrecommitTokenB\x03\xe0\x41\x01\x12\x39\n\x0crouting_hint\x18\n \x01(\x0b\x32\x1e.google.spanner.v1.RoutingHintB\x03\xe0\x41\x01\x42\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"
|
|
26
26
|
|
|
27
27
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
28
28
|
|
|
@@ -7,9 +7,10 @@ require 'google/protobuf'
|
|
|
7
7
|
require 'google/api/field_behavior_pb'
|
|
8
8
|
require 'google/protobuf/duration_pb'
|
|
9
9
|
require 'google/protobuf/timestamp_pb'
|
|
10
|
+
require 'google/spanner/v1/location_pb'
|
|
10
11
|
|
|
11
12
|
|
|
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\"\
|
|
13
|
+
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\x1a google/spanner/v1/location.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\"\xd6\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\x12\x39\n\x0c\x63\x61\x63he_update\x18\x05 \x01(\x0b\x32\x1e.google.spanner.v1.CacheUpdateB\x03\xe0\x41\x01\"\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
14
|
|
|
14
15
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
15
16
|
|
|
@@ -26,6 +27,7 @@ rescue TypeError
|
|
|
26
27
|
imports = [
|
|
27
28
|
["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
|
|
28
29
|
["google.protobuf.Duration", "google/protobuf/duration.proto"],
|
|
30
|
+
["google.spanner.v1.CacheUpdate", "google/spanner/v1/location.proto"],
|
|
29
31
|
]
|
|
30
32
|
imports.each do |type_name, expected_filename|
|
|
31
33
|
import_file = pool.lookup(type_name).file_descriptor
|
|
@@ -40,6 +40,14 @@ module Google
|
|
|
40
40
|
# `IsolationLevel.REPEATABLE_READ`, then the snapshot timestamp is the
|
|
41
41
|
# timestamp at which all reads in the transaction ran. This timestamp is
|
|
42
42
|
# never returned.
|
|
43
|
+
# @!attribute [rw] cache_update
|
|
44
|
+
# @return [::Google::Cloud::Spanner::V1::CacheUpdate]
|
|
45
|
+
# Optional. A cache update expresses a set of changes the client should
|
|
46
|
+
# incorporate into its location cache. The client should discard the changes
|
|
47
|
+
# if they are older than the data it already has. This data can be obtained
|
|
48
|
+
# in response to requests that included a `RoutingHint` field, but may also
|
|
49
|
+
# be obtained by explicit location-fetching RPCs which may be added in the
|
|
50
|
+
# future.
|
|
43
51
|
class CommitResponse
|
|
44
52
|
include ::Google::Protobuf::MessageExts
|
|
45
53
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -50,6 +50,14 @@ module Google
|
|
|
50
50
|
# a multiplexed session. Pass the precommit token with the highest sequence
|
|
51
51
|
# number from this transaction attempt to the
|
|
52
52
|
# {::Google::Cloud::Spanner::V1::Spanner::Client#commit Commit} request for this transaction.
|
|
53
|
+
# @!attribute [rw] cache_update
|
|
54
|
+
# @return [::Google::Cloud::Spanner::V1::CacheUpdate]
|
|
55
|
+
# Optional. A cache update expresses a set of changes the client should
|
|
56
|
+
# incorporate into its location cache. The client should discard the changes
|
|
57
|
+
# if they are older than the data it already has. This data can be obtained
|
|
58
|
+
# in response to requests that included a `RoutingHint` field, but may also
|
|
59
|
+
# be obtained by explicit location-fetching RPCs which may be added in the
|
|
60
|
+
# future.
|
|
53
61
|
class ResultSet
|
|
54
62
|
include ::Google::Protobuf::MessageExts
|
|
55
63
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -197,8 +197,9 @@ module Google
|
|
|
197
197
|
# A tag used for statistics collection about this transaction.
|
|
198
198
|
# Both `request_tag` and `transaction_tag` can be specified for a read or
|
|
199
199
|
# query that belongs to a transaction.
|
|
200
|
-
#
|
|
201
|
-
# to the same transaction
|
|
200
|
+
# To enable tagging on a transaction, `transaction_tag` must be set to the
|
|
201
|
+
# same value for all requests belonging to the same transaction, including
|
|
202
|
+
# {::Google::Cloud::Spanner::V1::Spanner::Client#begin_transaction BeginTransaction}.
|
|
202
203
|
# If this request doesn't belong to any transaction, `transaction_tag` is
|
|
203
204
|
# ignored.
|
|
204
205
|
# Legal characters for `transaction_tag` values are all printable characters
|
|
@@ -464,7 +465,7 @@ module Google
|
|
|
464
465
|
# be assumed until a subsequent `Commit` call completes successfully.
|
|
465
466
|
# @!attribute [rw] routing_hint
|
|
466
467
|
# @return [::Google::Cloud::Spanner::V1::RoutingHint]
|
|
467
|
-
# Optional.
|
|
468
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
468
469
|
#
|
|
469
470
|
# It gives the server hints that can be used to route the request
|
|
470
471
|
# to an appropriate server, potentially significantly decreasing latency and
|
|
@@ -762,7 +763,8 @@ module Google
|
|
|
762
763
|
# operations.
|
|
763
764
|
# @!attribute [rw] params
|
|
764
765
|
# @return [::Google::Protobuf::Struct]
|
|
765
|
-
# Parameter names and values that bind to placeholders in the SQL
|
|
766
|
+
# Optional. Parameter names and values that bind to placeholders in the SQL
|
|
767
|
+
# string.
|
|
766
768
|
#
|
|
767
769
|
# A parameter placeholder consists of the `@` character followed by the
|
|
768
770
|
# parameter name (for example, `@firstName`). Parameter names can contain
|
|
@@ -776,9 +778,9 @@ module Google
|
|
|
776
778
|
# It's an error to execute a SQL statement with unbound parameters.
|
|
777
779
|
# @!attribute [rw] param_types
|
|
778
780
|
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Spanner::V1::Type}]
|
|
779
|
-
# It isn't always possible for Cloud Spanner to infer the right SQL
|
|
780
|
-
# from a JSON value. For example, values of type `BYTES` and values
|
|
781
|
-
#
|
|
781
|
+
# Optional. It isn't always possible for Cloud Spanner to infer the right SQL
|
|
782
|
+
# type from a JSON value. For example, values of type `BYTES` and values of
|
|
783
|
+
# type `STRING` both appear in
|
|
782
784
|
# {::Google::Cloud::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
|
|
783
785
|
#
|
|
784
786
|
# In these cases, `param_types` can be used to specify the exact
|
|
@@ -960,7 +962,7 @@ module Google
|
|
|
960
962
|
# transactions.
|
|
961
963
|
# @!attribute [rw] routing_hint
|
|
962
964
|
# @return [::Google::Cloud::Spanner::V1::RoutingHint]
|
|
963
|
-
# Optional.
|
|
965
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
964
966
|
#
|
|
965
967
|
# It gives the server hints that can be used to route the request
|
|
966
968
|
# to an appropriate server, potentially significantly decreasing latency and
|
|
@@ -1057,6 +1059,14 @@ module Google
|
|
|
1057
1059
|
# that commit mutations but don't perform any reads or queries. You must
|
|
1058
1060
|
# randomly select one of the mutations from the mutation set and send it as a
|
|
1059
1061
|
# part of this request.
|
|
1062
|
+
# @!attribute [rw] routing_hint
|
|
1063
|
+
# @return [::Google::Cloud::Spanner::V1::RoutingHint]
|
|
1064
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1065
|
+
#
|
|
1066
|
+
# It gives the server hints that can be used to route the request
|
|
1067
|
+
# to an appropriate server, potentially significantly decreasing latency and
|
|
1068
|
+
# improving throughput. To achieve improved performance, most fields must be
|
|
1069
|
+
# filled in with accurate values.
|
|
1060
1070
|
class BeginTransactionRequest
|
|
1061
1071
|
include ::Google::Protobuf::MessageExts
|
|
1062
1072
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -1110,6 +1120,14 @@ module Google
|
|
|
1110
1120
|
# session, then you must include the precommit token with the highest
|
|
1111
1121
|
# sequence number received in this transaction attempt. Failing to do so
|
|
1112
1122
|
# results in a `FailedPrecondition` error.
|
|
1123
|
+
# @!attribute [rw] routing_hint
|
|
1124
|
+
# @return [::Google::Cloud::Spanner::V1::RoutingHint]
|
|
1125
|
+
# Optional. Makes the Spanner requests location-aware if present.
|
|
1126
|
+
#
|
|
1127
|
+
# It gives the server hints that can be used to route the request
|
|
1128
|
+
# to an appropriate server, potentially significantly decreasing latency and
|
|
1129
|
+
# improving throughput. To achieve improved performance, most fields must be
|
|
1130
|
+
# filled in with accurate values.
|
|
1113
1131
|
class CommitRequest
|
|
1114
1132
|
include ::Google::Protobuf::MessageExts
|
|
1115
1133
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -1169,7 +1187,12 @@ module Google
|
|
|
1169
1187
|
# @!attribute [rw] commit_timestamp
|
|
1170
1188
|
# @return [::Google::Protobuf::Timestamp]
|
|
1171
1189
|
# The commit timestamp of the transaction that applied this batch.
|
|
1172
|
-
# Present if
|
|
1190
|
+
# Present if status is OK and the mutation groups were applied, absent
|
|
1191
|
+
# otherwise.
|
|
1192
|
+
#
|
|
1193
|
+
# For mutation groups with conditions, a status=OK and missing
|
|
1194
|
+
# commit_timestamp means that the mutation groups were not applied due to the
|
|
1195
|
+
# condition not being satisfied after evaluation.
|
|
1173
1196
|
class BatchWriteResponse
|
|
1174
1197
|
include ::Google::Protobuf::MessageExts
|
|
1175
1198
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -96,35 +96,46 @@ module Google
|
|
|
96
96
|
# Default value.
|
|
97
97
|
#
|
|
98
98
|
# * If isolation level is
|
|
99
|
+
# {::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel::SERIALIZABLE SERIALIZABLE},
|
|
100
|
+
# locking semantics default to `PESSIMISTIC`.
|
|
101
|
+
# * If isolation level is
|
|
99
102
|
# {::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel::REPEATABLE_READ REPEATABLE_READ},
|
|
100
|
-
#
|
|
101
|
-
#
|
|
102
|
-
#
|
|
103
|
-
#
|
|
104
|
-
#
|
|
105
|
-
# 2. reads done as part of statements with a `LOCK_SCANNED_RANGES`
|
|
106
|
-
# hint
|
|
107
|
-
# 3. reads done as part of DML statements
|
|
108
|
-
# * At all other isolation levels, if `read_lock_mode` is the default
|
|
109
|
-
# value, then pessimistic read locks are used.
|
|
103
|
+
# locking semantics default to `OPTIMISTIC`.
|
|
104
|
+
# * See
|
|
105
|
+
# [Concurrency
|
|
106
|
+
# control](https://cloud.google.com/spanner/docs/concurrency-control)
|
|
107
|
+
# for more details.
|
|
110
108
|
READ_LOCK_MODE_UNSPECIFIED = 0
|
|
111
109
|
|
|
112
110
|
# Pessimistic lock mode.
|
|
113
111
|
#
|
|
114
|
-
#
|
|
115
|
-
# Semantics described only applies to
|
|
112
|
+
# Lock acquisition behavior depends on the isolation level in use. In
|
|
116
113
|
# {::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel::SERIALIZABLE SERIALIZABLE}
|
|
117
|
-
# isolation
|
|
114
|
+
# isolation, reads and writes acquire necessary locks during transaction
|
|
115
|
+
# statement execution. In
|
|
116
|
+
# {::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel::REPEATABLE_READ REPEATABLE_READ}
|
|
117
|
+
# isolation, reads that explicitly request to be locked and writes
|
|
118
|
+
# acquire locks.
|
|
119
|
+
# See
|
|
120
|
+
# [Concurrency
|
|
121
|
+
# control](https://cloud.google.com/spanner/docs/concurrency-control) for
|
|
122
|
+
# details on the types of locks acquired at each transaction step.
|
|
118
123
|
PESSIMISTIC = 1
|
|
119
124
|
|
|
120
125
|
# Optimistic lock mode.
|
|
121
126
|
#
|
|
122
|
-
#
|
|
123
|
-
#
|
|
124
|
-
# read/queried data has not changed since the transaction started.
|
|
125
|
-
# Semantics described only applies to
|
|
127
|
+
# Lock acquisition behavior depends on the isolation level in use. In
|
|
128
|
+
# both
|
|
126
129
|
# {::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel::SERIALIZABLE SERIALIZABLE}
|
|
127
|
-
#
|
|
130
|
+
# and
|
|
131
|
+
# {::Google::Cloud::Spanner::V1::TransactionOptions::IsolationLevel::REPEATABLE_READ REPEATABLE_READ}
|
|
132
|
+
# isolation, reads and writes do not acquire locks during transaction
|
|
133
|
+
# statement execution.
|
|
134
|
+
# See
|
|
135
|
+
# [Concurrency
|
|
136
|
+
# control](https://cloud.google.com/spanner/docs/concurrency-control) for
|
|
137
|
+
# details on how the guarantees of each isolation level are provided at
|
|
138
|
+
# commit time.
|
|
128
139
|
OPTIMISTIC = 2
|
|
129
140
|
end
|
|
130
141
|
end
|
|
@@ -278,6 +289,14 @@ module Google
|
|
|
278
289
|
# The precommit token with the highest sequence number from this transaction
|
|
279
290
|
# attempt should be passed to the {::Google::Cloud::Spanner::V1::Spanner::Client#commit Commit}
|
|
280
291
|
# request for this transaction.
|
|
292
|
+
# @!attribute [rw] cache_update
|
|
293
|
+
# @return [::Google::Cloud::Spanner::V1::CacheUpdate]
|
|
294
|
+
# Optional. A cache update expresses a set of changes the client should
|
|
295
|
+
# incorporate into its location cache. The client should discard the changes
|
|
296
|
+
# if they are older than the data it already has. This data can be obtained
|
|
297
|
+
# in response to requests that included a `RoutingHint` field, but may also
|
|
298
|
+
# be obtained by explicit location-fetching RPCs which may be added in the
|
|
299
|
+
# future.
|
|
281
300
|
class Transaction
|
|
282
301
|
include ::Google::Protobuf::MessageExts
|
|
283
302
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|