Class: Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigtableadmin_v2/classes.rb,
lib/google/apis/bigtableadmin_v2/representations.rb,
lib/google/apis/bigtableadmin_v2/representations.rb
Overview
A mapping of keys to values of a given type. Values of type Map are stored
in a Value.array_value where each entry is another Value.array_value with
two elements (the key and the value, in that order). Normally encoded Map
values won't have repeated keys, however, clients are expected to handle the
case in which they do. If the same key appears multiple times, the last
value takes precedence.
Instance Attribute Summary collapse
-
#key_type ⇒ Google::Apis::BigtableadminV2::Type
Typerepresents the type of data that is written to, read from, or stored in Bigtable. -
#value_type ⇒ Google::Apis::BigtableadminV2::Type
Typerepresents the type of data that is written to, read from, or stored in Bigtable.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeMap
constructor
A new instance of GoogleBigtableAdminV2TypeMap.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeMap
Returns a new instance of GoogleBigtableAdminV2TypeMap.
2296 2297 2298 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2296 def initialize(**args) update!(**args) end |
Instance Attribute Details
#key_type ⇒ Google::Apis::BigtableadminV2::Type
Type represents the type of data that is written to, read from, or stored in
Bigtable. It is heavily based on the GoogleSQL standard to help maintain
familiarity and consistency across products and features. For compatibility
with Bigtable's existing untyped APIs, each Type includes an Encoding
which describes how to convert to or from the underlying data. Each encoding
can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees
that Encode(X) <= Encode(Y) if and only if X <= Y. This is useful anywhere
sort order is important, for example when encoding keys. - Distinct: In this
mode, Bigtable guarantees that if X != Y then Encode(X) != Encode(Y).
However, the converse is not guaranteed. For example, both 'foo': '1', 'bar':
'2' and 'bar': '2', 'foo': '1' are valid encodings of the same JSON
value. The API clearly documents which mode is used wherever an encoding can
be configured. Each encoding also documents which values are supported in
which modes. For example, when encoding INT64 as a numeric STRING, negative
numbers cannot be encoded in sorted mode. This is because INT64(1) > INT64(-1)
, but STRING("-00001") > STRING("00001").
Corresponds to the JSON property keyType
2274 2275 2276 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2274 def key_type @key_type end |
#value_type ⇒ Google::Apis::BigtableadminV2::Type
Type represents the type of data that is written to, read from, or stored in
Bigtable. It is heavily based on the GoogleSQL standard to help maintain
familiarity and consistency across products and features. For compatibility
with Bigtable's existing untyped APIs, each Type includes an Encoding
which describes how to convert to or from the underlying data. Each encoding
can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees
that Encode(X) <= Encode(Y) if and only if X <= Y. This is useful anywhere
sort order is important, for example when encoding keys. - Distinct: In this
mode, Bigtable guarantees that if X != Y then Encode(X) != Encode(Y).
However, the converse is not guaranteed. For example, both 'foo': '1', 'bar':
'2' and 'bar': '2', 'foo': '1' are valid encodings of the same JSON
value. The API clearly documents which mode is used wherever an encoding can
be configured. Each encoding also documents which values are supported in
which modes. For example, when encoding INT64 as a numeric STRING, negative
numbers cannot be encoded in sorted mode. This is because INT64(1) > INT64(-1)
, but STRING("-00001") > STRING("00001").
Corresponds to the JSON property valueType
2294 2295 2296 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2294 def value_type @value_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2301 2302 2303 2304 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2301 def update!(**args) @key_type = args[:key_type] if args.key?(:key_type) @value_type = args[:value_type] if args.key?(:value_type) end |