Cloud Bigtable V2 API - Class Google::Cloud::Bigtable::V2::Type (v1.4.0)

Reference documentation and code samples for the Cloud Bigtable V2 API class Google::Cloud::Bigtable::V2::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/from the underlying data.

Each encoding also defines the following properties:

  • Order-preserving: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, not the decoded type.
    • Example: BYTES values sort in the same order as their raw encodings.
    • Counterexample: Encoding INT64 as a fixed-width decimal string does not preserve sort order when dealing with negative numbers. INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
  • Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins?
    • Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign.
    • Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends.
  • Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java?

Inherits

  • Object

Extended By

  • Google::Protobuf::MessageExts::ClassMethods

Includes

  • Google::Protobuf::MessageExts

Methods

#aggregate_type

def aggregate_type() -> ::Google::Cloud::Bigtable::V2::Type::Aggregate

#aggregate_type=

def aggregate_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Aggregate
Parameter

#array_type

def array_type() -> ::Google::Cloud::Bigtable::V2::Type::Array

#array_type=

def array_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Array
Parameter

#bool_type

def bool_type() -> ::Google::Cloud::Bigtable::V2::Type::Bool

#bool_type=

def bool_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Bool
Parameter

#bytes_type

def bytes_type() -> ::Google::Cloud::Bigtable::V2::Type::Bytes

#bytes_type=

def bytes_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Bytes
Parameter

#date_type

def date_type() -> ::Google::Cloud::Bigtable::V2::Type::Date

#date_type=

def date_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Date
Parameter

#float32_type

def float32_type() -> ::Google::Cloud::Bigtable::V2::Type::Float32

#float32_type=

def float32_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Float32
Parameter

#float64_type

def float64_type() -> ::Google::Cloud::Bigtable::V2::Type::Float64

#float64_type=

def float64_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Float64
Parameter

#int64_type

def int64_type() -> ::Google::Cloud::Bigtable::V2::Type::Int64

#int64_type=

def int64_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Int64
Parameter

#map_type

def map_type() -> ::Google::Cloud::Bigtable::V2::Type::Map

#map_type=

def map_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Map
Parameter

#string_type

def string_type() -> ::Google::Cloud::Bigtable::V2::Type::String

#string_type=

def string_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::String
Parameter

#struct_type

def struct_type() -> ::Google::Cloud::Bigtable::V2::Type::Struct

#struct_type=

def struct_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Struct
Parameter

#timestamp_type

def timestamp_type() -> ::Google::Cloud::Bigtable::V2::Type::Timestamp

#timestamp_type=

def timestamp_type=(value) -> ::Google::Cloud::Bigtable::V2::Type::Timestamp
Parameter