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 +4 -4
- data/CHANGELOG.md +24 -0
- data/lib/google/apis/spanner_v1/classes.rb +863 -190
- data/lib/google/apis/spanner_v1/gem_version.rb +3 -3
- data/lib/google/apis/spanner_v1/representations.rb +286 -0
- data/lib/google/apis/spanner_v1/service.rb +91 -0
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4e365d7961157ce00c492b5c328fa3c75dec95f6561ded7c8d039d1f9e10a76
|
4
|
+
data.tar.gz: b9c001b73c4739d5f9bc617a7ad516860e413858e27267746432178315cccb6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
#
|
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,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
|
-
#
|
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.
|
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.
|
3421
|
-
#
|
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.
|
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
|
-
#
|
3440
|
-
#
|
3441
|
-
#
|
3442
|
-
#
|
3443
|
-
#
|
3444
|
-
#
|
3445
|
-
#
|
3446
|
-
#
|
3447
|
-
#
|
3448
|
-
#
|
3449
|
-
#
|
3450
|
-
#
|
3451
|
-
#
|
3452
|
-
#
|
3453
|
-
#
|
3454
|
-
#
|
3455
|
-
# becoming idle.
|
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.
|
3474
|
-
#
|
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.
|
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.
|
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.
|
3512
|
-
#
|
3513
|
-
#
|
3514
|
-
#
|
3515
|
-
#
|
3516
|
-
#
|
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
|
-
#
|
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.
|
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.
|
3616
|
-
#
|
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.
|
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
|
-
#
|
3635
|
-
#
|
3636
|
-
#
|
3637
|
-
#
|
3638
|
-
#
|
3639
|
-
#
|
3640
|
-
#
|
3641
|
-
#
|
3642
|
-
#
|
3643
|
-
#
|
3644
|
-
#
|
3645
|
-
#
|
3646
|
-
#
|
3647
|
-
#
|
3648
|
-
#
|
3649
|
-
#
|
3650
|
-
# becoming idle.
|
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.
|
3669
|
-
#
|
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.
|
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.
|
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.
|
3707
|
-
#
|
3708
|
-
#
|
3709
|
-
#
|
3710
|
-
#
|
3711
|
-
#
|
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
|
-
#
|
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.
|
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.
|
3785
|
-
#
|
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.
|
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
|
-
#
|
3804
|
-
#
|
3805
|
-
#
|
3806
|
-
#
|
3807
|
-
#
|
3808
|
-
#
|
3809
|
-
#
|
3810
|
-
#
|
3811
|
-
#
|
3812
|
-
#
|
3813
|
-
#
|
3814
|
-
#
|
3815
|
-
#
|
3816
|
-
#
|
3817
|
-
#
|
3818
|
-
#
|
3819
|
-
# becoming idle.
|
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.
|
3838
|
-
#
|
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.
|
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.
|
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.
|
3876
|
-
#
|
3877
|
-
#
|
3878
|
-
#
|
3879
|
-
#
|
3880
|
-
#
|
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
|