google-apis-spanner_v1 0.9.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1243dcf90ea82fda1dae00b5a98f84e653b2610e887b6633aac5b573249cc70
4
- data.tar.gz: f0db958321c5009cac506b1ee4fb9e798020ce6de390e8283ec354c27812781e
3
+ metadata.gz: c4e365d7961157ce00c492b5c328fa3c75dec95f6561ded7c8d039d1f9e10a76
4
+ data.tar.gz: b9c001b73c4739d5f9bc617a7ad516860e413858e27267746432178315cccb6b
5
5
  SHA512:
6
- metadata.gz: '01860fbbfdb61ed4fb3da58328c6ab11769097d7ca2d52dbc5234eecb147fef348920a724138f6918d65c8e7bdbffd717fde36ee51e39a14d836f1324ede17aa'
7
- data.tar.gz: bf892f11e0fa5beac035efccbb672c87d0a18d6de49c0fe0a0dbd1890a1c4a4ed0f9bb4c74ba52adb07d2e4227c09b49fb4847413ff8e4f3ba55f3d507d563d6
6
+ metadata.gz: 855b5dee0234ceec4ec8b23d29766e9a29032d37753385df1bdbd48868763c48202a8a98f3441e85764403a9232b7bff6130bbbc1397ca40d873900469bc3229
7
+ data.tar.gz: 4a6fad9130539418072cf2b8c60344d7c1d9767d5ca77ac8416c4b04a92310fb0decf60f8a3772e14cc42289b3a833e72464c780021faca87fba8bc12feeeab8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Release history for google-apis-spanner_v1
2
2
 
3
+ ### v0.14.0 (2021-07-03)
4
+
5
+ * Regenerated from discovery document revision 20210624
6
+ * Regenerated using generator version 0.4.0
7
+ * Unspecified changes
8
+
9
+ ### v0.13.0 (2021-06-17)
10
+
11
+ * Regenerated from discovery document revision 20210611
12
+
13
+ ### v0.12.0 (2021-06-10)
14
+
15
+ * Regenerated from discovery document revision 20210603
16
+
17
+ ### v0.11.0 (2021-06-03)
18
+
19
+ * Regenerated from discovery document revision 20210527
20
+ * Regenerated using generator version 0.3.0
21
+
22
+ ### v0.10.0 (2021-05-22)
23
+
24
+ * Regenerated from discovery document revision 20210517
25
+ * Unspecified changes
26
+
3
27
  ### v0.9.0 (2021-04-17)
4
28
 
5
29
  * Regenerated from discovery document revision 20210405
@@ -201,12 +201,12 @@ module Google
201
201
  class BeginTransactionRequest
202
202
  include Google::Apis::Core::Hashable
203
203
 
