public sealed class Type : IMessage<Type>, IEquatable<Type>, IDeepCloneable<Type>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Bigtable Administration 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 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 ifX <= Y
. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if
X != Y
thenEncode(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")
.
Namespace
Google.Cloud.Bigtable.Admin.V2Assembly
Google.Cloud.Bigtable.Admin.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 |