pub enum Value {
Show 19 variants
Null,
Boolean(bool),
Int(i32),
Long(i64),
Float(f32),
Double(f64),
Date(i32),
Timestamp(NaiveDateTime),
Decimal(DecimalValue),
Bytes(Vec<u8>),
String(String),
Fixed(usize, Vec<u8>),
Enum(usize, String),
Union {
index: usize,
inner: Box<Value>,
n_variants: usize,
null_variant: Option<usize>,
},
Array(Vec<Value>),
Map(BTreeMap<String, Value>),
Record(Vec<(String, Value)>),
Json(Value),
Uuid(Uuid),
}
Expand description
Represents any valid Avro value More information about Avro values can be found in the Avro Specification
Variants§
Null
A null
Avro value.
Boolean(bool)
A boolean
Avro value.
Int(i32)
A int
Avro value.
Long(i64)
A long
Avro value.
Float(f32)
A float
Avro value.
Double(f64)
A double
Avro value.
Date(i32)
A Date
coming from an avro Logical Date
, which is an i32 number of
days since the Unix epoch.
Timestamp(NaiveDateTime)
A DateTime
coming from an avro Logical Timestamp
Decimal(DecimalValue)
A decimal
Avro value
The value of the decimal can be computed as follows: unscaled × 10-scale.
Bytes(Vec<u8>)
A bytes
Avro value.
String(String)
A string
Avro value.
Fixed(usize, Vec<u8>)
A fixed
Avro value.
The size of the fixed value is represented as a usize
.
Enum(usize, String)
An enum
Avro value.
An Enum is represented by a symbol and its position in the symbols list of its corresponding schema. This allows schema-less encoding, as well as schema resolution while reading values.
Union
Fields
An union
Avro value.
Array(Vec<Value>)
An array
Avro value.
Map(BTreeMap<String, Value>)
A map
Avro value.
Record(Vec<(String, Value)>)
A record
Avro value.
A Record is represented by a vector of (<field name>
, value
).
This allows schema-less encoding.
See Record for a more user-friendly support.
Json(Value)
A string
Avro value that has been interpreted as JSON.
This is not part of the Avro spec, but is emitted by Debezium,
and distinguished by setting the "connect.name"
property to "io.debezium.data.Json"
.
Uuid(Uuid)
A Uuid
coming from an avro Logical uuid
.
Implementations§
source§impl Value
impl Value
sourcepub fn validate(&self, schema: SchemaNode<'_>) -> bool
pub fn validate(&self, schema: SchemaNode<'_>) -> bool
Validate the value against the given Schema.
See the Avro specification for the full set of rules of schema validation.