pub struct Column {
pub column: ColumnName,
pub ty: FlussoType,
pub nullable: bool,
pub transforms: Vec<Transform>,
pub default: Option<GenericValue>,
pub enum_order: Vec<String>,
pub subfields: bool,
pub indexed: bool,
}Expand description
A column-backed field: the column to read, its declared type and nullability, the transforms to apply, and a default to coalesce nulls to.
Fields§
§column: ColumnName§ty: FlussoTypeThe declared type — the OpenSearch mapping derives from it, and a live database (when reachable) is checked against it.
nullable: boolWhether the column admits null. The resolver still forces non-null for a
primary key or a column with a default.
transforms: Vec<Transform>§default: Option<GenericValue>§enum_order: Vec<String>For an Enum column, its variants in rank order;
empty for a bare enum or any non-enum column. When non-empty the field
sorts by this order instead of alphabetically — the OpenSearch sink
prebakes the rank into a .sort subfield. Belongs on the column, not the
FlussoType, because it is a property of this specific field.
subfields: boolWhether a sink may add its automatic subfields to this string field
(the OpenSearch .keyword/.keyword_lowercase/.text). false maps
the bare field whatever the sink’s own switch says. Only a text,
keyword or uuid column may turn it off.
indexed: boolWhether a sink indexes this field’s content. false keeps the value in
the stored document but maps it as one disabled object, so nothing
under it is searchable. Only a json column may turn it off.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Column
impl<'de> Deserialize<'de> for Column
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for Column
Hashes the fields in declaration order (exactly what the derive did), plus
MAP_KEY_MAPPING_REVISION for a map column only. subfields and indexed
are hashed only when turned off, so a schema that never opts out keeps the
content hash (and so the physical index) it had before they existed.
impl Hash for Column
Hashes the fields in declaration order (exactly what the derive did), plus
MAP_KEY_MAPPING_REVISION for a map column only. subfields and indexed
are hashed only when turned off, so a schema that never opts out keeps the
content hash (and so the physical index) it had before they existed.