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
Type
represents the type of data that is written to, read from, or stored in Bigtable. -
#value_type ⇒ Google::Apis::BigtableadminV2::Type
Type
represents 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.
2006 2007 2008 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2006 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
1984 1985 1986 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 1984 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
2004 2005 2006 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2004 def value_type @value_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2011 2012 2013 2014 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2011 def update!(**args) @key_type = args[:key_type] if args.key?(:key_type) @value_type = args[:value_type] if args.key?(:value_type) end |