Google Bigtable v2 API - Class Type (3.15.0)

public sealed class Type : IMessage<Type>, IEquatable<Type>, IDeepCloneable<Type>, IBufferMessage, IMessage

Reference documentation and code samples for the Google Bigtable v2 API class 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?

Inheritance

object > Type

Namespace

Google.Cloud.Bigtable.V2

Assembly

Google.Cloud.Bigtable.V2.dll

Constructors

Type()

public Type()

Type(Type)

public Type(Type other)
Parameter
Name Description
other Type

Properties

AggregateType

public Type.Types.Aggregate AggregateType { get; set; }

Aggregate

Property Value
Type Description
TypeTypesAggregate

ArrayType

public Type.Types.Array ArrayType { get; set; }

Array

Property Value
Type Description
TypeTypesArray

BoolType

public Type.Types.Bool BoolType { get; set; }

Bool

Property Value
Type Description
TypeTypesBool

BytesType

public Type.Types.Bytes BytesType { get; set; }

Bytes

Property Value
Type Description
TypeTypesBytes

DateType

public Type.Types.Date DateType { get; set; }

Date

Property Value
Type Description
TypeTypesDate

Float32Type

public Type.Types.Float32 Float32Type { get; set; }

Float32

Property Value
Type Description
TypeTypesFloat32

Float64Type

public Type.Types.Float64 Float64Type { get; set; }

Float64

Property Value
Type Description
TypeTypesFloat64

Int64Type

public Type.Types.Int64 Int64Type { get; set; }

Int64

Property Value
Type Description
TypeTypesInt64

KindCase

public Type.KindOneofCase KindCase { get; }
Property Value
Type Description
TypeKindOneofCase

MapType

public Type.Types.Map MapType { get; set; }

Map

Property Value
Type Description
TypeTypesMap

StringType

public Type.Types.String StringType { get; set; }

String

Property Value
Type Description
TypeTypesString

StructType

public Type.Types.Struct StructType { get; set; }

Struct

Property Value
Type Description
TypeTypesStruct

TimestampType

public Type.Types.Timestamp TimestampType { get; set; }

Timestamp

Property Value
Type Description
TypeTypesTimestamp