204
- # # Transactions Each session can have at most one active transaction at a time (
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. # 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. ## Locking Read-Write Transactions Locking transactions may be used
228
- # to atomically read-modify-write data anywhere in a database. This type of
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. ## Semantics
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
- # Retrying Aborted Transactions When a transaction aborts, the application can
247
- # choose to retry the whole transaction again. To maximize the chances of
248
- # successfully committing the retry, the client should execute the retry in the
249
- # same session as the original attempt. The original session's lock priority
250
- # increases with each consecutive abort, meaning that each attempt has a
251
- # slightly better chance of success than the previous. Under some circumstances (
252
- # e.g., many transactions attempting to modify the same row(s)), a transaction
253
- # can abort many times in a short period before successfully committing. Thus,
254
- # it is not a good idea to cap the number of retries a transaction can attempt;
255
- # instead, it is better to limit the total amount of wall time spent retrying. ##
256
- # Idle Transactions A transaction is considered idle if it has no outstanding
257
- # reads or SQL queries and has not started a read or SQL query within the last
258
- # 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don'
259
- # t 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
261
- # SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from
262
- # becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only
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. ## Strong Strong reads are guaranteed to see the effects of
281
- # all transactions that have committed before the start of the read. Furthermore,
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. ## Exact Staleness These timestamp bounds execute reads at a user-
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. ## Bounded
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. ## Old Read Timestamps and Garbage Collection Cloud
319
- # Spanner continuously garbage collects deleted and overwritten data in the
320
- # background to reclaim storage space. This process is known as "version GC". By
321
- # default, version GC reclaims versions after they are one hour old. Because of
322
- # this, Cloud Spanner cannot perform reads at read timestamps more than one hour
323
- # in the past. This restriction also applies to in-progress reads and/or SQL
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
- # # Transactions Each session can have at most one active transaction at a time (
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. # 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. ## Locking Read-Write Transactions Locking transactions may be used
539
- # to atomically read-modify-write data anywhere in a database. This type of
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. ## Semantics
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
- # Retrying Aborted Transactions When a transaction aborts, the application can
558
- # choose to retry the whole transaction again. To maximize the chances of
559
- # successfully committing the retry, the client should execute the retry in the
560
- # same session as the original attempt. The original session's lock priority
561
- # increases with each consecutive abort, meaning that each attempt has a
562
- # slightly better chance of success than the previous. Under some circumstances (
563
- # e.g., many transactions attempting to modify the same row(s)), a transaction
564
- # can abort many times in a short period before successfully committing. Thus,
565
- # it is not a good idea to cap the number of retries a transaction can attempt;
566
- # instead, it is better to limit the total amount of wall time spent retrying. ##
567
- # Idle Transactions A transaction is considered idle if it has no outstanding
568
- # reads or SQL queries and has not started a read or SQL query within the last
569
- # 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don'
570
- # t 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
572
- # SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from
573
- # becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only
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. ## Strong Strong reads are guaranteed to see the effects of
592
- # all transactions that have committed before the start of the read. Furthermore,
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. ## Exact Staleness These timestamp bounds execute reads at a user-
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. ## Bounded
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. ## Old Read Timestamps and Garbage Collection Cloud
630
- # Spanner continuously garbage collects deleted and overwritten data in the
631
- # background to reclaim storage space. This process is known as "version GC". By
632
- # default, version GC reclaims versions after they are one hour old. Because of
633
- # this, Cloud Spanner cannot perform reads at read timestamps more than one hour
634
- # in the past. This restriction also applies to in-progress reads and/or SQL
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](http://cloud.google.com/
731
- # spanner/quotas#limits_for_creating_reading_updating_and_deleting_data). If the
732
- # number of mutations exceeds the limit, the server returns [INVALID_ARGUMENT](
733
- # http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.
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,103 @@ 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
+ # The time offset. This is the time since the start of the time interval.
1851
+ # Corresponds to the JSON property `timeOffset`
1852
+ # @return [String]
1853
+ attr_accessor :time_offset
1854
+
1855
+ # A message representing a user-facing string whose value may need to be
1856
+ # translated before being displayed.
1857
+ # Corresponds to the JSON property `unit`
1858
+ # @return [Google::Apis::SpannerV1::LocalizedString]
1859
+ attr_accessor :unit
1860
+
1861
+ # The value of the metric.
1862
+ # Corresponds to the JSON property `value`
1863
+ # @return [Float]
1864
+ attr_accessor :value
1865
+
1866
+ def initialize(**args)
1867
+ update!(**args)
1868
+ end
1869
+
1870
+ # Update properties of this object
1871
+ def update!(**args)
1872
+ @context_values = args[:context_values] if args.key?(:context_values)
1873
+ @end_key_index = args[:end_key_index] if args.key?(:end_key_index)
1874
+ @info = args[:info] if args.key?(:info)
1875
+ @keys_count = args[:keys_count] if args.key?(:keys_count)
1876
+ @metric = args[:metric] if args.key?(:metric)
1877
+ @start_key_index = args[:start_key_index] if args.key?(:start_key_index)
1878
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
1879
+ @unit = args[:unit] if args.key?(:unit)
1880
+ @value = args[:value] if args.key?(:value)
1881
+ end
1882
+ end
1883
+
1884
+ # A message representing a list of specific information for multiple key ranges.
1885
+ class KeyRangeInfos
1886
+ include Google::Apis::Core::Hashable
1887
+
1888
+ # The list individual KeyRangeInfos.
1889
+ # Corresponds to the JSON property `infos`
1890
+ # @return [Array<Google::Apis::SpannerV1::KeyRangeInfo>]
1891
+ attr_accessor :infos
1892
+
1893
+ # The total size of the list of all KeyRangeInfos. This may be larger than the
1894
+ # number of repeated messages above. If that is the case, this number may be
1895
+ # used to determine how many are not being shown.
1896
+ # Corresponds to the JSON property `totalSize`
1897
+ # @return [Fixnum]
1898
+ attr_accessor :total_size
1899
+
1900
+ def initialize(**args)
1901
+ update!(**args)
1902
+ end
1903
+
1904
+ # Update properties of this object
1905
+ def update!(**args)
1906
+ @infos = args[:infos] if args.key?(:infos)
1907
+ @total_size = args[:total_size] if args.key?(:total_size)
1908
+ end
1909
+ end
1910
+
1645
1911
  # `KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All the
1646
1912
  # keys are expected to be in the same table or index. The keys need not be
1647
1913
  # sorted in any particular way. If the same key is specified multiple times in
@@ -1879,6 +2145,32 @@ module Google
1879
2145
  end
1880
2146
  end
1881
2147
 
2148
+ # Response method from the ListScans method.
2149
+ class ListScansResponse
2150
+ include Google::Apis::Core::Hashable
2151
+
2152
+ # Token to retrieve the next page of results, or empty if there are no more
2153
+ # results in the list.
2154
+ # Corresponds to the JSON property `nextPageToken`
2155
+ # @return [String]
2156
+ attr_accessor :next_page_token
2157
+
2158
+ # Available scans based on the list query parameters.
2159
+ # Corresponds to the JSON property `scans`
2160
+ # @return [Array<Google::Apis::SpannerV1::Scan>]
2161
+ attr_accessor :scans
2162
+
2163
+ def initialize(**args)
2164
+ update!(**args)
2165
+ end
2166
+
2167
+ # Update properties of this object
2168
+ def update!(**args)
2169
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2170
+ @scans = args[:scans] if args.key?(:scans)
2171
+ end
2172
+ end
2173
+
1882
2174
  # The response for ListSessions.
1883
2175
  class ListSessionsResponse
1884
2176
  include Google::Apis::Core::Hashable
@@ -1905,6 +2197,179 @@ module Google
1905
2197
  end
1906
2198
  end
1907
2199
 
2200
+ # A message representing a user-facing string whose value may need to be
2201
+ # translated before being displayed.
2202
+ class LocalizedString
2203
+ include Google::Apis::Core::Hashable
2204
+
2205
+ # A map of arguments used when creating the localized message. Keys represent
2206
+ # parameter names which may be used by the localized version when substituting
2207
+ # dynamic values.
2208
+ # Corresponds to the JSON property `args`
2209
+ # @return [Hash<String,String>]
2210
+ attr_accessor :args
2211
+
2212
+ # The canonical English version of this message. If no token is provided or the
2213
+ # front-end has no message associated with the token, this text will be
2214
+ # displayed as-is.
2215
+ # Corresponds to the JSON property `message`
2216
+ # @return [String]
2217
+ attr_accessor :message
2218
+
2219
+ # The token identifying the message, e.g. 'METRIC_READ_CPU'. This should be
2220
+ # unique within the service.
2221
+ # Corresponds to the JSON property `token`
2222
+ # @return [String]
2223
+ attr_accessor :token
2224
+
2225
+ def initialize(**args)
2226
+ update!(**args)
2227
+ end
2228
+
2229
+ # Update properties of this object
2230
+ def update!(**args)
2231
+ @args = args[:args] if args.key?(:args)
2232
+ @message = args[:message] if args.key?(:message)
2233
+ @token = args[:token] if args.key?(:token)
2234
+ end
2235
+ end
2236
+
2237
+ # A message representing the actual monitoring data, values for each key bucket
2238
+ # over time, of a metric.
2239
+ class Metric
2240
+ include Google::Apis::Core::Hashable
2241
+
2242
+ # The aggregation function used to aggregate each key bucket
2243
+ # Corresponds to the JSON property `aggregation`
2244
+ # @return [String]
2245
+ attr_accessor :aggregation
2246
+
2247
+ # A message representing a user-facing string whose value may need to be
2248
+ # translated before being displayed.
2249
+ # Corresponds to the JSON property `category`
2250
+ # @return [Google::Apis::SpannerV1::LocalizedString]
2251
+ attr_accessor :category
2252
+
2253
+ # A message representing a derived metric.
2254
+ # Corresponds to the JSON property `derived`
2255
+ # @return [Google::Apis::SpannerV1::DerivedMetric]
2256
+ attr_accessor :derived
2257
+
2258
+ # A message representing a user-facing string whose value may need to be
2259
+ # translated before being displayed.
2260
+ # Corresponds to the JSON property `displayLabel`
2261
+ # @return [Google::Apis::SpannerV1::LocalizedString]
2262
+ attr_accessor :display_label
2263
+
2264
+ # Whether the metric has any non-zero data.
2265
+ # Corresponds to the JSON property `hasNonzeroData`
2266
+ # @return [Boolean]
2267
+ attr_accessor :has_nonzero_data
2268
+ alias_method :has_nonzero_data?, :has_nonzero_data
2269
+
2270
+ # The value that is considered hot for the metric. On a per metric basis hotness
2271
+ # signals high utilization and something that might potentially be a cause for
2272
+ # concern by the end user. hot_value is used to calibrate and scale visual color
2273
+ # scales.
2274
+ # Corresponds to the JSON property `hotValue`
2275
+ # @return [Float]
2276
+ attr_accessor :hot_value
2277
+
2278
+ # The (sparse) mapping from time index to an IndexedHotKey message, representing
2279
+ # those time intervals for which there are hot keys.
2280
+ # Corresponds to the JSON property `indexedHotKeys`
2281
+ # @return [Hash<String,Google::Apis::SpannerV1::IndexedHotKey>]
2282
+ attr_accessor :indexed_hot_keys
2283
+
2284
+ # The (sparse) mapping from time interval index to an IndexedKeyRangeInfos
2285
+ # message, representing those time intervals for which there are informational
2286
+ # messages concerning key ranges.
2287
+ # Corresponds to the JSON property `indexedKeyRangeInfos`
2288
+ # @return [Hash<String,Google::Apis::SpannerV1::IndexedKeyRangeInfos>]
2289
+ attr_accessor :indexed_key_range_infos
2290
+
2291
+ # A message representing a user-facing string whose value may need to be
2292
+ # translated before being displayed.
2293
+ # Corresponds to the JSON property `info`
2294
+ # @return [Google::Apis::SpannerV1::LocalizedString]
2295
+ attr_accessor :info
2296
+
2297
+ # A message representing a matrix of floats.
2298
+ # Corresponds to the JSON property `matrix`
2299
+ # @return [Google::Apis::SpannerV1::MetricMatrix]
2300
+ attr_accessor :matrix
2301
+
2302
+ # A message representing a user-facing string whose value may need to be
2303
+ # translated before being displayed.
2304
+ # Corresponds to the JSON property `unit`
2305
+ # @return [Google::Apis::SpannerV1::LocalizedString]
2306
+ attr_accessor :unit
2307
+
2308
+ # Whether the metric is visible to the end user.
2309
+ # Corresponds to the JSON property `visible`
2310
+ # @return [Boolean]
2311
+ attr_accessor :visible
2312
+ alias_method :visible?, :visible
2313
+
2314
+ def initialize(**args)
2315
+ update!(**args)
2316
+ end
2317
+
2318
+ # Update properties of this object
2319
+ def update!(**args)
2320
+ @aggregation = args[:aggregation] if args.key?(:aggregation)
2321
+ @category = args[:category] if args.key?(:category)
2322
+ @derived = args[:derived] if args.key?(:derived)
2323
+ @display_label = args[:display_label] if args.key?(:display_label)
2324
+ @has_nonzero_data = args[:has_nonzero_data] if args.key?(:has_nonzero_data)
2325
+ @hot_value = args[:hot_value] if args.key?(:hot_value)
2326
+ @indexed_hot_keys = args[:indexed_hot_keys] if args.key?(:indexed_hot_keys)
2327
+ @indexed_key_range_infos = args[:indexed_key_range_infos] if args.key?(:indexed_key_range_infos)
2328
+ @info = args[:info] if args.key?(:info)
2329
+ @matrix = args[:matrix] if args.key?(:matrix)
2330
+ @unit = args[:unit] if args.key?(:unit)
2331
+ @visible = args[:visible] if args.key?(:visible)
2332
+ end
2333
+ end
2334
+
2335
+ # A message representing a matrix of floats.
2336
+ class MetricMatrix
2337
+ include Google::Apis::Core::Hashable
2338
+
2339
+ # The rows of the matrix.
2340
+ # Corresponds to the JSON property `rows`
2341
+ # @return [Array<Google::Apis::SpannerV1::MetricMatrixRow>]
2342
+ attr_accessor :rows
2343
+
2344
+ def initialize(**args)
2345
+ update!(**args)
2346
+ end
2347
+
2348
+ # Update properties of this object
2349
+ def update!(**args)
2350
+ @rows = args[:rows] if args.key?(:rows)
2351
+ end
2352
+ end
2353
+
2354
+ # A message representing a row of a matrix of floats.
2355
+ class MetricMatrixRow
2356
+ include Google::Apis::Core::Hashable
2357
+
2358
+ # The columns of the row.
2359
+ # Corresponds to the JSON property `cols`
2360
+ # @return [Array<Float>]
2361
+ attr_accessor :cols
2362
+
2363
+ def initialize(**args)
2364
+ update!(**args)
2365
+ end
2366
+
2367
+ # Update properties of this object
2368
+ def update!(**args)
2369
+ @cols = args[:cols] if args.key?(:cols)
2370
+ end
2371
+ end
2372
+
1908
2373
  # A modification to one or more Cloud Spanner rows. Mutations can be applied to
1909
2374
  # a Cloud Spanner database by sending them in a Commit call.
1910
2375
  class Mutation
@@ -2513,6 +2978,55 @@ module Google
2513
2978
  end
2514
2979
  end
2515
2980
 
2981
+ # A message representing a key prefix node in the key prefix hierarchy. for eg.
2982
+ # Bigtable keyspaces are lexicographically ordered mappings of keys to values.
2983
+ # Keys often have a shared prefix structure where users use the keys to organize
2984
+ # data. Eg ///employee In this case Keysight will possibly use one node for a
2985
+ # company and reuse it for all employees that fall under the company. Doing so
2986
+ # improves legibility in the UI.
2987
+ class PrefixNode
2988
+ include Google::Apis::Core::Hashable
2989
+
2990
+ # Whether this corresponds to a data_source name.
2991
+ # Corresponds to the JSON property `dataSourceNode`
2992
+ # @return [Boolean]
2993
+ attr_accessor :data_source_node
2994
+ alias_method :data_source_node?, :data_source_node
2995
+
2996
+ # The depth in the prefix hierarchy.
2997
+ # Corresponds to the JSON property `depth`
2998
+ # @return [Fixnum]
2999
+ attr_accessor :depth
3000
+
3001
+ # The index of the end key bucket of the range that this node spans.
3002
+ # Corresponds to the JSON property `endIndex`
3003
+ # @return [Fixnum]
3004
+ attr_accessor :end_index
3005
+
3006
+ # The index of the start key bucket of the range that this node spans.
3007
+ # Corresponds to the JSON property `startIndex`
3008
+ # @return [Fixnum]
3009
+ attr_accessor :start_index
3010
+
3011
+ # The string represented by the prefix node.
3012
+ # Corresponds to the JSON property `word`
3013
+ # @return [String]
3014
+ attr_accessor :word
3015
+
3016
+ def initialize(**args)
3017
+ update!(**args)
3018
+ end
3019
+
3020
+ # Update properties of this object
3021
+ def update!(**args)
3022
+ @data_source_node = args[:data_source_node] if args.key?(:data_source_node)
3023
+ @depth = args[:depth] if args.key?(:depth)
3024
+ @end_index = args[:end_index] if args.key?(:end_index)
3025
+ @start_index = args[:start_index] if args.key?(:start_index)
3026
+ @word = args[:word] if args.key?(:word)
3027
+ end
3028
+ end
3029
+
2516
3030
  # Query optimizer configuration.
2517
3031
  class QueryOptions
2518
3032
  include Google::Apis::Core::Hashable
@@ -3104,6 +3618,87 @@ module Google
3104
3618
  end
3105
3619
  end
3106
3620
 
3621
+ # Scan is a structure which describes Cloud Key Visualizer scan information.
3622
+ class Scan
3623
+ include Google::Apis::Core::Hashable
3624
+
3625
+ # Additional information provided by the implementer.
3626
+ # Corresponds to the JSON property `details`
3627
+ # @return [Hash<String,Object>]
3628
+ attr_accessor :details
3629
+
3630
+ # The upper bound for when the scan is defined.
3631
+ # Corresponds to the JSON property `endTime`
3632
+ # @return [String]
3633
+ attr_accessor :end_time
3634
+
3635
+ # The unique name of the scan, specific to the Database service implementing
3636
+ # this interface.
3637
+ # Corresponds to the JSON property `name`
3638
+ # @return [String]
3639
+ attr_accessor :name
3640
+
3641
+ # ScanData contains Cloud Key Visualizer scan data used by the caller to
3642
+ # construct a visualization.
3643
+ # Corresponds to the JSON property `scanData`
3644
+ # @return [Google::Apis::SpannerV1::ScanData]
3645
+ attr_accessor :scan_data
3646
+
3647
+ # A range of time (inclusive) for when the scan is defined. The lower bound for
3648
+ # when the scan is defined.
3649
+ # Corresponds to the JSON property `startTime`
3650
+ # @return [String]
3651
+ attr_accessor :start_time
3652
+
3653
+ def initialize(**args)
3654
+ update!(**args)
3655
+ end
3656
+
3657
+ # Update properties of this object
3658
+ def update!(**args)
3659
+ @details = args[:details] if args.key?(:details)
3660
+ @end_time = args[:end_time] if args.key?(:end_time)
3661
+ @name = args[:name] if args.key?(:name)
3662
+ @scan_data = args[:scan_data] if args.key?(:scan_data)
3663
+ @start_time = args[:start_time] if args.key?(:start_time)
3664
+ end
3665
+ end
3666
+
3667
+ # ScanData contains Cloud Key Visualizer scan data used by the caller to
3668
+ # construct a visualization.
3669
+ class ScanData
3670
+ include Google::Apis::Core::Hashable
3671
+
3672
+ # Cloud Key Visualizer scan data. The range of time this information covers is
3673
+ # captured via the above time range fields. Note, this field is not available to
3674
+ # the ListScans method.
3675
+ # Corresponds to the JSON property `data`
3676
+ # @return [Google::Apis::SpannerV1::VisualizationData]
3677
+ attr_accessor :data
3678
+
3679
+ # The upper bound for when the contained data is defined.
3680
+ # Corresponds to the JSON property `endTime`
3681
+ # @return [String]
3682
+ attr_accessor :end_time
3683
+
3684
+ # A range of time (inclusive) for when the contained data is defined. The lower
3685
+ # bound for when the contained data is defined.
3686
+ # Corresponds to the JSON property `startTime`
3687
+ # @return [String]
3688
+ attr_accessor :start_time
3689
+
3690
+ def initialize(**args)
3691
+ update!(**args)
3692
+ end
3693
+
3694
+ # Update properties of this object
3695
+ def update!(**args)
3696
+ @data = args[:data] if args.key?(:data)
3697
+ @end_time = args[:end_time] if args.key?(:end_time)
3698
+ @start_time = args[:start_time] if args.key?(:start_time)
3699
+ end
3700
+ end
3701
+
3107
3702
  # A session in the Cloud Spanner API.
3108
3703
  class Session
3109
3704
  include Google::Apis::Core::Hashable
@@ -3394,12 +3989,12 @@ module Google
3394
3989
  end
3395
3990
  end
3396
3991
 
3397
- # # Transactions Each session can have at most one active transaction at a time (
3992
+ # Transactions: Each session can have at most one active transaction at a time (
3398
3993
  # note that standalone reads and queries use a transaction internally and do
3399
3994
  # count towards the one transaction limit). After the active transaction is
3400
3995
  # completed, the session can immediately be re-used for the next transaction. It
3401
- # is not necessary to create a new session for each transaction. # Transaction
3402
- # Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
3996
+ # is not necessary to create a new session for each transaction. Transaction
3997
+ # Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
3403
3998
  # This type of transaction is the only way to write data into Cloud Spanner.
3404
3999
  # These transactions rely on pessimistic locking and, if necessary, two-phase
3405
4000
  # commit. Locking read-write transactions may abort, requiring the application
@@ -3417,8 +4012,8 @@ module Google
3417
4012
  # transactions. As a consequence of not taking locks, they also do not abort, so
3418
4013
  # retry loops are not needed. Transactions may only read/write data in a single
3419
4014
  # database. They may, however, read/write data in different tables within that
3420
- # database. ## Locking Read-Write Transactions Locking transactions may be used
3421
- # to atomically read-modify-write data anywhere in a database. This type of
4015
+ # database. Locking Read-Write Transactions: Locking transactions may be used to
4016
+ # atomically read-modify-write data anywhere in a database. This type of
3422
4017
  # transaction is externally consistent. Clients should attempt to minimize the
3423
4018
  # amount of time a transaction is active. Faster transactions commit with higher
3424
4019
  # probability and cause less contention. Cloud Spanner attempts to keep read
@@ -3427,7 +4022,7 @@ module Google
3427
4022
  # inactivity at the client may cause Cloud Spanner to release a transaction's
3428
4023
  # locks and abort it. Conceptually, a read-write transaction consists of zero or
3429
4024
  # more reads or SQL statements followed by Commit. At any time before Commit,
3430
- # the client can send a Rollback request to abort the transaction. ## Semantics
4025
+ # the client can send a Rollback request to abort the transaction. Semantics:
3431
4026
  # Cloud Spanner can commit the transaction if all read locks it acquired are
3432
4027
  # still valid at commit time, and it is able to acquire write locks for all
3433
4028
  # writes. Cloud Spanner can abort the transaction for any reason. If a commit
@@ -3435,24 +4030,24 @@ module Google
3435
4030
  # not modified any user data in Cloud Spanner. Unless the transaction commits,
3436
4031
  # Cloud Spanner makes no guarantees about how long the transaction's locks were
3437
4032
  # held for. It is an error to use Cloud Spanner locks for any sort of mutual
3438
- # exclusion other than between Cloud Spanner transactions themselves. ##
3439
- # Retrying Aborted Transactions When a transaction aborts, the application can
3440
- # choose to retry the whole transaction again. To maximize the chances of
3441
- # successfully committing the retry, the client should execute the retry in the
3442
- # same session as the original attempt. The original session's lock priority
3443
- # increases with each consecutive abort, meaning that each attempt has a
3444
- # slightly better chance of success than the previous. Under some circumstances (
3445
- # e.g., many transactions attempting to modify the same row(s)), a transaction
3446
- # can abort many times in a short period before successfully committing. Thus,
3447
- # it is not a good idea to cap the number of retries a transaction can attempt;
3448
- # instead, it is better to limit the total amount of wall time spent retrying. ##
3449
- # Idle Transactions A transaction is considered idle if it has no outstanding
3450
- # reads or SQL queries and has not started a read or SQL query within the last
3451
- # 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don'
3452
- # t hold on to locks indefinitely. In that case, the commit will fail with error
3453
- # `ABORTED`. If this behavior is undesirable, periodically executing a simple
3454
- # SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from
3455
- # becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only
4033
+ # exclusion other than between Cloud Spanner transactions themselves. Retrying
4034
+ # Aborted Transactions: When a transaction aborts, the application can choose to
4035
+ # retry the whole transaction again. To maximize the chances of successfully
4036
+ # committing the retry, the client should execute the retry in the same session
4037
+ # as the original attempt. The original session's lock priority increases with
4038
+ # each consecutive abort, meaning that each attempt has a slightly better chance
4039
+ # of success than the previous. Under some circumstances (e.g., many
4040
+ # transactions attempting to modify the same row(s)), a transaction can abort
4041
+ # many times in a short period before successfully committing. Thus, it is not a
4042
+ # good idea to cap the number of retries a transaction can attempt; instead, it
4043
+ # is better to limit the total amount of wall time spent retrying. Idle
4044
+ # Transactions: A transaction is considered idle if it has no outstanding reads
4045
+ # or SQL queries and has not started a read or SQL query within the last 10
4046
+ # seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
4047
+ # hold on to locks indefinitely. In that case, the commit will fail with error `
4048
+ # ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
4049
+ # query in the transaction (e.g., `SELECT 1`) prevents the transaction from
4050
+ # becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
3456
4051
  # transactions provides a simpler method than locking read-write transactions
3457
4052
  # for doing several consistent reads. However, this type of transaction does not
3458
4053
  # support writes. Snapshot transactions do not take locks. Instead, they work by
@@ -3470,15 +4065,15 @@ module Google
3470
4065
  # is geographically distributed, stale read-only transactions can execute more
3471
4066
  # quickly than strong or read-write transaction, because they are able to
3472
4067
  # execute far from the leader replica. Each type of timestamp bound is discussed
3473
- # in detail below. ## Strong Strong reads are guaranteed to see the effects of
3474
- # all transactions that have committed before the start of the read. Furthermore,
4068
+ # in detail below. Strong: Strong reads are guaranteed to see the effects of all
4069
+ # transactions that have committed before the start of the read. Furthermore,
3475
4070
  # all rows yielded by a single read are consistent with each other -- if any
3476
4071
  # part of the read observes a transaction, all parts of the read see the
3477
4072
  # transaction. Strong reads are not repeatable: two consecutive strong read-only
3478
4073
  # transactions might return inconsistent results if there are concurrent writes.
3479
4074
  # If consistency across reads is required, the reads should be executed within a
3480
4075
  # transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
3481
- # strong. ## Exact Staleness These timestamp bounds execute reads at a user-
4076
+ # strong. Exact Staleness: These timestamp bounds execute reads at a user-
3482
4077
  # specified timestamp. Reads at a timestamp are guaranteed to see a consistent
3483
4078
  # prefix of the global transaction history: they observe modifications done by
3484
4079
  # all transactions with a commit timestamp <= the read timestamp, and observe
@@ -3490,8 +4085,8 @@ module Google
3490
4085
  # to pick a timestamp. As a result, they execute slightly faster than the
3491
4086
  # equivalent boundedly stale concurrency modes. On the other hand, boundedly
3492
4087
  # stale reads usually return fresher results. See TransactionOptions.ReadOnly.
3493
- # read_timestamp and TransactionOptions.ReadOnly.exact_staleness. ## Bounded
3494
- # Staleness Bounded staleness modes allow Cloud Spanner to pick the read
4088
+ # read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
4089
+ # Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
3495
4090
  # timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
3496
4091
  # the newest timestamp within the staleness bound that allows execution of the
3497
4092
  # reads at the closest available replica without blocking. All rows yielded are
@@ -3508,15 +4103,15 @@ module Google
3508
4103
  # timestamp negotiation requires up-front knowledge of which rows will be read,
3509
4104
  # it can only be used with single-use read-only transactions. See
3510
4105
  # TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
3511
- # min_read_timestamp. ## Old Read Timestamps and Garbage Collection Cloud
3512
- # Spanner continuously garbage collects deleted and overwritten data in the
3513
- # background to reclaim storage space. This process is known as "version GC". By
3514
- # default, version GC reclaims versions after they are one hour old. Because of
3515
- # this, Cloud Spanner cannot perform reads at read timestamps more than one hour
3516
- # in the past. This restriction also applies to in-progress reads and/or SQL
4106
+ # min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
4107
+ # continuously garbage collects deleted and overwritten data in the background
4108
+ # to reclaim storage space. This process is known as "version GC". By default,
4109
+ # version GC reclaims versions after they are one hour old. Because of this,
4110
+ # Cloud Spanner cannot perform reads at read timestamps more than one hour in
4111
+ # the past. This restriction also applies to in-progress reads and/or SQL
3517
4112
  # queries whose timestamp become too old while executing. Reads and SQL queries
3518
- # with too-old read timestamps fail with the error `FAILED_PRECONDITION`. ##
3519
- # Partitioned DML Transactions Partitioned DML transactions are used to execute
4113
+ # with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
4114
+ # Partitioned DML Transactions: Partitioned DML transactions are used to execute
3520
4115
  # DML statements with a different execution strategy that provides different,
3521
4116
  # and often better, scalability properties for large, table-wide operations than
3522
4117
  # DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
@@ -3589,12 +4184,12 @@ module Google
3589
4184
  class TransactionSelector
3590
4185
  include Google::Apis::Core::Hashable
3591
4186
 
3592
- # # Transactions Each session can have at most one active transaction at a time (
4187
+ # Transactions: Each session can have at most one active transaction at a time (
3593
4188
  # note that standalone reads and queries use a transaction internally and do
3594
4189
  # count towards the one transaction limit). After the active transaction is
3595
4190
  # completed, the session can immediately be re-used for the next transaction. It
3596
- # is not necessary to create a new session for each transaction. # Transaction
3597
- # Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
4191
+ # is not necessary to create a new session for each transaction. Transaction
4192
+ # Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
3598
4193
  # This type of transaction is the only way to write data into Cloud Spanner.
3599
4194
  # These transactions rely on pessimistic locking and, if necessary, two-phase
3600
4195
  # commit. Locking read-write transactions may abort, requiring the application
@@ -3612,8 +4207,8 @@ module Google
3612
4207
  # transactions. As a consequence of not taking locks, they also do not abort, so
3613
4208
  # retry loops are not needed. Transactions may only read/write data in a single
3614
4209
  # database. They may, however, read/write data in different tables within that
3615
- # database. ## Locking Read-Write Transactions Locking transactions may be used
3616
- # to atomically read-modify-write data anywhere in a database. This type of
4210
+ # database. Locking Read-Write Transactions: Locking transactions may be used to
4211
+ # atomically read-modify-write data anywhere in a database. This type of
3617
4212
  # transaction is externally consistent. Clients should attempt to minimize the
3618
4213
  # amount of time a transaction is active. Faster transactions commit with higher
3619
4214
  # probability and cause less contention. Cloud Spanner attempts to keep read
@@ -3622,7 +4217,7 @@ module Google
3622
4217
  # inactivity at the client may cause Cloud Spanner to release a transaction's
3623
4218
  # locks and abort it. Conceptually, a read-write transaction consists of zero or
3624
4219
  # more reads or SQL statements followed by Commit. At any time before Commit,
3625
- # the client can send a Rollback request to abort the transaction. ## Semantics
4220
+ # the client can send a Rollback request to abort the transaction. Semantics:
3626
4221
  # Cloud Spanner can commit the transaction if all read locks it acquired are
3627
4222
  # still valid at commit time, and it is able to acquire write locks for all
3628
4223
  # writes. Cloud Spanner can abort the transaction for any reason. If a commit
@@ -3630,24 +4225,24 @@ module Google
3630
4225
  # not modified any user data in Cloud Spanner. Unless the transaction commits,
3631
4226
  # Cloud Spanner makes no guarantees about how long the transaction's locks were
3632
4227
  # held for. It is an error to use Cloud Spanner locks for any sort of mutual
3633
- # exclusion other than between Cloud Spanner transactions themselves. ##
3634
- # Retrying Aborted Transactions When a transaction aborts, the application can
3635
- # choose to retry the whole transaction again. To maximize the chances of
3636
- # successfully committing the retry, the client should execute the retry in the
3637
- # same session as the original attempt. The original session's lock priority
3638
- # increases with each consecutive abort, meaning that each attempt has a
3639
- # slightly better chance of success than the previous. Under some circumstances (
3640
- # e.g., many transactions attempting to modify the same row(s)), a transaction
3641
- # can abort many times in a short period before successfully committing. Thus,
3642
- # it is not a good idea to cap the number of retries a transaction can attempt;
3643
- # instead, it is better to limit the total amount of wall time spent retrying. ##
3644
- # Idle Transactions A transaction is considered idle if it has no outstanding
3645
- # reads or SQL queries and has not started a read or SQL query within the last
3646
- # 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don'
3647
- # t hold on to locks indefinitely. In that case, the commit will fail with error
3648
- # `ABORTED`. If this behavior is undesirable, periodically executing a simple
3649
- # SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from
3650
- # becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only
4228
+ # exclusion other than between Cloud Spanner transactions themselves. Retrying
4229
+ # Aborted Transactions: When a transaction aborts, the application can choose to
4230
+ # retry the whole transaction again. To maximize the chances of successfully
4231
+ # committing the retry, the client should execute the retry in the same session
4232
+ # as the original attempt. The original session's lock priority increases with
4233
+ # each consecutive abort, meaning that each attempt has a slightly better chance
4234
+ # of success than the previous. Under some circumstances (e.g., many
4235
+ # transactions attempting to modify the same row(s)), a transaction can abort
4236
+ # many times in a short period before successfully committing. Thus, it is not a
4237
+ # good idea to cap the number of retries a transaction can attempt; instead, it
4238
+ # is better to limit the total amount of wall time spent retrying. Idle
4239
+ # Transactions: A transaction is considered idle if it has no outstanding reads
4240
+ # or SQL queries and has not started a read or SQL query within the last 10
4241
+ # seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
4242
+ # hold on to locks indefinitely. In that case, the commit will fail with error `
4243
+ # ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
4244
+ # query in the transaction (e.g., `SELECT 1`) prevents the transaction from
4245
+ # becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
3651
4246
  # transactions provides a simpler method than locking read-write transactions
3652
4247
  # for doing several consistent reads. However, this type of transaction does not
3653
4248
  # support writes. Snapshot transactions do not take locks. Instead, they work by
@@ -3665,15 +4260,15 @@ module Google
3665
4260
  # is geographically distributed, stale read-only transactions can execute more
3666
4261
  # quickly than strong or read-write transaction, because they are able to
3667
4262
  # execute far from the leader replica. Each type of timestamp bound is discussed
3668
- # in detail below. ## Strong Strong reads are guaranteed to see the effects of
3669
- # all transactions that have committed before the start of the read. Furthermore,
4263
+ # in detail below. Strong: Strong reads are guaranteed to see the effects of all
4264
+ # transactions that have committed before the start of the read. Furthermore,
3670
4265
  # all rows yielded by a single read are consistent with each other -- if any
3671
4266
  # part of the read observes a transaction, all parts of the read see the
3672
4267
  # transaction. Strong reads are not repeatable: two consecutive strong read-only
3673
4268
  # transactions might return inconsistent results if there are concurrent writes.
3674
4269
  # If consistency across reads is required, the reads should be executed within a
3675
4270
  # transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
3676
- # strong. ## Exact Staleness These timestamp bounds execute reads at a user-
4271
+ # strong. Exact Staleness: These timestamp bounds execute reads at a user-
3677
4272
  # specified timestamp. Reads at a timestamp are guaranteed to see a consistent
3678
4273
  # prefix of the global transaction history: they observe modifications done by
3679
4274
  # all transactions with a commit timestamp <= the read timestamp, and observe
@@ -3685,8 +4280,8 @@ module Google
3685
4280
  # to pick a timestamp. As a result, they execute slightly faster than the
3686
4281
  # equivalent boundedly stale concurrency modes. On the other hand, boundedly
3687
4282
  # stale reads usually return fresher results. See TransactionOptions.ReadOnly.
3688
- # read_timestamp and TransactionOptions.ReadOnly.exact_staleness. ## Bounded
3689
- # Staleness Bounded staleness modes allow Cloud Spanner to pick the read
4283
+ # read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
4284
+ # Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
3690
4285
  # timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
3691
4286
  # the newest timestamp within the staleness bound that allows execution of the
3692
4287
  # reads at the closest available replica without blocking. All rows yielded are
@@ -3703,15 +4298,15 @@ module Google
3703
4298
  # timestamp negotiation requires up-front knowledge of which rows will be read,
3704
4299
  # it can only be used with single-use read-only transactions. See
3705
4300
  # TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
3706
- # min_read_timestamp. ## Old Read Timestamps and Garbage Collection Cloud
3707
- # Spanner continuously garbage collects deleted and overwritten data in the
3708
- # background to reclaim storage space. This process is known as "version GC". By
3709
- # default, version GC reclaims versions after they are one hour old. Because of
3710
- # this, Cloud Spanner cannot perform reads at read timestamps more than one hour
3711
- # in the past. This restriction also applies to in-progress reads and/or SQL
4301
+ # min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
4302
+ # continuously garbage collects deleted and overwritten data in the background
4303
+ # to reclaim storage space. This process is known as "version GC". By default,
4304
+ # version GC reclaims versions after they are one hour old. Because of this,
4305
+ # Cloud Spanner cannot perform reads at read timestamps more than one hour in
4306
+ # the past. This restriction also applies to in-progress reads and/or SQL
3712
4307
  # queries whose timestamp become too old while executing. Reads and SQL queries
3713
- # with too-old read timestamps fail with the error `FAILED_PRECONDITION`. ##
3714
- # Partitioned DML Transactions Partitioned DML transactions are used to execute
4308
+ # with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
4309
+ # Partitioned DML Transactions: Partitioned DML transactions are used to execute
3715
4310
  # DML statements with a different execution strategy that provides different,
3716
4311
  # and often better, scalability properties for large, table-wide operations than
3717
4312
  # DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
@@ -3758,12 +4353,12 @@ module Google
3758
4353
  # @return [String]
3759
4354
  attr_accessor :id
3760
4355
 
3761
- # # Transactions Each session can have at most one active transaction at a time (
4356
+ # Transactions: Each session can have at most one active transaction at a time (
3762
4357
  # note that standalone reads and queries use a transaction internally and do
3763
4358
  # count towards the one transaction limit). After the active transaction is
3764
4359
  # completed, the session can immediately be re-used for the next transaction. It
3765
- # is not necessary to create a new session for each transaction. # Transaction
3766
- # Modes Cloud Spanner supports three transaction modes: 1. Locking read-write.
4360
+ # is not necessary to create a new session for each transaction. Transaction
4361
+ # Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write.
3767
4362
  # This type of transaction is the only way to write data into Cloud Spanner.
3768
4363
  # These transactions rely on pessimistic locking and, if necessary, two-phase
3769
4364
  # commit. Locking read-write transactions may abort, requiring the application
@@ -3781,8 +4376,8 @@ module Google
3781
4376
  # transactions. As a consequence of not taking locks, they also do not abort, so
3782
4377
  # retry loops are not needed. Transactions may only read/write data in a single
3783
4378
  # database. They may, however, read/write data in different tables within that
3784
- # database. ## Locking Read-Write Transactions Locking transactions may be used
3785
- # to atomically read-modify-write data anywhere in a database. This type of
4379
+ # database. Locking Read-Write Transactions: Locking transactions may be used to
4380
+ # atomically read-modify-write data anywhere in a database. This type of
3786
4381
  # transaction is externally consistent. Clients should attempt to minimize the
3787
4382
  # amount of time a transaction is active. Faster transactions commit with higher
3788
4383
  # probability and cause less contention. Cloud Spanner attempts to keep read
@@ -3791,7 +4386,7 @@ module Google
3791
4386
  # inactivity at the client may cause Cloud Spanner to release a transaction's
3792
4387
  # locks and abort it. Conceptually, a read-write transaction consists of zero or
3793
4388
  # more reads or SQL statements followed by Commit. At any time before Commit,
3794
- # the client can send a Rollback request to abort the transaction. ## Semantics
4389
+ # the client can send a Rollback request to abort the transaction. Semantics:
3795
4390
  # Cloud Spanner can commit the transaction if all read locks it acquired are
3796
4391
  # still valid at commit time, and it is able to acquire write locks for all
3797
4392
  # writes. Cloud Spanner can abort the transaction for any reason. If a commit
@@ -3799,24 +4394,24 @@ module Google
3799
4394
  # not modified any user data in Cloud Spanner. Unless the transaction commits,
3800
4395
  # Cloud Spanner makes no guarantees about how long the transaction's locks were
3801
4396
  # held for. It is an error to use Cloud Spanner locks for any sort of mutual
3802
- # exclusion other than between Cloud Spanner transactions themselves. ##
3803
- # Retrying Aborted Transactions When a transaction aborts, the application can
3804
- # choose to retry the whole transaction again. To maximize the chances of
3805
- # successfully committing the retry, the client should execute the retry in the
3806
- # same session as the original attempt. The original session's lock priority
3807
- # increases with each consecutive abort, meaning that each attempt has a
3808
- # slightly better chance of success than the previous. Under some circumstances (
3809
- # e.g., many transactions attempting to modify the same row(s)), a transaction
3810
- # can abort many times in a short period before successfully committing. Thus,
3811
- # it is not a good idea to cap the number of retries a transaction can attempt;
3812
- # instead, it is better to limit the total amount of wall time spent retrying. ##
3813
- # Idle Transactions A transaction is considered idle if it has no outstanding
3814
- # reads or SQL queries and has not started a read or SQL query within the last
3815
- # 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don'
3816
- # t hold on to locks indefinitely. In that case, the commit will fail with error
3817
- # `ABORTED`. If this behavior is undesirable, periodically executing a simple
3818
- # SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from
3819
- # becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only
4397
+ # exclusion other than between Cloud Spanner transactions themselves. Retrying
4398
+ # Aborted Transactions: When a transaction aborts, the application can choose to
4399
+ # retry the whole transaction again. To maximize the chances of successfully
4400
+ # committing the retry, the client should execute the retry in the same session
4401
+ # as the original attempt. The original session's lock priority increases with
4402
+ # each consecutive abort, meaning that each attempt has a slightly better chance
4403
+ # of success than the previous. Under some circumstances (e.g., many
4404
+ # transactions attempting to modify the same row(s)), a transaction can abort
4405
+ # many times in a short period before successfully committing. Thus, it is not a
4406
+ # good idea to cap the number of retries a transaction can attempt; instead, it
4407
+ # is better to limit the total amount of wall time spent retrying. Idle
4408
+ # Transactions: A transaction is considered idle if it has no outstanding reads
4409
+ # or SQL queries and has not started a read or SQL query within the last 10
4410
+ # seconds. Idle transactions can be aborted by Cloud Spanner so that they don't
4411
+ # hold on to locks indefinitely. In that case, the commit will fail with error `
4412
+ # ABORTED`. If this behavior is undesirable, periodically executing a simple SQL
4413
+ # query in the transaction (e.g., `SELECT 1`) prevents the transaction from
4414
+ # becoming idle. Snapshot Read-Only Transactions: Snapshot read-only
3820
4415
  # transactions provides a simpler method than locking read-write transactions
3821
4416
  # for doing several consistent reads. However, this type of transaction does not
3822
4417
  # support writes. Snapshot transactions do not take locks. Instead, they work by
@@ -3834,15 +4429,15 @@ module Google
3834
4429
  # is geographically distributed, stale read-only transactions can execute more
3835
4430
  # quickly than strong or read-write transaction, because they are able to
3836
4431
  # execute far from the leader replica. Each type of timestamp bound is discussed
3837
- # in detail below. ## Strong Strong reads are guaranteed to see the effects of
3838
- # all transactions that have committed before the start of the read. Furthermore,
4432
+ # in detail below. Strong: Strong reads are guaranteed to see the effects of all
4433
+ # transactions that have committed before the start of the read. Furthermore,
3839
4434
  # all rows yielded by a single read are consistent with each other -- if any
3840
4435
  # part of the read observes a transaction, all parts of the read see the
3841
4436
  # transaction. Strong reads are not repeatable: two consecutive strong read-only
3842
4437
  # transactions might return inconsistent results if there are concurrent writes.
3843
4438
  # If consistency across reads is required, the reads should be executed within a
3844
4439
  # transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.
3845
- # strong. ## Exact Staleness These timestamp bounds execute reads at a user-
4440
+ # strong. Exact Staleness: These timestamp bounds execute reads at a user-
3846
4441
  # specified timestamp. Reads at a timestamp are guaranteed to see a consistent
3847
4442
  # prefix of the global transaction history: they observe modifications done by
3848
4443
  # all transactions with a commit timestamp <= the read timestamp, and observe
@@ -3854,8 +4449,8 @@ module Google
3854
4449
  # to pick a timestamp. As a result, they execute slightly faster than the
3855
4450
  # equivalent boundedly stale concurrency modes. On the other hand, boundedly
3856
4451
  # stale reads usually return fresher results. See TransactionOptions.ReadOnly.
3857
- # read_timestamp and TransactionOptions.ReadOnly.exact_staleness. ## Bounded
3858
- # Staleness Bounded staleness modes allow Cloud Spanner to pick the read
4452
+ # read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded
4453
+ # Staleness: Bounded staleness modes allow Cloud Spanner to pick the read
3859
4454
  # timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses
3860
4455
  # the newest timestamp within the staleness bound that allows execution of the
3861
4456
  # reads at the closest available replica without blocking. All rows yielded are
@@ -3872,15 +4467,15 @@ module Google
3872
4467
  # timestamp negotiation requires up-front knowledge of which rows will be read,
3873
4468
  # it can only be used with single-use read-only transactions. See
3874
4469
  # TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.
3875
- # min_read_timestamp. ## Old Read Timestamps and Garbage Collection Cloud
3876
- # Spanner continuously garbage collects deleted and overwritten data in the
3877
- # background to reclaim storage space. This process is known as "version GC". By
3878
- # default, version GC reclaims versions after they are one hour old. Because of
3879
- # this, Cloud Spanner cannot perform reads at read timestamps more than one hour
3880
- # in the past. This restriction also applies to in-progress reads and/or SQL
4470
+ # min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner
4471
+ # continuously garbage collects deleted and overwritten data in the background
4472
+ # to reclaim storage space. This process is known as "version GC". By default,
4473
+ # version GC reclaims versions after they are one hour old. Because of this,
4474
+ # Cloud Spanner cannot perform reads at read timestamps more than one hour in
4475
+ # the past. This restriction also applies to in-progress reads and/or SQL
3881
4476
  # queries whose timestamp become too old while executing. Reads and SQL queries
3882
- # with too-old read timestamps fail with the error `FAILED_PRECONDITION`. ##
3883
- # Partitioned DML Transactions Partitioned DML transactions are used to execute
4477
+ # with too-old read timestamps fail with the error `FAILED_PRECONDITION`.
4478
+ # Partitioned DML Transactions: Partitioned DML transactions are used to execute
3884
4479
  # DML statements with a different execution strategy that provides different,
3885
4480
  # and often better, scalability properties for large, table-wide operations than
3886
4481
  # DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP
@@ -4130,6 +4725,84 @@ module Google
4130
4725
  end
4131
4726
  end
4132
4727
 
4728
+ #
4729
+ class VisualizationData
4730
+ include Google::Apis::Core::Hashable
4731
+
4732
+ # The token signifying the end of a data_source.
4733
+ # Corresponds to the JSON property `dataSourceEndToken`
4734
+ # @return [String]
4735
+ attr_accessor :data_source_end_token
4736
+
4737
+ # The token delimiting a datasource name from the rest of a key in a data_source.
4738
+ # Corresponds to the JSON property `dataSourceSeparatorToken`
4739
+ # @return [String]
4740
+ attr_accessor :data_source_separator_token
4741
+
4742
+ # The list of messages (info, alerts, ...)
4743
+ # Corresponds to the JSON property `diagnosticMessages`
4744
+ # @return [Array<Google::Apis::SpannerV1::DiagnosticMessage>]
4745
+ attr_accessor :diagnostic_messages
4746
+
4747
+ # We discretize the entire keyspace into buckets. Assuming each bucket has an
4748
+ # inclusive keyrange and covers keys from k(i) ... k(n). In this case k(n) would
4749
+ # be an end key for a given range. end_key_string is the collection of all such
4750
+ # end keys
4751
+ # Corresponds to the JSON property `endKeyStrings`
4752
+ # @return [Array<String>]
4753
+ attr_accessor :end_key_strings
4754
+
4755
+ # Whether this scan contains PII.
4756
+ # Corresponds to the JSON property `hasPii`
4757
+ # @return [Boolean]
4758
+ attr_accessor :has_pii
4759
+ alias_method :has_pii?, :has_pii
4760
+
4761
+ # Keys of key ranges that contribute significantly to a given metric Can be
4762
+ # thought of as heavy hitters.
4763
+ # Corresponds to the JSON property `indexedKeys`
4764
+ # @return [Array<String>]
4765
+ attr_accessor :indexed_keys
4766
+
4767
+ # The token delimiting the key prefixes.
4768
+ # Corresponds to the JSON property `keySeparator`
4769
+ # @return [String]
4770
+ attr_accessor :key_separator
4771
+
4772
+ # The unit for the key: e.g. 'key' or 'chunk'.
4773
+ # Corresponds to the JSON property `keyUnit`
4774
+ # @return [String]
4775
+ attr_accessor :key_unit
4776
+
4777
+ # The list of data objects for each metric.
4778
+ # Corresponds to the JSON property `metrics`
4779
+ # @return [Array<Google::Apis::SpannerV1::Metric>]
4780
+ attr_accessor :metrics
4781
+
4782
+ # The list of extracted key prefix nodes used in the key prefix hierarchy.
4783
+ # Corresponds to the JSON property `prefixNodes`
4784
+ # @return [Array<Google::Apis::SpannerV1::PrefixNode>]
4785
+ attr_accessor :prefix_nodes
4786
+
4787
+ def initialize(**args)
4788
+ update!(**args)
4789
+ end
4790
+
4791
+ # Update properties of this object
4792
+ def update!(**args)
4793
+ @data_source_end_token = args[:data_source_end_token] if args.key?(:data_source_end_token)
4794
+ @data_source_separator_token = args[:data_source_separator_token] if args.key?(:data_source_separator_token)
4795
+ @diagnostic_messages = args[:diagnostic_messages] if args.key?(:diagnostic_messages)
4796
+ @end_key_strings = args[:end_key_strings] if args.key?(:end_key_strings)
4797
+ @has_pii = args[:has_pii] if args.key?(:has_pii)
4798
+ @indexed_keys = args[:indexed_keys] if args.key?(:indexed_keys)
4799
+ @key_separator = args[:key_separator] if args.key?(:key_separator)
4800
+ @key_unit = args[:key_unit] if args.key?(:key_unit)
4801
+ @metrics = args[:metrics] if args.key?(:metrics)
4802
+ @prefix_nodes = args[:prefix_nodes] if args.key?(:prefix_nodes)
4803
+ end
4804
+ end
4805
+
4133
4806
  # Arguments to insert, update, insert_or_update, and replace operations.
4134
4807
  class Write
4135
4808
  include Google::Apis::Core::Hashable