Class: Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeStructField
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeStructField
- 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
A struct field and its type.
Instance Attribute Summary collapse
-
#field_name ⇒ String
The field name (optional).
-
#type ⇒ Google::Apis::BigtableadminV2::Type
Type
represents the type of data that is written to, read from, or stored in Bigtable.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeStructField
constructor
A new instance of GoogleBigtableAdminV2TypeStructField.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleBigtableAdminV2TypeStructField
Returns a new instance of GoogleBigtableAdminV2TypeStructField.
2141 2142 2143 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2141 def initialize(**args) update!(**args) end |
Instance Attribute Details
#field_name ⇒ String
The field name (optional). Fields without a field_name
are considered
anonymous and cannot be referenced by name.
Corresponds to the JSON property fieldName
2116 2117 2118 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2116 def field_name @field_name end |
#type ⇒ Google::Apis::BigtableadminV2::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?
Corresponds to the JSON property type
2139 2140 2141 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2139 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2146 2147 2148 2149 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2146 def update!(**args) @field_name = args[:field_name] if args.key?(:field_name) @type = args[:type] if args.key?(:type) end |