google-apis-spanner_v1 0.8.0 → 0.13.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/CHANGELOG.md +22 -0
- data/lib/google/apis/spanner_v1/classes.rb +865 -194
- data/lib/google/apis/spanner_v1/gem_version.rb +3 -3
- data/lib/google/apis/spanner_v1/representations.rb +285 -0
- data/lib/google/apis/spanner_v1/service.rb +91 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16ee9dfab17781a712647d831357dc212e9fa0771e181a1a08eb5a1914bd7180
|
4
|
+
data.tar.gz: 428717e3791a2c7e8a14bc4c551e09ebb25702632b2a8cafc112b6307ac3d9e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7ce784ed3d25c857dd4cceb18f257a75668899673cc434eb0449c5e9e9524a1b3c672e73549f502b8842da03ab24fac0c80f19bf965619d363a2024f6737f9b
|
7
|
+
data.tar.gz: 178e38aa8a6ebc84fc4e4d8cb1f9e3c1b9f3151145924e1e8bd65b806b8925f31bbfe8ad2f95ef85e713acf0f6ea33b477f63d3893ac1fc722893d4889141ae4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,27 @@
|
|
1
1
|
# Release history for google-apis-spanner_v1
|
2
2
|
|
3
|
+
### v0.13.0 (2021-06-17)
|
4
|
+
|
5
|
+
* Regenerated from discovery document revision 20210611
|
6
|
+
|
7
|
+
### v0.12.0 (2021-06-10)
|
8
|
+
|
9
|
+
* Regenerated from discovery document revision 20210603
|
10
|
+
|
11
|
+
### v0.11.0 (2021-06-03)
|
12
|
+
|
13
|
+
* Regenerated from discovery document revision 20210527
|
14
|
+
* Regenerated using generator version 0.3.0
|
15
|
+
|
16
|
+
### v0.10.0 (2021-05-22)
|
17
|
+
|
18
|
+
* Regenerated from discovery document revision 20210517
|
19
|
+
* Unspecified changes
|
20
|
+
|
21
|
+
### v0.9.0 (2021-04-17)
|
22
|
+
|
23
|
+
* Regenerated from discovery document revision 20210405
|
24
|
+
|
3
25
|
### v0.8.0 (2021-04-01)
|
4
26
|
|
5
27
|
* Regenerated from discovery document revision 20210325
|
@@ -201,12 +201,12 @@ module Google
|
|
201
201
|
class BeginTransactionRequest
|
202
202
|
include Google::Apis::Core::Hashable
|
203
203
|
|
204
|
-
#
|
204
|
+
# Transactions: Each session can have at most one active transaction at a time (
|
205
205
|
# note that standalone reads and queries use a transaction internally and do
|
206
206
|
# count towards the one transaction limit). After the active transaction is
|
207
207
|
# completed, the session can immediately be re-used for the next transaction. It
|
208
|
-
# is not necessary to create a new session for each transaction.
|
209
|
-
# Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
208
|
+
# is not necessary to create a new session for each transaction. Transaction
|
209
|
+
# Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
210
210
|
# This type of transaction is the only way to write data into Cloud Spanner.
|
211
211
|
# These transactions rely on pessimistic locking and, if necessary, two-phase
|
212
212
|
# commit. Locking read-write transactions may abort, requiring the application
|
@@ -224,8 +224,8 @@ module Google
|
|
224
224
|
# transactions. As a consequence of not taking locks, they also do not abort, so
|
225
225
|
# retry loops are not needed. Transactions may only read/write data in a single
|
226
226
|
# database. They may, however, read/write data in different tables within that
|
227
|
-
# database.
|
228
|
-
#
|
227
|
+
# database. Locking Read-Write Transactions: Locking transactions may be used to
|
228
|
+
# atomically read-modify-write data anywhere in a database. This type of
|
229
229
|
# transaction is externally consistent. Clients should attempt to minimize the
|
230
230
|
# amount of time a transaction is active. Faster transactions commit with higher
|
231
231
|
# probability and cause less contention. Cloud Spanner attempts to keep read
|
@@ -234,7 +234,7 @@ module Google
|
|
234
234
|
# inactivity at the client may cause Cloud Spanner to release a transaction's
|
235
235
|
# locks and abort it. Conceptually, a read-write transaction consists of zero or
|
236
236
|
# more reads or SQL statements followed by Commit. At any time before Commit,
|
237
|
-
# the client can send a Rollback request to abort the transaction.
|
237
|
+
# the client can send a Rollback request to abort the transaction. Semantics:
|
238
238
|
# Cloud Spanner can commit the transaction if all read locks it acquired are
|
239
239
|
# still valid at commit time, and it is able to acquire write locks for all
|
240
240
|
# writes. Cloud Spanner can abort the transaction for any reason. If a commit
|
@@ -242,24 +242,24 @@ module Google
|
|
242
242
|
# not modified any user data in Cloud Spanner. Unless the transaction commits,
|
243
243
|
# Cloud Spanner makes no guarantees about how long the transaction's locks were
|
244
244
|
# held for. It is an error to use Cloud Spanner locks for any sort of mutual
|
245
|
-
# exclusion other than between Cloud Spanner transactions themselves.
|
246
|
-
#
|
247
|
-
#
|
248
|
-
#
|
249
|
-
#
|
250
|
-
#
|
251
|
-
#
|
252
|
-
#
|
253
|
-
#
|
254
|
-
#
|
255
|
-
#
|
256
|
-
#
|
257
|
-
#
|
258
|
-
#
|
259
|
-
#
|
260
|
-
#
|
261
|
-
#
|
262
|
-
# becoming idle.
|
245
|
+
# exclusion other than between Cloud Spanner transactions themselves. Retrying
|
246
|
+
# Aborted Transactions: When a transaction aborts, the application can choose to
|
247
|
+
# retry the whole transaction again. To maximize the chances of successfully
|
248
|
+
# committing the retry, the client should execute the retry in the same session
|
249
|
+
# as the original attempt. The original session's lock priority increases with
|
250
|
+
# each consecutive abort, meaning that each attempt has a slightly better chance
|
251
|
+
# of success than the previous. Under some circumstances (e.g., many
|
252
|
+
# transactions attempting to modify the same row(s)), a transaction can abort
|
253
|
+
# many times in a short period before successfully committing. Thus, it is not a
|
254
|
+
# good idea to cap the number of retries a transaction can attempt; instead, it
|
255
|
+
# is better to limit the total amount of wall time spent retrying. Idle
|
256
|
+
# Transactions: A transaction is considered idle if it has no outstanding reads
|
257
|
+
# or SQL queries and has not started a read or SQL query within the last 10
|
258
|
+
# seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
|
259
|
+
# hold on to locks indefinitely. In that case, the commit will fail with error `
|
260
|
+
# ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
|
261
|
+
# query in the transaction (e.g., `SELECT 1`) prevents the transaction from
|
262
|
+
# becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
|
263
263
|
# transactions provides a simpler method than locking read-write transactions
|
264
264
|
# for doing several consistent reads. However, this type of transaction does not
|
265
265
|
# support writes. Snapshot transactions do not take locks. Instead, they work by
|
@@ -277,15 +277,15 @@ module Google
|
|
277
277
|
# is geographically distributed, stale read-only transactions can execute more
|
278
278
|
# quickly than strong or read-write transaction, because they are able to
|
279
279
|
# execute far from the leader replica. Each type of timestamp bound is discussed
|
280
|
-
# in detail below.
|
281
|
-
#
|
280
|
+
# in detail below. Strong: Strong reads are guaranteed to see the effects of all
|
281
|
+
# transactions that have committed before the start of the read. Furthermore,
|
282
282
|
# all rows yielded by a single read are consistent with each other -- if any
|
283
283
|
# part of the read observes a transaction, all parts of the read see the
|
284
284
|
# transaction. Strong reads are not repeatable: two consecutive strong read-only
|
285
285
|
# transactions might return inconsistent results if there are concurrent writes.
|
286
286
|
# If consistency across reads is required, the reads should be executed within a
|
287
287
|
# transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
|
288
|
-
# strong.
|
288
|
+
# strong. Exact Staleness: These timestamp bounds execute reads at a user-
|
289
289
|
# specified timestamp. Reads at a timestamp are guaranteed to see a consistent
|
290
290
|
# prefix of the global transaction history: they observe modifications done by
|
291
291
|
# all transactions with a commit timestamp <= the read timestamp, and observe
|
@@ -297,8 +297,8 @@ module Google
|
|
297
297
|
# to pick a timestamp. As a result, they execute slightly faster than the
|
298
298
|
# equivalent boundedly stale concurrency modes. On the other hand, boundedly
|
299
299
|
# stale reads usually return fresher results. See TransactionOptions.ReadOnly.
|
300
|
-
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness.
|
301
|
-
# Staleness Bounded staleness modes allow Cloud Spanner to pick the read
|
300
|
+
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
|
301
|
+
# Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
|
302
302
|
# timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
|
303
303
|
# the newest timestamp within the staleness bound that allows execution of the
|
304
304
|
# reads at the closest available replica without blocking. All rows yielded are
|
@@ -315,15 +315,15 @@ module Google
|
|
315
315
|
# timestamp negotiation requires up-front knowledge of which rows will be read,
|
316
316
|
# it can only be used with single-use read-only transactions. See
|
317
317
|
# TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
|
318
|
-
# min_read_timestamp.
|
319
|
-
#
|
320
|
-
#
|
321
|
-
#
|
322
|
-
#
|
323
|
-
#
|
318
|
+
# min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
|
319
|
+
# continuously garbage collects deleted and overwritten data in the background
|
320
|
+
# to reclaim storage space. This process is known as "version GC". By default,
|
321
|
+
# version GC reclaims versions after they are one hour old. Because of this,
|
322
|
+
# Cloud Spanner cannot perform reads at read timestamps more than one hour in
|
323
|
+
# the past. This restriction also applies to in-progress reads and/or SQL
|
324
324
|
# queries whose timestamp become too old while executing. Reads and SQL queries
|
325
|
-
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
326
|
-
# Partitioned DML Transactions Partitioned DML transactions are used to execute
|
325
|
+
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
326
|
+
# Partitioned DML Transactions: Partitioned DML transactions are used to execute
|
327
327
|
# DML statements with a different execution strategy that provides different,
|
328
328
|
# and often better, scalability properties for large, table-wide operations than
|
329
329
|
# DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
|
@@ -512,12 +512,12 @@ module Google
|
|
512
512
|
attr_accessor :return_commit_stats
|
513
513
|
alias_method :return_commit_stats?, :return_commit_stats
|
514
514
|
|
515
|
-
#
|
515
|
+
# Transactions: Each session can have at most one active transaction at a time (
|
516
516
|
# note that standalone reads and queries use a transaction internally and do
|
517
517
|
# count towards the one transaction limit). After the active transaction is
|
518
518
|
# completed, the session can immediately be re-used for the next transaction. It
|
519
|
-
# is not necessary to create a new session for each transaction.
|
520
|
-
# Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
519
|
+
# is not necessary to create a new session for each transaction. Transaction
|
520
|
+
# Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
521
521
|
# This type of transaction is the only way to write data into Cloud Spanner.
|
522
522
|
# These transactions rely on pessimistic locking and, if necessary, two-phase
|
523
523
|
# commit. Locking read-write transactions may abort, requiring the application
|
@@ -535,8 +535,8 @@ module Google
|
|
535
535
|
# transactions. As a consequence of not taking locks, they also do not abort, so
|
536
536
|
# retry loops are not needed. Transactions may only read/write data in a single
|
537
537
|
# database. They may, however, read/write data in different tables within that
|
538
|
-
# database.
|
539
|
-
#
|
538
|
+
# database. Locking Read-Write Transactions: Locking transactions may be used to
|
539
|
+
# atomically read-modify-write data anywhere in a database. This type of
|
540
540
|
# transaction is externally consistent. Clients should attempt to minimize the
|
541
541
|
# amount of time a transaction is active. Faster transactions commit with higher
|
542
542
|
# probability and cause less contention. Cloud Spanner attempts to keep read
|
@@ -545,7 +545,7 @@ module Google
|
|
545
545
|
# inactivity at the client may cause Cloud Spanner to release a transaction's
|
546
546
|
# locks and abort it. Conceptually, a read-write transaction consists of zero or
|
547
547
|
# more reads or SQL statements followed by Commit. At any time before Commit,
|
548
|
-
# the client can send a Rollback request to abort the transaction.
|
548
|
+
# the client can send a Rollback request to abort the transaction. Semantics:
|
549
549
|
# Cloud Spanner can commit the transaction if all read locks it acquired are
|
550
550
|
# still valid at commit time, and it is able to acquire write locks for all
|
551
551
|
# writes. Cloud Spanner can abort the transaction for any reason. If a commit
|
@@ -553,24 +553,24 @@ module Google
|
|
553
553
|
# not modified any user data in Cloud Spanner. Unless the transaction commits,
|
554
554
|
# Cloud Spanner makes no guarantees about how long the transaction's locks were
|
555
555
|
# held for. It is an error to use Cloud Spanner locks for any sort of mutual
|
556
|
-
# exclusion other than between Cloud Spanner transactions themselves.
|
557
|
-
#
|
558
|
-
#
|
559
|
-
#
|
560
|
-
#
|
561
|
-
#
|
562
|
-
#
|
563
|
-
#
|
564
|
-
#
|
565
|
-
#
|
566
|
-
#
|
567
|
-
#
|
568
|
-
#
|
569
|
-
#
|
570
|
-
#
|
571
|
-
#
|
572
|
-
#
|
573
|
-
# becoming idle.
|
556
|
+
# exclusion other than between Cloud Spanner transactions themselves. Retrying
|
557
|
+
# Aborted Transactions: When a transaction aborts, the application can choose to
|
558
|
+
# retry the whole transaction again. To maximize the chances of successfully
|
559
|
+
# committing the retry, the client should execute the retry in the same session
|
560
|
+
# as the original attempt. The original session's lock priority increases with
|
561
|
+
# each consecutive abort, meaning that each attempt has a slightly better chance
|
562
|
+
# of success than the previous. Under some circumstances (e.g., many
|
563
|
+
# transactions attempting to modify the same row(s)), a transaction can abort
|
564
|
+
# many times in a short period before successfully committing. Thus, it is not a
|
565
|
+
# good idea to cap the number of retries a transaction can attempt; instead, it
|
566
|
+
# is better to limit the total amount of wall time spent retrying. Idle
|
567
|
+
# Transactions: A transaction is considered idle if it has no outstanding reads
|
568
|
+
# or SQL queries and has not started a read or SQL query within the last 10
|
569
|
+
# seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
|
570
|
+
# hold on to locks indefinitely. In that case, the commit will fail with error `
|
571
|
+
# ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
|
572
|
+
# query in the transaction (e.g., `SELECT 1`) prevents the transaction from
|
573
|
+
# becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
|
574
574
|
# transactions provides a simpler method than locking read-write transactions
|
575
575
|
# for doing several consistent reads. However, this type of transaction does not
|
576
576
|
# support writes. Snapshot transactions do not take locks. Instead, they work by
|
@@ -588,15 +588,15 @@ module Google
|
|
588
588
|
# is geographically distributed, stale read-only transactions can execute more
|
589
589
|
# quickly than strong or read-write transaction, because they are able to
|
590
590
|
# execute far from the leader replica. Each type of timestamp bound is discussed
|
591
|
-
# in detail below.
|
592
|
-
#
|
591
|
+
# in detail below. Strong: Strong reads are guaranteed to see the effects of all
|
592
|
+
# transactions that have committed before the start of the read. Furthermore,
|
593
593
|
# all rows yielded by a single read are consistent with each other -- if any
|
594
594
|
# part of the read observes a transaction, all parts of the read see the
|
595
595
|
# transaction. Strong reads are not repeatable: two consecutive strong read-only
|
596
596
|
# transactions might return inconsistent results if there are concurrent writes.
|
597
597
|
# If consistency across reads is required, the reads should be executed within a
|
598
598
|
# transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
|
599
|
-
# strong.
|
599
|
+
# strong. Exact Staleness: These timestamp bounds execute reads at a user-
|
600
600
|
# specified timestamp. Reads at a timestamp are guaranteed to see a consistent
|
601
601
|
# prefix of the global transaction history: they observe modifications done by
|
602
602
|
# all transactions with a commit timestamp <= the read timestamp, and observe
|
@@ -608,8 +608,8 @@ module Google
|
|
608
608
|
# to pick a timestamp. As a result, they execute slightly faster than the
|
609
609
|
# equivalent boundedly stale concurrency modes. On the other hand, boundedly
|
610
610
|
# stale reads usually return fresher results. See TransactionOptions.ReadOnly.
|
611
|
-
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness.
|
612
|
-
# Staleness Bounded staleness modes allow Cloud Spanner to pick the read
|
611
|
+
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
|
612
|
+
# Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
|
613
613
|
# timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
|
614
614
|
# the newest timestamp within the staleness bound that allows execution of the
|
615
615
|
# reads at the closest available replica without blocking. All rows yielded are
|
@@ -626,15 +626,15 @@ module Google
|
|
626
626
|
# timestamp negotiation requires up-front knowledge of which rows will be read,
|
627
627
|
# it can only be used with single-use read-only transactions. See
|
628
628
|
# TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
|
629
|
-
# min_read_timestamp.
|
630
|
-
#
|
631
|
-
#
|
632
|
-
#
|
633
|
-
#
|
634
|
-
#
|
629
|
+
# min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
|
630
|
+
# continuously garbage collects deleted and overwritten data in the background
|
631
|
+
# to reclaim storage space. This process is known as "version GC". By default,
|
632
|
+
# version GC reclaims versions after they are one hour old. Because of this,
|
633
|
+
# Cloud Spanner cannot perform reads at read timestamps more than one hour in
|
634
|
+
# the past. This restriction also applies to in-progress reads and/or SQL
|
635
635
|
# queries whose timestamp become too old while executing. Reads and SQL queries
|
636
|
-
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
637
|
-
# Partitioned DML Transactions Partitioned DML transactions are used to execute
|
636
|
+
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
637
|
+
# Partitioned DML Transactions: Partitioned DML transactions are used to execute
|
638
638
|
# DML statements with a different execution strategy that provides different,
|
639
639
|
# and often better, scalability properties for large, table-wide operations than
|
640
640
|
# DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
|
@@ -727,11 +727,11 @@ module Google
|
|
727
727
|
# The total number of mutations for the transaction. Knowing the `mutation_count`
|
728
728
|
# value can help you maximize the number of mutations in a transaction and
|
729
729
|
# minimize the number of API round trips. You can also monitor this value to
|
730
|
-
# prevent transactions from exceeding the system [limit](
|
731
|
-
# spanner/quotas#limits_for_creating_reading_updating_and_deleting_data). If
|
732
|
-
# number of mutations exceeds the limit, the server returns [
|
733
|
-
#
|
734
|
-
# INVALID_ARGUMENT).
|
730
|
+
# prevent transactions from exceeding the system [limit](https://cloud.google.
|
731
|
+
# com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data). If
|
732
|
+
# the number of mutations exceeds the limit, the server returns [
|
733
|
+
# INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#
|
734
|
+
# ENUM_VALUES.INVALID_ARGUMENT).
|
735
735
|
# Corresponds to the JSON property `mutationCount`
|
736
736
|
# @return [Fixnum]
|
737
737
|
attr_accessor :mutation_count
|
@@ -746,6 +746,45 @@ module Google
|
|
746
746
|
end
|
747
747
|
end
|
748
748
|
|
749
|
+
# A message representing context for a KeyRangeInfo, including a label, value,
|
750
|
+
# unit, and severity.
|
751
|
+
class ContextValue
|
752
|
+
include Google::Apis::Core::Hashable
|
753
|
+
|
754
|
+
# A message representing a user-facing string whose value may need to be
|
755
|
+
# translated before being displayed.
|
756
|
+
# Corresponds to the JSON property `label`
|
757
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
758
|
+
attr_accessor :label
|
759
|
+
|
760
|
+
# The severity of this context.
|
761
|
+
# Corresponds to the JSON property `severity`
|
762
|
+
# @return [String]
|
763
|
+
attr_accessor :severity
|
764
|
+
|
765
|
+
# The unit of the context value.
|
766
|
+
# Corresponds to the JSON property `unit`
|
767
|
+
# @return [String]
|
768
|
+
attr_accessor :unit
|
769
|
+
|
770
|
+
# The value for the context.
|
771
|
+
# Corresponds to the JSON property `value`
|
772
|
+
# @return [Float]
|
773
|
+
attr_accessor :value
|
774
|
+
|
775
|
+
def initialize(**args)
|
776
|
+
update!(**args)
|
777
|
+
end
|
778
|
+
|
779
|
+
# Update properties of this object
|
780
|
+
def update!(**args)
|
781
|
+
@label = args[:label] if args.key?(:label)
|
782
|
+
@severity = args[:severity] if args.key?(:severity)
|
783
|
+
@unit = args[:unit] if args.key?(:unit)
|
784
|
+
@value = args[:value] if args.key?(:value)
|
785
|
+
end
|
786
|
+
end
|
787
|
+
|
749
788
|
# Metadata type for the operation returned by CreateBackup.
|
750
789
|
class CreateBackupMetadata
|
751
790
|
include Google::Apis::Core::Hashable
|
@@ -1036,6 +1075,85 @@ module Google
|
|
1036
1075
|
end
|
1037
1076
|
end
|
1038
1077
|
|
1078
|
+
# A message representing a derived metric.
|
1079
|
+
class DerivedMetric
|
1080
|
+
include Google::Apis::Core::Hashable
|
1081
|
+
|
1082
|
+
# A message representing a user-facing string whose value may need to be
|
1083
|
+
# translated before being displayed.
|
1084
|
+
# Corresponds to the JSON property `denominator`
|
1085
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1086
|
+
attr_accessor :denominator
|
1087
|
+
|
1088
|
+
# A message representing a user-facing string whose value may need to be
|
1089
|
+
# translated before being displayed.
|
1090
|
+
# Corresponds to the JSON property `numerator`
|
1091
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1092
|
+
attr_accessor :numerator
|
1093
|
+
|
1094
|
+
def initialize(**args)
|
1095
|
+
update!(**args)
|
1096
|
+
end
|
1097
|
+
|
1098
|
+
# Update properties of this object
|
1099
|
+
def update!(**args)
|
1100
|
+
@denominator = args[:denominator] if args.key?(:denominator)
|
1101
|
+
@numerator = args[:numerator] if args.key?(:numerator)
|
1102
|
+
end
|
1103
|
+
end
|
1104
|
+
|
1105
|
+
# A message representing the key visualizer diagnostic messages.
|
1106
|
+
class DiagnosticMessage
|
1107
|
+
include Google::Apis::Core::Hashable
|
1108
|
+
|
1109
|
+
# A message representing a user-facing string whose value may need to be
|
1110
|
+
# translated before being displayed.
|
1111
|
+
# Corresponds to the JSON property `info`
|
1112
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1113
|
+
attr_accessor :info
|
1114
|
+
|
1115
|
+
# A message representing a user-facing string whose value may need to be
|
1116
|
+
# translated before being displayed.
|
1117
|
+
# Corresponds to the JSON property `metric`
|
1118
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1119
|
+
attr_accessor :metric
|
1120
|
+
|
1121
|
+
# Whether this message is specific only for the current metric. By default
|
1122
|
+
# Diagnostics are shown for all metrics, regardless which metric is the
|
1123
|
+
# currently selected metric in the UI. However occasionally a metric will
|
1124
|
+
# generate so many messages that the resulting visual clutter becomes
|
1125
|
+
# overwhelming. In this case setting this to true, will show the diagnostic
|
1126
|
+
# messages for that metric only if it is the currently selected metric.
|
1127
|
+
# Corresponds to the JSON property `metricSpecific`
|
1128
|
+
# @return [Boolean]
|
1129
|
+
attr_accessor :metric_specific
|
1130
|
+
alias_method :metric_specific?, :metric_specific
|
1131
|
+
|
1132
|
+
# The severity of the diagnostic message.
|
1133
|
+
# Corresponds to the JSON property `severity`
|
1134
|
+
# @return [String]
|
1135
|
+
attr_accessor :severity
|
1136
|
+
|
1137
|
+
# A message representing a user-facing string whose value may need to be
|
1138
|
+
# translated before being displayed.
|
1139
|
+
# Corresponds to the JSON property `shortMessage`
|
1140
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1141
|
+
attr_accessor :short_message
|
1142
|
+
|
1143
|
+
def initialize(**args)
|
1144
|
+
update!(**args)
|
1145
|
+
end
|
1146
|
+
|
1147
|
+
# Update properties of this object
|
1148
|
+
def update!(**args)
|
1149
|
+
@info = args[:info] if args.key?(:info)
|
1150
|
+
@metric = args[:metric] if args.key?(:metric)
|
1151
|
+
@metric_specific = args[:metric_specific] if args.key?(:metric_specific)
|
1152
|
+
@severity = args[:severity] if args.key?(:severity)
|
1153
|
+
@short_message = args[:short_message] if args.key?(:short_message)
|
1154
|
+
end
|
1155
|
+
end
|
1156
|
+
|
1039
1157
|
# A generic empty message that you can re-use to avoid defining duplicated empty
|
1040
1158
|
# messages in your APIs. A typical example is to use it as the request or the
|
1041
1159
|
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
@@ -1454,6 +1572,49 @@ module Google
|
|
1454
1572
|
end
|
1455
1573
|
end
|
1456
1574
|
|
1575
|
+
# A message representing a (sparse) collection of hot keys for specific key
|
1576
|
+
# buckets.
|
1577
|
+
class IndexedHotKey
|
1578
|
+
include Google::Apis::Core::Hashable
|
1579
|
+
|
1580
|
+
# A (sparse) mapping from key bucket index to the index of the specific hot row
|
1581
|
+
# key for that key bucket. The index of the hot row key can be translated to the
|
1582
|
+
# actual row key via the ScanData.VisualizationData.indexed_keys repeated field.
|
1583
|
+
# Corresponds to the JSON property `sparseHotKeys`
|
1584
|
+
# @return [Hash<String,Fixnum>]
|
1585
|
+
attr_accessor :sparse_hot_keys
|
1586
|
+
|
1587
|
+
def initialize(**args)
|
1588
|
+
update!(**args)
|
1589
|
+
end
|
1590
|
+
|
1591
|
+
# Update properties of this object
|
1592
|
+
def update!(**args)
|
1593
|
+
@sparse_hot_keys = args[:sparse_hot_keys] if args.key?(:sparse_hot_keys)
|
1594
|
+
end
|
1595
|
+
end
|
1596
|
+
|
1597
|
+
# A message representing a (sparse) collection of KeyRangeInfos for specific key
|
1598
|
+
# buckets.
|
1599
|
+
class IndexedKeyRangeInfos
|
1600
|
+
include Google::Apis::Core::Hashable
|
1601
|
+
|
1602
|
+
# A (sparse) mapping from key bucket index to the KeyRangeInfos for that key
|
1603
|
+
# bucket.
|
1604
|
+
# Corresponds to the JSON property `keyRangeInfos`
|
1605
|
+
# @return [Hash<String,Google::Apis::SpannerV1::KeyRangeInfos>]
|
1606
|
+
attr_accessor :key_range_infos
|
1607
|
+
|
1608
|
+
def initialize(**args)
|
1609
|
+
update!(**args)
|
1610
|
+
end
|
1611
|
+
|
1612
|
+
# Update properties of this object
|
1613
|
+
def update!(**args)
|
1614
|
+
@key_range_infos = args[:key_range_infos] if args.key?(:key_range_infos)
|
1615
|
+
end
|
1616
|
+
end
|
1617
|
+
|
1457
1618
|
# An isolated set of Cloud Spanner resources on which databases can be hosted.
|
1458
1619
|
class Instance
|
1459
1620
|
include Google::Apis::Core::Hashable
|
@@ -1511,6 +1672,13 @@ module Google
|
|
1511
1672
|
# @return [Fixnum]
|
1512
1673
|
attr_accessor :node_count
|
1513
1674
|
|
1675
|
+
# The number of processing units allocated to this instance. At most one of
|
1676
|
+
# processing_units or node_count should be present in the message. This may be
|
1677
|
+
# zero in API responses for instances that are not yet in state `READY`.
|
1678
|
+
# Corresponds to the JSON property `processingUnits`
|
1679
|
+
# @return [Fixnum]
|
1680
|
+
attr_accessor :processing_units
|
1681
|
+
|
1514
1682
|
# Output only. The current instance state. For CreateInstance, the state must be
|
1515
1683
|
# either omitted or set to `CREATING`. For UpdateInstance, the state must be
|
1516
1684
|
# either omitted or set to `READY`.
|
@@ -1530,6 +1698,7 @@ module Google
|
|
1530
1698
|
@labels = args[:labels] if args.key?(:labels)
|
1531
1699
|
@name = args[:name] if args.key?(:name)
|
1532
1700
|
@node_count = args[:node_count] if args.key?(:node_count)
|
1701
|
+
@processing_units = args[:processing_units] if args.key?(:processing_units)
|
1533
1702
|
@state = args[:state] if args.key?(:state)
|
1534
1703
|
end
|
1535
1704
|
end
|
@@ -1642,6 +1811,97 @@ module Google
|
|
1642
1811
|
end
|
1643
1812
|
end
|
1644
1813
|
|
1814
|
+
# A message representing information for a key range (possibly one key).
|
1815
|
+
class KeyRangeInfo
|
1816
|
+
include Google::Apis::Core::Hashable
|
1817
|
+
|
1818
|
+
# The list of context values for this key range.
|
1819
|
+
# Corresponds to the JSON property `contextValues`
|
1820
|
+
# @return [Array<Google::Apis::SpannerV1::ContextValue>]
|
1821
|
+
attr_accessor :context_values
|
1822
|
+
|
1823
|
+
# The index of the end key in indexed_keys.
|
1824
|
+
# Corresponds to the JSON property `endKeyIndex`
|
1825
|
+
# @return [Fixnum]
|
1826
|
+
attr_accessor :end_key_index
|
1827
|
+
|
1828
|
+
# A message representing a user-facing string whose value may need to be
|
1829
|
+
# translated before being displayed.
|
1830
|
+
# Corresponds to the JSON property `info`
|
1831
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1832
|
+
attr_accessor :info
|
1833
|
+
|
1834
|
+
# The number of keys this range covers.
|
1835
|
+
# Corresponds to the JSON property `keysCount`
|
1836
|
+
# @return [Fixnum]
|
1837
|
+
attr_accessor :keys_count
|
1838
|
+
|
1839
|
+
# A message representing a user-facing string whose value may need to be
|
1840
|
+
# translated before being displayed.
|
1841
|
+
# Corresponds to the JSON property `metric`
|
1842
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1843
|
+
attr_accessor :metric
|
1844
|
+
|
1845
|
+
# The index of the start key in indexed_keys.
|
1846
|
+
# Corresponds to the JSON property `startKeyIndex`
|
1847
|
+
# @return [Fixnum]
|
1848
|
+
attr_accessor :start_key_index
|
1849
|
+
|
1850
|
+
# A message representing a user-facing string whose value may need to be
|
1851
|
+
# translated before being displayed.
|
1852
|
+
# Corresponds to the JSON property `unit`
|
1853
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
1854
|
+
attr_accessor :unit
|
1855
|
+
|
1856
|
+
# The value of the metric.
|
1857
|
+
# Corresponds to the JSON property `value`
|
1858
|
+
# @return [Float]
|
1859
|
+
attr_accessor :value
|
1860
|
+
|
1861
|
+
def initialize(**args)
|
1862
|
+
update!(**args)
|
1863
|
+
end
|
1864
|
+
|
1865
|
+
# Update properties of this object
|
1866
|
+
def update!(**args)
|
1867
|
+
@context_values = args[:context_values] if args.key?(:context_values)
|
1868
|
+
@end_key_index = args[:end_key_index] if args.key?(:end_key_index)
|
1869
|
+
@info = args[:info] if args.key?(:info)
|
1870
|
+
@keys_count = args[:keys_count] if args.key?(:keys_count)
|
1871
|
+
@metric = args[:metric] if args.key?(:metric)
|
1872
|
+
@start_key_index = args[:start_key_index] if args.key?(:start_key_index)
|
1873
|
+
@unit = args[:unit] if args.key?(:unit)
|
1874
|
+
@value = args[:value] if args.key?(:value)
|
1875
|
+
end
|
1876
|
+
end
|
1877
|
+
|
1878
|
+
# A message representing a list of specific information for multiple key ranges.
|
1879
|
+
class KeyRangeInfos
|
1880
|
+
include Google::Apis::Core::Hashable
|
1881
|
+
|
1882
|
+
# The list individual KeyRangeInfos.
|
1883
|
+
# Corresponds to the JSON property `infos`
|
1884
|
+
# @return [Array<Google::Apis::SpannerV1::KeyRangeInfo>]
|
1885
|
+
attr_accessor :infos
|
1886
|
+
|
1887
|
+
# The total size of the list of all KeyRangeInfos. This may be larger than the
|
1888
|
+
# number of repeated messages above. If that is the case, this number may be
|
1889
|
+
# used to determine how many are not being shown.
|
1890
|
+
# Corresponds to the JSON property `totalSize`
|
1891
|
+
# @return [Fixnum]
|
1892
|
+
attr_accessor :total_size
|
1893
|
+
|
1894
|
+
def initialize(**args)
|
1895
|
+
update!(**args)
|
1896
|
+
end
|
1897
|
+
|
1898
|
+
# Update properties of this object
|
1899
|
+
def update!(**args)
|
1900
|
+
@infos = args[:infos] if args.key?(:infos)
|
1901
|
+
@total_size = args[:total_size] if args.key?(:total_size)
|
1902
|
+
end
|
1903
|
+
end
|
1904
|
+
|
1645
1905
|
# `KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All the
|
1646
1906
|
# keys are expected to be in the same table or index. The keys need not be
|
1647
1907
|
# sorted in any particular way. If the same key is specified multiple times in
|
@@ -1879,6 +2139,32 @@ module Google
|
|
1879
2139
|
end
|
1880
2140
|
end
|
1881
2141
|
|
2142
|
+
# Response method from the ListScans method.
|
2143
|
+
class ListScansResponse
|
2144
|
+
include Google::Apis::Core::Hashable
|
2145
|
+
|
2146
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
2147
|
+
# results in the list.
|
2148
|
+
# Corresponds to the JSON property `nextPageToken`
|
2149
|
+
# @return [String]
|
2150
|
+
attr_accessor :next_page_token
|
2151
|
+
|
2152
|
+
# Available scans based on the list query parameters.
|
2153
|
+
# Corresponds to the JSON property `scans`
|
2154
|
+
# @return [Array<Google::Apis::SpannerV1::Scan>]
|
2155
|
+
attr_accessor :scans
|
2156
|
+
|
2157
|
+
def initialize(**args)
|
2158
|
+
update!(**args)
|
2159
|
+
end
|
2160
|
+
|
2161
|
+
# Update properties of this object
|
2162
|
+
def update!(**args)
|
2163
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2164
|
+
@scans = args[:scans] if args.key?(:scans)
|
2165
|
+
end
|
2166
|
+
end
|
2167
|
+
|
1882
2168
|
# The response for ListSessions.
|
1883
2169
|
class ListSessionsResponse
|
1884
2170
|
include Google::Apis::Core::Hashable
|
@@ -1905,6 +2191,179 @@ module Google
|
|
1905
2191
|
end
|
1906
2192
|
end
|
1907
2193
|
|
2194
|
+
# A message representing a user-facing string whose value may need to be
|
2195
|
+
# translated before being displayed.
|
2196
|
+
class LocalizedString
|
2197
|
+
include Google::Apis::Core::Hashable
|
2198
|
+
|
2199
|
+
# A map of arguments used when creating the localized message. Keys represent
|
2200
|
+
# parameter names which may be used by the localized version when substituting
|
2201
|
+
# dynamic values.
|
2202
|
+
# Corresponds to the JSON property `args`
|
2203
|
+
# @return [Hash<String,String>]
|
2204
|
+
attr_accessor :args
|
2205
|
+
|
2206
|
+
# The canonical English version of this message. If no token is provided or the
|
2207
|
+
# front-end has no message associated with the token, this text will be
|
2208
|
+
# displayed as-is.
|
2209
|
+
# Corresponds to the JSON property `message`
|
2210
|
+
# @return [String]
|
2211
|
+
attr_accessor :message
|
2212
|
+
|
2213
|
+
# The token identifying the message, e.g. 'METRIC_READ_CPU'. This should be
|
2214
|
+
# unique within the service.
|
2215
|
+
# Corresponds to the JSON property `token`
|
2216
|
+
# @return [String]
|
2217
|
+
attr_accessor :token
|
2218
|
+
|
2219
|
+
def initialize(**args)
|
2220
|
+
update!(**args)
|
2221
|
+
end
|
2222
|
+
|
2223
|
+
# Update properties of this object
|
2224
|
+
def update!(**args)
|
2225
|
+
@args = args[:args] if args.key?(:args)
|
2226
|
+
@message = args[:message] if args.key?(:message)
|
2227
|
+
@token = args[:token] if args.key?(:token)
|
2228
|
+
end
|
2229
|
+
end
|
2230
|
+
|
2231
|
+
# A message representing the actual monitoring data, values for each key bucket
|
2232
|
+
# over time, of a metric.
|
2233
|
+
class Metric
|
2234
|
+
include Google::Apis::Core::Hashable
|
2235
|
+
|
2236
|
+
# The aggregation function used to aggregate each key bucket
|
2237
|
+
# Corresponds to the JSON property `aggregation`
|
2238
|
+
# @return [String]
|
2239
|
+
attr_accessor :aggregation
|
2240
|
+
|
2241
|
+
# A message representing a user-facing string whose value may need to be
|
2242
|
+
# translated before being displayed.
|
2243
|
+
# Corresponds to the JSON property `category`
|
2244
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
2245
|
+
attr_accessor :category
|
2246
|
+
|
2247
|
+
# A message representing a derived metric.
|
2248
|
+
# Corresponds to the JSON property `derived`
|
2249
|
+
# @return [Google::Apis::SpannerV1::DerivedMetric]
|
2250
|
+
attr_accessor :derived
|
2251
|
+
|
2252
|
+
# A message representing a user-facing string whose value may need to be
|
2253
|
+
# translated before being displayed.
|
2254
|
+
# Corresponds to the JSON property `displayLabel`
|
2255
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
2256
|
+
attr_accessor :display_label
|
2257
|
+
|
2258
|
+
# Whether the metric has any non-zero data.
|
2259
|
+
# Corresponds to the JSON property `hasNonzeroData`
|
2260
|
+
# @return [Boolean]
|
2261
|
+
attr_accessor :has_nonzero_data
|
2262
|
+
alias_method :has_nonzero_data?, :has_nonzero_data
|
2263
|
+
|
2264
|
+
# The value that is considered hot for the metric. On a per metric basis hotness
|
2265
|
+
# signals high utilization and something that might potentially be a cause for
|
2266
|
+
# concern by the end user. hot_value is used to calibrate and scale visual color
|
2267
|
+
# scales.
|
2268
|
+
# Corresponds to the JSON property `hotValue`
|
2269
|
+
# @return [Float]
|
2270
|
+
attr_accessor :hot_value
|
2271
|
+
|
2272
|
+
# The (sparse) mapping from time index to an IndexedHotKey message, representing
|
2273
|
+
# those time intervals for which there are hot keys.
|
2274
|
+
# Corresponds to the JSON property `indexedHotKeys`
|
2275
|
+
# @return [Hash<String,Google::Apis::SpannerV1::IndexedHotKey>]
|
2276
|
+
attr_accessor :indexed_hot_keys
|
2277
|
+
|
2278
|
+
# The (sparse) mapping from time interval index to an IndexedKeyRangeInfos
|
2279
|
+
# message, representing those time intervals for which there are informational
|
2280
|
+
# messages concerning key ranges.
|
2281
|
+
# Corresponds to the JSON property `indexedKeyRangeInfos`
|
2282
|
+
# @return [Hash<String,Google::Apis::SpannerV1::IndexedKeyRangeInfos>]
|
2283
|
+
attr_accessor :indexed_key_range_infos
|
2284
|
+
|
2285
|
+
# A message representing a user-facing string whose value may need to be
|
2286
|
+
# translated before being displayed.
|
2287
|
+
# Corresponds to the JSON property `info`
|
2288
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
2289
|
+
attr_accessor :info
|
2290
|
+
|
2291
|
+
# A message representing a matrix of floats.
|
2292
|
+
# Corresponds to the JSON property `matrix`
|
2293
|
+
# @return [Google::Apis::SpannerV1::MetricMatrix]
|
2294
|
+
attr_accessor :matrix
|
2295
|
+
|
2296
|
+
# A message representing a user-facing string whose value may need to be
|
2297
|
+
# translated before being displayed.
|
2298
|
+
# Corresponds to the JSON property `unit`
|
2299
|
+
# @return [Google::Apis::SpannerV1::LocalizedString]
|
2300
|
+
attr_accessor :unit
|
2301
|
+
|
2302
|
+
# Whether the metric is visible to the end user.
|
2303
|
+
# Corresponds to the JSON property `visible`
|
2304
|
+
# @return [Boolean]
|
2305
|
+
attr_accessor :visible
|
2306
|
+
alias_method :visible?, :visible
|
2307
|
+
|
2308
|
+
def initialize(**args)
|
2309
|
+
update!(**args)
|
2310
|
+
end
|
2311
|
+
|
2312
|
+
# Update properties of this object
|
2313
|
+
def update!(**args)
|
2314
|
+
@aggregation = args[:aggregation] if args.key?(:aggregation)
|
2315
|
+
@category = args[:category] if args.key?(:category)
|
2316
|
+
@derived = args[:derived] if args.key?(:derived)
|
2317
|
+
@display_label = args[:display_label] if args.key?(:display_label)
|
2318
|
+
@has_nonzero_data = args[:has_nonzero_data] if args.key?(:has_nonzero_data)
|
2319
|
+
@hot_value = args[:hot_value] if args.key?(:hot_value)
|
2320
|
+
@indexed_hot_keys = args[:indexed_hot_keys] if args.key?(:indexed_hot_keys)
|
2321
|
+
@indexed_key_range_infos = args[:indexed_key_range_infos] if args.key?(:indexed_key_range_infos)
|
2322
|
+
@info = args[:info] if args.key?(:info)
|
2323
|
+
@matrix = args[:matrix] if args.key?(:matrix)
|
2324
|
+
@unit = args[:unit] if args.key?(:unit)
|
2325
|
+
@visible = args[:visible] if args.key?(:visible)
|
2326
|
+
end
|
2327
|
+
end
|
2328
|
+
|
2329
|
+
# A message representing a matrix of floats.
|
2330
|
+
class MetricMatrix
|
2331
|
+
include Google::Apis::Core::Hashable
|
2332
|
+
|
2333
|
+
# The rows of the matrix.
|
2334
|
+
# Corresponds to the JSON property `rows`
|
2335
|
+
# @return [Array<Google::Apis::SpannerV1::MetricMatrixRow>]
|
2336
|
+
attr_accessor :rows
|
2337
|
+
|
2338
|
+
def initialize(**args)
|
2339
|
+
update!(**args)
|
2340
|
+
end
|
2341
|
+
|
2342
|
+
# Update properties of this object
|
2343
|
+
def update!(**args)
|
2344
|
+
@rows = args[:rows] if args.key?(:rows)
|
2345
|
+
end
|
2346
|
+
end
|
2347
|
+
|
2348
|
+
# A message representing a row of a matrix of floats.
|
2349
|
+
class MetricMatrixRow
|
2350
|
+
include Google::Apis::Core::Hashable
|
2351
|
+
|
2352
|
+
# The columns of the row.
|
2353
|
+
# Corresponds to the JSON property `cols`
|
2354
|
+
# @return [Array<Float>]
|
2355
|
+
attr_accessor :cols
|
2356
|
+
|
2357
|
+
def initialize(**args)
|
2358
|
+
update!(**args)
|
2359
|
+
end
|
2360
|
+
|
2361
|
+
# Update properties of this object
|
2362
|
+
def update!(**args)
|
2363
|
+
@cols = args[:cols] if args.key?(:cols)
|
2364
|
+
end
|
2365
|
+
end
|
2366
|
+
|
1908
2367
|
# A modification to one or more Cloud Spanner rows. Mutations can be applied to
|
1909
2368
|
# a Cloud Spanner database by sending them in a Commit call.
|
1910
2369
|
class Mutation
|
@@ -2513,6 +2972,55 @@ module Google
|
|
2513
2972
|
end
|
2514
2973
|
end
|
2515
2974
|
|
2975
|
+
# A message representing a key prefix node in the key prefix hierarchy. for eg.
|
2976
|
+
# Bigtable keyspaces are lexicographically ordered mappings of keys to values.
|
2977
|
+
# Keys often have a shared prefix structure where users use the keys to organize
|
2978
|
+
# data. Eg ///employee In this case Keysight will possibly use one node for a
|
2979
|
+
# company and reuse it for all employees that fall under the company. Doing so
|
2980
|
+
# improves legibility in the UI.
|
2981
|
+
class PrefixNode
|
2982
|
+
include Google::Apis::Core::Hashable
|
2983
|
+
|
2984
|
+
# Whether this corresponds to a data_source name.
|
2985
|
+
# Corresponds to the JSON property `dataSourceNode`
|
2986
|
+
# @return [Boolean]
|
2987
|
+
attr_accessor :data_source_node
|
2988
|
+
alias_method :data_source_node?, :data_source_node
|
2989
|
+
|
2990
|
+
# The depth in the prefix hierarchy.
|
2991
|
+
# Corresponds to the JSON property `depth`
|
2992
|
+
# @return [Fixnum]
|
2993
|
+
attr_accessor :depth
|
2994
|
+
|
2995
|
+
# The index of the end key bucket of the range that this node spans.
|
2996
|
+
# Corresponds to the JSON property `endIndex`
|
2997
|
+
# @return [Fixnum]
|
2998
|
+
attr_accessor :end_index
|
2999
|
+
|
3000
|
+
# The index of the start key bucket of the range that this node spans.
|
3001
|
+
# Corresponds to the JSON property `startIndex`
|
3002
|
+
# @return [Fixnum]
|
3003
|
+
attr_accessor :start_index
|
3004
|
+
|
3005
|
+
# The string represented by the prefix node.
|
3006
|
+
# Corresponds to the JSON property `word`
|
3007
|
+
# @return [String]
|
3008
|
+
attr_accessor :word
|
3009
|
+
|
3010
|
+
def initialize(**args)
|
3011
|
+
update!(**args)
|
3012
|
+
end
|
3013
|
+
|
3014
|
+
# Update properties of this object
|
3015
|
+
def update!(**args)
|
3016
|
+
@data_source_node = args[:data_source_node] if args.key?(:data_source_node)
|
3017
|
+
@depth = args[:depth] if args.key?(:depth)
|
3018
|
+
@end_index = args[:end_index] if args.key?(:end_index)
|
3019
|
+
@start_index = args[:start_index] if args.key?(:start_index)
|
3020
|
+
@word = args[:word] if args.key?(:word)
|
3021
|
+
end
|
3022
|
+
end
|
3023
|
+
|
2516
3024
|
# Query optimizer configuration.
|
2517
3025
|
class QueryOptions
|
2518
3026
|
include Google::Apis::Core::Hashable
|
@@ -2802,8 +3310,10 @@ module Google
|
|
2802
3310
|
# A per-request tag which can be applied to queries or reads, used for
|
2803
3311
|
# statistics collection. Both request_tag and transaction_tag can be specified
|
2804
3312
|
# for a read or query that belongs to a transaction. This field is ignored for
|
2805
|
-
# requests where it's not applicable (e.g. CommitRequest).
|
2806
|
-
#
|
3313
|
+
# requests where it's not applicable (e.g. CommitRequest). Legal characters for `
|
3314
|
+
# request_tag` values are all printable characters (ASCII 32 - 126) and the
|
3315
|
+
# length of a request_tag is limited to 50 characters. Values that exceed this
|
3316
|
+
# limit are truncated.
|
2807
3317
|
# Corresponds to the JSON property `requestTag`
|
2808
3318
|
# @return [String]
|
2809
3319
|
attr_accessor :request_tag
|
@@ -2812,8 +3322,10 @@ module Google
|
|
2812
3322
|
# and transaction_tag can be specified for a read or query that belongs to a
|
2813
3323
|
# transaction. The value of transaction_tag should be the same for all requests
|
2814
3324
|
# belonging to the same transaction. If this request doesn’t belong to any
|
2815
|
-
# transaction, transaction_tag will be ignored.
|
2816
|
-
#
|
3325
|
+
# transaction, transaction_tag will be ignored. Legal characters for `
|
3326
|
+
# transaction_tag` values are all printable characters (ASCII 32 - 126) and the
|
3327
|
+
# length of a transaction_tag is limited to 50 characters. Values that exceed
|
3328
|
+
# this limit are truncated.
|
2817
3329
|
# Corresponds to the JSON property `transactionTag`
|
2818
3330
|
# @return [String]
|
2819
3331
|
attr_accessor :transaction_tag
|
@@ -3100,6 +3612,87 @@ module Google
|
|
3100
3612
|
end
|
3101
3613
|
end
|
3102
3614
|
|
3615
|
+
# Scan is a structure which describes Cloud Key Visualizer scan information.
|
3616
|
+
class Scan
|
3617
|
+
include Google::Apis::Core::Hashable
|
3618
|
+
|
3619
|
+
# Additional information provided by the implementer.
|
3620
|
+
# Corresponds to the JSON property `details`
|
3621
|
+
# @return [Hash<String,Object>]
|
3622
|
+
attr_accessor :details
|
3623
|
+
|
3624
|
+
# The upper bound for when the scan is defined.
|
3625
|
+
# Corresponds to the JSON property `endTime`
|
3626
|
+
# @return [String]
|
3627
|
+
attr_accessor :end_time
|
3628
|
+
|
3629
|
+
# The unique name of the scan, specific to the Database service implementing
|
3630
|
+
# this interface.
|
3631
|
+
# Corresponds to the JSON property `name`
|
3632
|
+
# @return [String]
|
3633
|
+
attr_accessor :name
|
3634
|
+
|
3635
|
+
# ScanData contains Cloud Key Visualizer scan data used by the caller to
|
3636
|
+
# construct a visualization.
|
3637
|
+
# Corresponds to the JSON property `scanData`
|
3638
|
+
# @return [Google::Apis::SpannerV1::ScanData]
|
3639
|
+
attr_accessor :scan_data
|
3640
|
+
|
3641
|
+
# A range of time (inclusive) for when the scan is defined. The lower bound for
|
3642
|
+
# when the scan is defined.
|
3643
|
+
# Corresponds to the JSON property `startTime`
|
3644
|
+
# @return [String]
|
3645
|
+
attr_accessor :start_time
|
3646
|
+
|
3647
|
+
def initialize(**args)
|
3648
|
+
update!(**args)
|
3649
|
+
end
|
3650
|
+
|
3651
|
+
# Update properties of this object
|
3652
|
+
def update!(**args)
|
3653
|
+
@details = args[:details] if args.key?(:details)
|
3654
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
3655
|
+
@name = args[:name] if args.key?(:name)
|
3656
|
+
@scan_data = args[:scan_data] if args.key?(:scan_data)
|
3657
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
3658
|
+
end
|
3659
|
+
end
|
3660
|
+
|
3661
|
+
# ScanData contains Cloud Key Visualizer scan data used by the caller to
|
3662
|
+
# construct a visualization.
|
3663
|
+
class ScanData
|
3664
|
+
include Google::Apis::Core::Hashable
|
3665
|
+
|
3666
|
+
# Cloud Key Visualizer scan data. The range of time this information covers is
|
3667
|
+
# captured via the above time range fields. Note, this field is not available to
|
3668
|
+
# the ListScans method.
|
3669
|
+
# Corresponds to the JSON property `data`
|
3670
|
+
# @return [Google::Apis::SpannerV1::VisualizationData]
|
3671
|
+
attr_accessor :data
|
3672
|
+
|
3673
|
+
# The upper bound for when the contained data is defined.
|
3674
|
+
# Corresponds to the JSON property `endTime`
|
3675
|
+
# @return [String]
|
3676
|
+
attr_accessor :end_time
|
3677
|
+
|
3678
|
+
# A range of time (inclusive) for when the contained data is defined. The lower
|
3679
|
+
# bound for when the contained data is defined.
|
3680
|
+
# Corresponds to the JSON property `startTime`
|
3681
|
+
# @return [String]
|
3682
|
+
attr_accessor :start_time
|
3683
|
+
|
3684
|
+
def initialize(**args)
|
3685
|
+
update!(**args)
|
3686
|
+
end
|
3687
|
+
|
3688
|
+
# Update properties of this object
|
3689
|
+
def update!(**args)
|
3690
|
+
@data = args[:data] if args.key?(:data)
|
3691
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
3692
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
3693
|
+
end
|
3694
|
+
end
|
3695
|
+
|
3103
3696
|
# A session in the Cloud Spanner API.
|
3104
3697
|
class Session
|
3105
3698
|
include Google::Apis::Core::Hashable
|
@@ -3390,12 +3983,12 @@ module Google
|
|
3390
3983
|
end
|
3391
3984
|
end
|
3392
3985
|
|
3393
|
-
#
|
3986
|
+
# Transactions: Each session can have at most one active transaction at a time (
|
3394
3987
|
# note that standalone reads and queries use a transaction internally and do
|
3395
3988
|
# count towards the one transaction limit). After the active transaction is
|
3396
3989
|
# completed, the session can immediately be re-used for the next transaction. It
|
3397
|
-
# is not necessary to create a new session for each transaction.
|
3398
|
-
# Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
3990
|
+
# is not necessary to create a new session for each transaction. Transaction
|
3991
|
+
# Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
3399
3992
|
# This type of transaction is the only way to write data into Cloud Spanner.
|
3400
3993
|
# These transactions rely on pessimistic locking and, if necessary, two-phase
|
3401
3994
|
# commit. Locking read-write transactions may abort, requiring the application
|
@@ -3413,8 +4006,8 @@ module Google
|
|
3413
4006
|
# transactions. As a consequence of not taking locks, they also do not abort, so
|
3414
4007
|
# retry loops are not needed. Transactions may only read/write data in a single
|
3415
4008
|
# database. They may, however, read/write data in different tables within that
|
3416
|
-
# database.
|
3417
|
-
#
|
4009
|
+
# database. Locking Read-Write Transactions: Locking transactions may be used to
|
4010
|
+
# atomically read-modify-write data anywhere in a database. This type of
|
3418
4011
|
# transaction is externally consistent. Clients should attempt to minimize the
|
3419
4012
|
# amount of time a transaction is active. Faster transactions commit with higher
|
3420
4013
|
# probability and cause less contention. Cloud Spanner attempts to keep read
|
@@ -3423,7 +4016,7 @@ module Google
|
|
3423
4016
|
# inactivity at the client may cause Cloud Spanner to release a transaction's
|
3424
4017
|
# locks and abort it. Conceptually, a read-write transaction consists of zero or
|
3425
4018
|
# more reads or SQL statements followed by Commit. At any time before Commit,
|
3426
|
-
# the client can send a Rollback request to abort the transaction.
|
4019
|
+
# the client can send a Rollback request to abort the transaction. Semantics:
|
3427
4020
|
# Cloud Spanner can commit the transaction if all read locks it acquired are
|
3428
4021
|
# still valid at commit time, and it is able to acquire write locks for all
|
3429
4022
|
# writes. Cloud Spanner can abort the transaction for any reason. If a commit
|
@@ -3431,24 +4024,24 @@ module Google
|
|
3431
4024
|
# not modified any user data in Cloud Spanner. Unless the transaction commits,
|
3432
4025
|
# Cloud Spanner makes no guarantees about how long the transaction's locks were
|
3433
4026
|
# held for. It is an error to use Cloud Spanner locks for any sort of mutual
|
3434
|
-
# exclusion other than between Cloud Spanner transactions themselves.
|
3435
|
-
#
|
3436
|
-
#
|
3437
|
-
#
|
3438
|
-
#
|
3439
|
-
#
|
3440
|
-
#
|
3441
|
-
#
|
3442
|
-
#
|
3443
|
-
#
|
3444
|
-
#
|
3445
|
-
#
|
3446
|
-
#
|
3447
|
-
#
|
3448
|
-
#
|
3449
|
-
#
|
3450
|
-
#
|
3451
|
-
# becoming idle.
|
4027
|
+
# exclusion other than between Cloud Spanner transactions themselves. Retrying
|
4028
|
+
# Aborted Transactions: When a transaction aborts, the application can choose to
|
4029
|
+
# retry the whole transaction again. To maximize the chances of successfully
|
4030
|
+
# committing the retry, the client should execute the retry in the same session
|
4031
|
+
# as the original attempt. The original session's lock priority increases with
|
4032
|
+
# each consecutive abort, meaning that each attempt has a slightly better chance
|
4033
|
+
# of success than the previous. Under some circumstances (e.g., many
|
4034
|
+
# transactions attempting to modify the same row(s)), a transaction can abort
|
4035
|
+
# many times in a short period before successfully committing. Thus, it is not a
|
4036
|
+
# good idea to cap the number of retries a transaction can attempt; instead, it
|
4037
|
+
# is better to limit the total amount of wall time spent retrying. Idle
|
4038
|
+
# Transactions: A transaction is considered idle if it has no outstanding reads
|
4039
|
+
# or SQL queries and has not started a read or SQL query within the last 10
|
4040
|
+
# seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
|
4041
|
+
# hold on to locks indefinitely. In that case, the commit will fail with error `
|
4042
|
+
# ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
|
4043
|
+
# query in the transaction (e.g., `SELECT 1`) prevents the transaction from
|
4044
|
+
# becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
|
3452
4045
|
# transactions provides a simpler method than locking read-write transactions
|
3453
4046
|
# for doing several consistent reads. However, this type of transaction does not
|
3454
4047
|
# support writes. Snapshot transactions do not take locks. Instead, they work by
|
@@ -3466,15 +4059,15 @@ module Google
|
|
3466
4059
|
# is geographically distributed, stale read-only transactions can execute more
|
3467
4060
|
# quickly than strong or read-write transaction, because they are able to
|
3468
4061
|
# execute far from the leader replica. Each type of timestamp bound is discussed
|
3469
|
-
# in detail below.
|
3470
|
-
#
|
4062
|
+
# in detail below. Strong: Strong reads are guaranteed to see the effects of all
|
4063
|
+
# transactions that have committed before the start of the read. Furthermore,
|
3471
4064
|
# all rows yielded by a single read are consistent with each other -- if any
|
3472
4065
|
# part of the read observes a transaction, all parts of the read see the
|
3473
4066
|
# transaction. Strong reads are not repeatable: two consecutive strong read-only
|
3474
4067
|
# transactions might return inconsistent results if there are concurrent writes.
|
3475
4068
|
# If consistency across reads is required, the reads should be executed within a
|
3476
4069
|
# transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
|
3477
|
-
# strong.
|
4070
|
+
# strong. Exact Staleness: These timestamp bounds execute reads at a user-
|
3478
4071
|
# specified timestamp. Reads at a timestamp are guaranteed to see a consistent
|
3479
4072
|
# prefix of the global transaction history: they observe modifications done by
|
3480
4073
|
# all transactions with a commit timestamp <= the read timestamp, and observe
|
@@ -3486,8 +4079,8 @@ module Google
|
|
3486
4079
|
# to pick a timestamp. As a result, they execute slightly faster than the
|
3487
4080
|
# equivalent boundedly stale concurrency modes. On the other hand, boundedly
|
3488
4081
|
# stale reads usually return fresher results. See TransactionOptions.ReadOnly.
|
3489
|
-
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness.
|
3490
|
-
# Staleness Bounded staleness modes allow Cloud Spanner to pick the read
|
4082
|
+
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
|
4083
|
+
# Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
|
3491
4084
|
# timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
|
3492
4085
|
# the newest timestamp within the staleness bound that allows execution of the
|
3493
4086
|
# reads at the closest available replica without blocking. All rows yielded are
|
@@ -3504,15 +4097,15 @@ module Google
|
|
3504
4097
|
# timestamp negotiation requires up-front knowledge of which rows will be read,
|
3505
4098
|
# it can only be used with single-use read-only transactions. See
|
3506
4099
|
# TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
|
3507
|
-
# min_read_timestamp.
|
3508
|
-
#
|
3509
|
-
#
|
3510
|
-
#
|
3511
|
-
#
|
3512
|
-
#
|
4100
|
+
# min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
|
4101
|
+
# continuously garbage collects deleted and overwritten data in the background
|
4102
|
+
# to reclaim storage space. This process is known as "version GC". By default,
|
4103
|
+
# version GC reclaims versions after they are one hour old. Because of this,
|
4104
|
+
# Cloud Spanner cannot perform reads at read timestamps more than one hour in
|
4105
|
+
# the past. This restriction also applies to in-progress reads and/or SQL
|
3513
4106
|
# queries whose timestamp become too old while executing. Reads and SQL queries
|
3514
|
-
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
3515
|
-
# Partitioned DML Transactions Partitioned DML transactions are used to execute
|
4107
|
+
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
4108
|
+
# Partitioned DML Transactions: Partitioned DML transactions are used to execute
|
3516
4109
|
# DML statements with a different execution strategy that provides different,
|
3517
4110
|
# and often better, scalability properties for large, table-wide operations than
|
3518
4111
|
# DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
|
@@ -3585,12 +4178,12 @@ module Google
|
|
3585
4178
|
class TransactionSelector
|
3586
4179
|
include Google::Apis::Core::Hashable
|
3587
4180
|
|
3588
|
-
#
|
4181
|
+
# Transactions: Each session can have at most one active transaction at a time (
|
3589
4182
|
# note that standalone reads and queries use a transaction internally and do
|
3590
4183
|
# count towards the one transaction limit). After the active transaction is
|
3591
4184
|
# completed, the session can immediately be re-used for the next transaction. It
|
3592
|
-
# is not necessary to create a new session for each transaction.
|
3593
|
-
# Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
4185
|
+
# is not necessary to create a new session for each transaction. Transaction
|
4186
|
+
# Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
3594
4187
|
# This type of transaction is the only way to write data into Cloud Spanner.
|
3595
4188
|
# These transactions rely on pessimistic locking and, if necessary, two-phase
|
3596
4189
|
# commit. Locking read-write transactions may abort, requiring the application
|
@@ -3608,8 +4201,8 @@ module Google
|
|
3608
4201
|
# transactions. As a consequence of not taking locks, they also do not abort, so
|
3609
4202
|
# retry loops are not needed. Transactions may only read/write data in a single
|
3610
4203
|
# database. They may, however, read/write data in different tables within that
|
3611
|
-
# database.
|
3612
|
-
#
|
4204
|
+
# database. Locking Read-Write Transactions: Locking transactions may be used to
|
4205
|
+
# atomically read-modify-write data anywhere in a database. This type of
|
3613
4206
|
# transaction is externally consistent. Clients should attempt to minimize the
|
3614
4207
|
# amount of time a transaction is active. Faster transactions commit with higher
|
3615
4208
|
# probability and cause less contention. Cloud Spanner attempts to keep read
|
@@ -3618,7 +4211,7 @@ module Google
|
|
3618
4211
|
# inactivity at the client may cause Cloud Spanner to release a transaction's
|
3619
4212
|
# locks and abort it. Conceptually, a read-write transaction consists of zero or
|
3620
4213
|
# more reads or SQL statements followed by Commit. At any time before Commit,
|
3621
|
-
# the client can send a Rollback request to abort the transaction.
|
4214
|
+
# the client can send a Rollback request to abort the transaction. Semantics:
|
3622
4215
|
# Cloud Spanner can commit the transaction if all read locks it acquired are
|
3623
4216
|
# still valid at commit time, and it is able to acquire write locks for all
|
3624
4217
|
# writes. Cloud Spanner can abort the transaction for any reason. If a commit
|
@@ -3626,24 +4219,24 @@ module Google
|
|
3626
4219
|
# not modified any user data in Cloud Spanner. Unless the transaction commits,
|
3627
4220
|
# Cloud Spanner makes no guarantees about how long the transaction's locks were
|
3628
4221
|
# held for. It is an error to use Cloud Spanner locks for any sort of mutual
|
3629
|
-
# exclusion other than between Cloud Spanner transactions themselves.
|
3630
|
-
#
|
3631
|
-
#
|
3632
|
-
#
|
3633
|
-
#
|
3634
|
-
#
|
3635
|
-
#
|
3636
|
-
#
|
3637
|
-
#
|
3638
|
-
#
|
3639
|
-
#
|
3640
|
-
#
|
3641
|
-
#
|
3642
|
-
#
|
3643
|
-
#
|
3644
|
-
#
|
3645
|
-
#
|
3646
|
-
# becoming idle.
|
4222
|
+
# exclusion other than between Cloud Spanner transactions themselves. Retrying
|
4223
|
+
# Aborted Transactions: When a transaction aborts, the application can choose to
|
4224
|
+
# retry the whole transaction again. To maximize the chances of successfully
|
4225
|
+
# committing the retry, the client should execute the retry in the same session
|
4226
|
+
# as the original attempt. The original session's lock priority increases with
|
4227
|
+
# each consecutive abort, meaning that each attempt has a slightly better chance
|
4228
|
+
# of success than the previous. Under some circumstances (e.g., many
|
4229
|
+
# transactions attempting to modify the same row(s)), a transaction can abort
|
4230
|
+
# many times in a short period before successfully committing. Thus, it is not a
|
4231
|
+
# good idea to cap the number of retries a transaction can attempt; instead, it
|
4232
|
+
# is better to limit the total amount of wall time spent retrying. Idle
|
4233
|
+
# Transactions: A transaction is considered idle if it has no outstanding reads
|
4234
|
+
# or SQL queries and has not started a read or SQL query within the last 10
|
4235
|
+
# seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
|
4236
|
+
# hold on to locks indefinitely. In that case, the commit will fail with error `
|
4237
|
+
# ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
|
4238
|
+
# query in the transaction (e.g., `SELECT 1`) prevents the transaction from
|
4239
|
+
# becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
|
3647
4240
|
# transactions provides a simpler method than locking read-write transactions
|
3648
4241
|
# for doing several consistent reads. However, this type of transaction does not
|
3649
4242
|
# support writes. Snapshot transactions do not take locks. Instead, they work by
|
@@ -3661,15 +4254,15 @@ module Google
|
|
3661
4254
|
# is geographically distributed, stale read-only transactions can execute more
|
3662
4255
|
# quickly than strong or read-write transaction, because they are able to
|
3663
4256
|
# execute far from the leader replica. Each type of timestamp bound is discussed
|
3664
|
-
# in detail below.
|
3665
|
-
#
|
4257
|
+
# in detail below. Strong: Strong reads are guaranteed to see the effects of all
|
4258
|
+
# transactions that have committed before the start of the read. Furthermore,
|
3666
4259
|
# all rows yielded by a single read are consistent with each other -- if any
|
3667
4260
|
# part of the read observes a transaction, all parts of the read see the
|
3668
4261
|
# transaction. Strong reads are not repeatable: two consecutive strong read-only
|
3669
4262
|
# transactions might return inconsistent results if there are concurrent writes.
|
3670
4263
|
# If consistency across reads is required, the reads should be executed within a
|
3671
4264
|
# transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
|
3672
|
-
# strong.
|
4265
|
+
# strong. Exact Staleness: These timestamp bounds execute reads at a user-
|
3673
4266
|
# specified timestamp. Reads at a timestamp are guaranteed to see a consistent
|
3674
4267
|
# prefix of the global transaction history: they observe modifications done by
|
3675
4268
|
# all transactions with a commit timestamp <= the read timestamp, and observe
|
@@ -3681,8 +4274,8 @@ module Google
|
|
3681
4274
|
# to pick a timestamp. As a result, they execute slightly faster than the
|
3682
4275
|
# equivalent boundedly stale concurrency modes. On the other hand, boundedly
|
3683
4276
|
# stale reads usually return fresher results. See TransactionOptions.ReadOnly.
|
3684
|
-
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness.
|
3685
|
-
# Staleness Bounded staleness modes allow Cloud Spanner to pick the read
|
4277
|
+
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
|
4278
|
+
# Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
|
3686
4279
|
# timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
|
3687
4280
|
# the newest timestamp within the staleness bound that allows execution of the
|
3688
4281
|
# reads at the closest available replica without blocking. All rows yielded are
|
@@ -3699,15 +4292,15 @@ module Google
|
|
3699
4292
|
# timestamp negotiation requires up-front knowledge of which rows will be read,
|
3700
4293
|
# it can only be used with single-use read-only transactions. See
|
3701
4294
|
# TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
|
3702
|
-
# min_read_timestamp.
|
3703
|
-
#
|
3704
|
-
#
|
3705
|
-
#
|
3706
|
-
#
|
3707
|
-
#
|
4295
|
+
# min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
|
4296
|
+
# continuously garbage collects deleted and overwritten data in the background
|
4297
|
+
# to reclaim storage space. This process is known as "version GC". By default,
|
4298
|
+
# version GC reclaims versions after they are one hour old. Because of this,
|
4299
|
+
# Cloud Spanner cannot perform reads at read timestamps more than one hour in
|
4300
|
+
# the past. This restriction also applies to in-progress reads and/or SQL
|
3708
4301
|
# queries whose timestamp become too old while executing. Reads and SQL queries
|
3709
|
-
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
3710
|
-
# Partitioned DML Transactions Partitioned DML transactions are used to execute
|
4302
|
+
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
4303
|
+
# Partitioned DML Transactions: Partitioned DML transactions are used to execute
|
3711
4304
|
# DML statements with a different execution strategy that provides different,
|
3712
4305
|
# and often better, scalability properties for large, table-wide operations than
|
3713
4306
|
# DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
|
@@ -3754,12 +4347,12 @@ module Google
|
|
3754
4347
|
# @return [String]
|
3755
4348
|
attr_accessor :id
|
3756
4349
|
|
3757
|
-
#
|
4350
|
+
# Transactions: Each session can have at most one active transaction at a time (
|
3758
4351
|
# note that standalone reads and queries use a transaction internally and do
|
3759
4352
|
# count towards the one transaction limit). After the active transaction is
|
3760
4353
|
# completed, the session can immediately be re-used for the next transaction. It
|
3761
|
-
# is not necessary to create a new session for each transaction.
|
3762
|
-
# Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
4354
|
+
# is not necessary to create a new session for each transaction. Transaction
|
4355
|
+
# Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
|
3763
4356
|
# This type of transaction is the only way to write data into Cloud Spanner.
|
3764
4357
|
# These transactions rely on pessimistic locking and, if necessary, two-phase
|
3765
4358
|
# commit. Locking read-write transactions may abort, requiring the application
|
@@ -3777,8 +4370,8 @@ module Google
|
|
3777
4370
|
# transactions. As a consequence of not taking locks, they also do not abort, so
|
3778
4371
|
# retry loops are not needed. Transactions may only read/write data in a single
|
3779
4372
|
# database. They may, however, read/write data in different tables within that
|
3780
|
-
# database.
|
3781
|
-
#
|
4373
|
+
# database. Locking Read-Write Transactions: Locking transactions may be used to
|
4374
|
+
# atomically read-modify-write data anywhere in a database. This type of
|
3782
4375
|
# transaction is externally consistent. Clients should attempt to minimize the
|
3783
4376
|
# amount of time a transaction is active. Faster transactions commit with higher
|
3784
4377
|
# probability and cause less contention. Cloud Spanner attempts to keep read
|
@@ -3787,7 +4380,7 @@ module Google
|
|
3787
4380
|
# inactivity at the client may cause Cloud Spanner to release a transaction's
|
3788
4381
|
# locks and abort it. Conceptually, a read-write transaction consists of zero or
|
3789
4382
|
# more reads or SQL statements followed by Commit. At any time before Commit,
|
3790
|
-
# the client can send a Rollback request to abort the transaction.
|
4383
|
+
# the client can send a Rollback request to abort the transaction. Semantics:
|
3791
4384
|
# Cloud Spanner can commit the transaction if all read locks it acquired are
|
3792
4385
|
# still valid at commit time, and it is able to acquire write locks for all
|
3793
4386
|
# writes. Cloud Spanner can abort the transaction for any reason. If a commit
|
@@ -3795,24 +4388,24 @@ module Google
|
|
3795
4388
|
# not modified any user data in Cloud Spanner. Unless the transaction commits,
|
3796
4389
|
# Cloud Spanner makes no guarantees about how long the transaction's locks were
|
3797
4390
|
# held for. It is an error to use Cloud Spanner locks for any sort of mutual
|
3798
|
-
# exclusion other than between Cloud Spanner transactions themselves.
|
3799
|
-
#
|
3800
|
-
#
|
3801
|
-
#
|
3802
|
-
#
|
3803
|
-
#
|
3804
|
-
#
|
3805
|
-
#
|
3806
|
-
#
|
3807
|
-
#
|
3808
|
-
#
|
3809
|
-
#
|
3810
|
-
#
|
3811
|
-
#
|
3812
|
-
#
|
3813
|
-
#
|
3814
|
-
#
|
3815
|
-
# becoming idle.
|
4391
|
+
# exclusion other than between Cloud Spanner transactions themselves. Retrying
|
4392
|
+
# Aborted Transactions: When a transaction aborts, the application can choose to
|
4393
|
+
# retry the whole transaction again. To maximize the chances of successfully
|
4394
|
+
# committing the retry, the client should execute the retry in the same session
|
4395
|
+
# as the original attempt. The original session's lock priority increases with
|
4396
|
+
# each consecutive abort, meaning that each attempt has a slightly better chance
|
4397
|
+
# of success than the previous. Under some circumstances (e.g., many
|
4398
|
+
# transactions attempting to modify the same row(s)), a transaction can abort
|
4399
|
+
# many times in a short period before successfully committing. Thus, it is not a
|
4400
|
+
# good idea to cap the number of retries a transaction can attempt; instead, it
|
4401
|
+
# is better to limit the total amount of wall time spent retrying. Idle
|
4402
|
+
# Transactions: A transaction is considered idle if it has no outstanding reads
|
4403
|
+
# or SQL queries and has not started a read or SQL query within the last 10
|
4404
|
+
# seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
|
4405
|
+
# hold on to locks indefinitely. In that case, the commit will fail with error `
|
4406
|
+
# ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
|
4407
|
+
# query in the transaction (e.g., `SELECT 1`) prevents the transaction from
|
4408
|
+
# becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
|
3816
4409
|
# transactions provides a simpler method than locking read-write transactions
|
3817
4410
|
# for doing several consistent reads. However, this type of transaction does not
|
3818
4411
|
# support writes. Snapshot transactions do not take locks. Instead, they work by
|
@@ -3830,15 +4423,15 @@ module Google
|
|
3830
4423
|
# is geographically distributed, stale read-only transactions can execute more
|
3831
4424
|
# quickly than strong or read-write transaction, because they are able to
|
3832
4425
|
# execute far from the leader replica. Each type of timestamp bound is discussed
|
3833
|
-
# in detail below.
|
3834
|
-
#
|
4426
|
+
# in detail below. Strong: Strong reads are guaranteed to see the effects of all
|
4427
|
+
# transactions that have committed before the start of the read. Furthermore,
|
3835
4428
|
# all rows yielded by a single read are consistent with each other -- if any
|
3836
4429
|
# part of the read observes a transaction, all parts of the read see the
|
3837
4430
|
# transaction. Strong reads are not repeatable: two consecutive strong read-only
|
3838
4431
|
# transactions might return inconsistent results if there are concurrent writes.
|
3839
4432
|
# If consistency across reads is required, the reads should be executed within a
|
3840
4433
|
# transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
|
3841
|
-
# strong.
|
4434
|
+
# strong. Exact Staleness: These timestamp bounds execute reads at a user-
|
3842
4435
|
# specified timestamp. Reads at a timestamp are guaranteed to see a consistent
|
3843
4436
|
# prefix of the global transaction history: they observe modifications done by
|
3844
4437
|
# all transactions with a commit timestamp <= the read timestamp, and observe
|
@@ -3850,8 +4443,8 @@ module Google
|
|
3850
4443
|
# to pick a timestamp. As a result, they execute slightly faster than the
|
3851
4444
|
# equivalent boundedly stale concurrency modes. On the other hand, boundedly
|
3852
4445
|
# stale reads usually return fresher results. See TransactionOptions.ReadOnly.
|
3853
|
-
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness.
|
3854
|
-
# Staleness Bounded staleness modes allow Cloud Spanner to pick the read
|
4446
|
+
# read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
|
4447
|
+
# Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
|
3855
4448
|
# timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
|
3856
4449
|
# the newest timestamp within the staleness bound that allows execution of the
|
3857
4450
|
# reads at the closest available replica without blocking. All rows yielded are
|
@@ -3868,15 +4461,15 @@ module Google
|
|
3868
4461
|
# timestamp negotiation requires up-front knowledge of which rows will be read,
|
3869
4462
|
# it can only be used with single-use read-only transactions. See
|
3870
4463
|
# TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
|
3871
|
-
# min_read_timestamp.
|
3872
|
-
#
|
3873
|
-
#
|
3874
|
-
#
|
3875
|
-
#
|
3876
|
-
#
|
4464
|
+
# min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
|
4465
|
+
# continuously garbage collects deleted and overwritten data in the background
|
4466
|
+
# to reclaim storage space. This process is known as "version GC". By default,
|
4467
|
+
# version GC reclaims versions after they are one hour old. Because of this,
|
4468
|
+
# Cloud Spanner cannot perform reads at read timestamps more than one hour in
|
4469
|
+
# the past. This restriction also applies to in-progress reads and/or SQL
|
3877
4470
|
# queries whose timestamp become too old while executing. Reads and SQL queries
|
3878
|
-
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
3879
|
-
# Partitioned DML Transactions Partitioned DML transactions are used to execute
|
4471
|
+
# with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
|
4472
|
+
# Partitioned DML Transactions: Partitioned DML transactions are used to execute
|
3880
4473
|
# DML statements with a different execution strategy that provides different,
|
3881
4474
|
# and often better, scalability properties for large, table-wide operations than
|
3882
4475
|
# DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
|
@@ -4126,6 +4719,84 @@ module Google
|
|
4126
4719
|
end
|
4127
4720
|
end
|
4128
4721
|
|
4722
|
+
#
|
4723
|
+
class VisualizationData
|
4724
|
+
include Google::Apis::Core::Hashable
|
4725
|
+
|
4726
|
+
# The token signifying the end of a data_source.
|
4727
|
+
# Corresponds to the JSON property `dataSourceEndToken`
|
4728
|
+
# @return [String]
|
4729
|
+
attr_accessor :data_source_end_token
|
4730
|
+
|
4731
|
+
# The token delimiting a datasource name from the rest of a key in a data_source.
|
4732
|
+
# Corresponds to the JSON property `dataSourceSeparatorToken`
|
4733
|
+
# @return [String]
|
4734
|
+
attr_accessor :data_source_separator_token
|
4735
|
+
|
4736
|
+
# The list of messages (info, alerts, ...)
|
4737
|
+
# Corresponds to the JSON property `diagnosticMessages`
|
4738
|
+
# @return [Array<Google::Apis::SpannerV1::DiagnosticMessage>]
|
4739
|
+
attr_accessor :diagnostic_messages
|
4740
|
+
|
4741
|
+
# We discretize the entire keyspace into buckets. Assuming each bucket has an
|
4742
|
+
# inclusive keyrange and covers keys from k(i) ... k(n). In this case k(n) would
|
4743
|
+
# be an end key for a given range. end_key_string is the collection of all such
|
4744
|
+
# end keys
|
4745
|
+
# Corresponds to the JSON property `endKeyStrings`
|
4746
|
+
# @return [Array<String>]
|
4747
|
+
attr_accessor :end_key_strings
|
4748
|
+
|
4749
|
+
# Whether this scan contains PII.
|
4750
|
+
# Corresponds to the JSON property `hasPii`
|
4751
|
+
# @return [Boolean]
|
4752
|
+
attr_accessor :has_pii
|
4753
|
+
alias_method :has_pii?, :has_pii
|
4754
|
+
|
4755
|
+
# Keys of key ranges that contribute significantly to a given metric Can be
|
4756
|
+
# thought of as heavy hitters.
|
4757
|
+
# Corresponds to the JSON property `indexedKeys`
|
4758
|
+
# @return [Array<String>]
|
4759
|
+
attr_accessor :indexed_keys
|
4760
|
+
|
4761
|
+
# The token delimiting the key prefixes.
|
4762
|
+
# Corresponds to the JSON property `keySeparator`
|
4763
|
+
# @return [String]
|
4764
|
+
attr_accessor :key_separator
|
4765
|
+
|
4766
|
+
# The unit for the key: e.g. 'key' or 'chunk'.
|
4767
|
+
# Corresponds to the JSON property `keyUnit`
|
4768
|
+
# @return [String]
|
4769
|
+
attr_accessor :key_unit
|
4770
|
+
|
4771
|
+
# The list of data objects for each metric.
|
4772
|
+
# Corresponds to the JSON property `metrics`
|
4773
|
+
# @return [Array<Google::Apis::SpannerV1::Metric>]
|
4774
|
+
attr_accessor :metrics
|
4775
|
+
|
4776
|
+
# The list of extracted key prefix nodes used in the key prefix hierarchy.
|
4777
|
+
# Corresponds to the JSON property `prefixNodes`
|
4778
|
+
# @return [Array<Google::Apis::SpannerV1::PrefixNode>]
|
4779
|
+
attr_accessor :prefix_nodes
|
4780
|
+
|
4781
|
+
def initialize(**args)
|
4782
|
+
update!(**args)
|
4783
|
+
end
|
4784
|
+
|
4785
|
+
# Update properties of this object
|
4786
|
+
def update!(**args)
|
4787
|
+
@data_source_end_token = args[:data_source_end_token] if args.key?(:data_source_end_token)
|
4788
|
+
@data_source_separator_token = args[:data_source_separator_token] if args.key?(:data_source_separator_token)
|
4789
|
+
@diagnostic_messages = args[:diagnostic_messages] if args.key?(:diagnostic_messages)
|
4790
|
+
@end_key_strings = args[:end_key_strings] if args.key?(:end_key_strings)
|
4791
|
+
@has_pii = args[:has_pii] if args.key?(:has_pii)
|
4792
|
+
@indexed_keys = args[:indexed_keys] if args.key?(:indexed_keys)
|
4793
|
+
@key_separator = args[:key_separator] if args.key?(:key_separator)
|
4794
|
+
@key_unit = args[:key_unit] if args.key?(:key_unit)
|
4795
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
4796
|
+
@prefix_nodes = args[:prefix_nodes] if args.key?(:prefix_nodes)
|
4797
|
+
end
|
4798
|
+
end
|
4799
|
+
|
4129
4800
|
# Arguments to insert, update, insert_or_update, and replace operations.
|
4130
4801
|
class Write
|
4131
4802
|
include Google::Apis::Core::Hashable
|