Class: Google::Apis::BigtableadminV2::Type
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::Type
- 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
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")
.
Instance Attribute Summary collapse
-
#aggregate_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregate
A value that combines incremental updates into a summarized value.
-
#array_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeArray
An ordered list of elements of a given type.
-
#bool_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeBool
bool Values of type
Bool
are stored inValue.bool_value
. -
#bytes_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeBytes
Bytes Values of type
Bytes
are stored inValue.bytes_value
. -
#date_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeDate
Date Values of type
Date
are stored inValue.date_value
. -
#float32_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeFloat32
Float32 Values of type
Float32
are stored inValue.float_value
. -
#float64_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeFloat64
Float64 Values of type
Float64
are stored inValue.float_value
. -
#int64_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeInt64
Int64 Values of type
Int64
are stored inValue.int_value
. -
#map_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap
A mapping of keys to values of a given type.
-
#string_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeString
String Values of type
String
are stored inValue.string_value
. -
#struct_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeStruct
A structured data value, consisting of fields which map to dynamically typed values.
-
#timestamp_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeTimestamp
Timestamp Values of type
Timestamp
are stored inValue.timestamp_value
.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Type
constructor
A new instance of Type.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Type
Returns a new instance of Type.
3651 3652 3653 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3651 def initialize(**args) update!(**args) end |
Instance Attribute Details
#aggregate_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeAggregate
A value that combines incremental updates into a summarized value. Data is
never directly written or read using type Aggregate
. Writes provide either
the input_type
or state_type
, and reads always return the state_type
.
Corresponds to the JSON property aggregateType
3586 3587 3588 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3586 def aggregate_type @aggregate_type end |
#array_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeArray
An ordered list of elements of a given type. Values of type Array
are stored
in Value.array_value
.
Corresponds to the JSON property arrayType
3592 3593 3594 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3592 def array_type @array_type end |
#bool_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeBool
bool Values of type Bool
are stored in Value.bool_value
.
Corresponds to the JSON property boolType
3597 3598 3599 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3597 def bool_type @bool_type end |
#bytes_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeBytes
Bytes Values of type Bytes
are stored in Value.bytes_value
.
Corresponds to the JSON property bytesType
3602 3603 3604 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3602 def bytes_type @bytes_type end |
#date_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeDate
Date Values of type Date
are stored in Value.date_value
.
Corresponds to the JSON property dateType
3607 3608 3609 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3607 def date_type @date_type end |
#float32_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeFloat32
Float32 Values of type Float32
are stored in Value.float_value
.
Corresponds to the JSON property float32Type
3612 3613 3614 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3612 def float32_type @float32_type end |
#float64_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeFloat64
Float64 Values of type Float64
are stored in Value.float_value
.
Corresponds to the JSON property float64Type
3617 3618 3619 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3617 def float64_type @float64_type end |
#int64_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeInt64
Int64 Values of type Int64
are stored in Value.int_value
.
Corresponds to the JSON property int64Type
3622 3623 3624 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3622 def int64_type @int64_type end |
#map_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap
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.
Corresponds to the JSON property mapType
3632 3633 3634 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3632 def map_type @map_type end |
#string_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeString
String Values of type String
are stored in Value.string_value
.
Corresponds to the JSON property stringType
3637 3638 3639 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3637 def string_type @string_type end |
#struct_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeStruct
A structured data value, consisting of fields which map to dynamically typed
values. Values of type Struct
are stored in Value.array_value
where
entries are in the same order and number as field_types
.
Corresponds to the JSON property structType
3644 3645 3646 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3644 def struct_type @struct_type end |
#timestamp_type ⇒ Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeTimestamp
Timestamp Values of type Timestamp
are stored in Value.timestamp_value
.
Corresponds to the JSON property timestampType
3649 3650 3651 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3649 def @timestamp_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3656 def update!(**args) @aggregate_type = args[:aggregate_type] if args.key?(:aggregate_type) @array_type = args[:array_type] if args.key?(:array_type) @bool_type = args[:bool_type] if args.key?(:bool_type) @bytes_type = args[:bytes_type] if args.key?(:bytes_type) @date_type = args[:date_type] if args.key?(:date_type) @float32_type = args[:float32_type] if args.key?(:float32_type) @float64_type = args[:float64_type] if args.key?(:float64_type) @int64_type = args[:int64_type] if args.key?(:int64_type) @map_type = args[:map_type] if args.key?(:map_type) @string_type = args[:string_type] if args.key?(:string_type) @struct_type = args[:struct_type] if args.key?(:struct_type) @timestamp_type = args[:timestamp_type] if args.key?(:timestamp_type) end |