Type class
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. This might involve
composing a series of steps into an "encoding chain," for example to convert
from INT64 -> STRING -> raw bytes. In most cases, a "link" in the encoding
chain will be based an on existing GoogleSQL conversion function like
CAST
. Each link in the encoding chain also defines the following
properties: * Natural sort: 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
to a fixed-width STRING does not preserve sort order when dealing with
negative numbers. INT64(1) > INT64(-1), but STRING("-00001") >
STRING("00001). - The overall encoding chain has this property if every
link does. * 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. - The overall encoding chain has this property if any link
does. * Compatibility: Which other systems have matching encoding schemes?
For example, does this encoding have a GoogleSQL equivalent? HBase? Java?
Constructors
- Type({GoogleBigtableAdminV2TypeAggregate? aggregateType, GoogleBigtableAdminV2TypeBytes? bytesType, GoogleBigtableAdminV2TypeInt64? int64Type})
- Type.fromJson(Map json_)
Properties
- aggregateType ↔ GoogleBigtableAdminV2TypeAggregate?
-
Aggregate
getter/setter pair
- bytesType ↔ GoogleBigtableAdminV2TypeBytes?
-
Bytes
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- int64Type ↔ GoogleBigtableAdminV2TypeInt64?
-
Int64
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited