pub enum SchemaPiece {
Show 34 variants Null, Boolean, Int, Long, Float, Double, Date, TimestampMilli, TimestampMicro, Decimal { precision: usize, scale: usize, fixed_size: Option<usize>, }, Bytes, String, Json, Uuid, Array(Box<SchemaPieceOrNamed, Global>), Map(Box<SchemaPieceOrNamed, Global>), Union(UnionSchema), ResolveIntTsMilli, ResolveIntTsMicro, ResolveDateTimestamp, ResolveIntLong, ResolveIntFloat, ResolveIntDouble, ResolveLongFloat, ResolveLongDouble, ResolveFloatDouble, ResolveConcreteUnion { index: usize, inner: Box<SchemaPieceOrNamed, Global>, n_reader_variants: usize, reader_null_variant: Option<usize>, }, ResolveUnionUnion { permutation: Vec<Result<(usize, SchemaPieceOrNamed), Error>, Global>, n_reader_variants: usize, reader_null_variant: Option<usize>, }, ResolveUnionConcrete { index: usize, inner: Box<SchemaPieceOrNamed, Global>, }, Record { doc: Option<String>, fields: Vec<RecordField, Global>, lookup: BTreeMap<String, usize, Global>, }, Enum { doc: Option<String>, symbols: Vec<String, Global>, default_idx: Option<usize>, }, Fixed { size: usize, }, ResolveRecord { defaults: Vec<ResolvedDefaultValueField, Global>, fields: Vec<ResolvedRecordField, Global>, n_reader_fields: usize, }, ResolveEnum { doc: Option<String>, symbols: Vec<Result<(usize, String), String>, Global>, default: Option<(usize, String)>, },
}

Variants§

§

Null

A null Avro schema.

§

Boolean

A boolean Avro schema.

§

Int

An int Avro schema.

§

Long

A long Avro schema.

§

Float

A float Avro schema.

§

Double

A double Avro schema.

§

Date

An Int Avro schema with a semantic type being days since the unix epoch.

§

TimestampMilli

An Int64 Avro schema with a semantic type being milliseconds since the unix epoch.

https://avro.apache.org/docs/current/spec.html#Timestamp+%28millisecond+precision%29

§

TimestampMicro

An Int64 Avro schema with a semantic type being microseconds since the unix epoch.

https://avro.apache.org/docs/current/spec.html#Timestamp+%28microsecond+precision%29

§

Decimal

Fields

§precision: usize
§scale: usize
§fixed_size: Option<usize>

A bytes or fixed Avro schema with a logical type of decimal and the specified precision and scale.

If the underlying type is fixed, the fixed_size field specifies the size.

§

Bytes

A bytes Avro schema. Bytes represents a sequence of 8-bit unsigned bytes.

§

String

A string Avro schema. String represents a unicode character sequence.

§

Json

A string Avro schema that is tagged as representing JSON data

§

Uuid

A string Avro schema with a logical type of uuid.

§

Array(Box<SchemaPieceOrNamed, Global>)

A array Avro schema. Avro arrays are required to have the same type for each element. This variant holds the Schema for the array element type.

§

Map(Box<SchemaPieceOrNamed, Global>)

A map Avro schema. Map holds a pointer to the Schema of its values, which must all be the same schema. Map keys are assumed to be string.

§

Union(UnionSchema)

A union Avro schema.

§

ResolveIntTsMilli

A value written as int and read as long, for the timestamp-millis logicalType.

§

ResolveIntTsMicro

A value written as int and read as long, for the timestamp-micros logicalType.

§

ResolveDateTimestamp

A value written as an int with date logical type, and read as any timestamp type

§

ResolveIntLong

A value written as int and read as long

§

ResolveIntFloat

A value written as int and read as float

§

ResolveIntDouble

A value written as int and read as double

§

ResolveLongFloat

A value written as long and read as float

§

ResolveLongDouble

A value written as long and read as double

§

ResolveFloatDouble

A value written as float and read as double

§

ResolveConcreteUnion

Fields

§index: usize

The index of the variant in the reader

§inner: Box<SchemaPieceOrNamed, Global>

The concrete type

§n_reader_variants: usize
§reader_null_variant: Option<usize>

A concrete (i.e., non-union) type in the writer, resolved against one specific variant of a union in the reader.

§

ResolveUnionUnion

Fields

§permutation: Vec<Result<(usize, SchemaPieceOrNamed), Error>, Global>

A mapping of the fields in the writer to those in the reader. If the ith element is Err(e), the ith field in the writer did not match any field in the reader (or even if it matched by name, resolution failed). If the ith element is Ok((j, piece)), then the ith field of the writer matched the jth field of the reader, and piece is their resolved node.

§n_reader_variants: usize
§reader_null_variant: Option<usize>

A union in the writer, resolved against a union in the reader. The two schemas may have different variants and the variants may be in a different order.

§

ResolveUnionConcrete

Fields

§index: usize

The inverse of ResolveConcreteUnion

§

Record

Fields

A record Avro schema.

The lookup table maps field names to their position in the Vec of fields.

§

Enum

Fields

§symbols: Vec<String, Global>
§default_idx: Option<usize>

The index of the default value.

This is only used in schema resolution: it is the value that will be read by a reader when a writer writes a value that the reader does not expect.

An enum Avro schema.

§

Fixed

Fields

§size: usize

A fixed Avro schema.

§

ResolveRecord

Fields

§defaults: Vec<ResolvedDefaultValueField, Global>

Fields that do not exist in the writer schema, but had a default value specified in the reader schema, which we use.

§fields: Vec<ResolvedRecordField, Global>

Fields in the order of their appearance in the writer schema. Present if they could be resolved against a field in the reader schema; Absent otherwise.

§n_reader_fields: usize

The size of defaults, plus the number of Present values in fields.

A record in the writer, resolved against a record in the reader. The two schemas may have different fields and the fields may be in a different order.

§

ResolveEnum

Fields

§symbols: Vec<Result<(usize, String), String>, Global>

Symbols in order of the writer schema along with their index in the reader schema, or Err(symbol_name) if they don’t exist in the reader schema.

§default: Option<(usize, String)>

The value to decode if the writer writes some value not expected by the reader.

An enum in the writer, resolved against an enum in the reader. The two schemas may have different values and the values may be in a different order.

Implementations§

Returns whether the schema node is “underlyingly” an Int (but possibly a logicalType typedef)

Returns whether the schema node is “underlyingly” an Int64 (but possibly a logicalType typedef)

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Converts self into T using Into<T>. Read more
Extract a subset of the possible types in a coproduct (or get the remaining possibilities) Read more
Causes self to use its Binary implementation when Debug-formatted. Read more
Causes self to use its Display implementation when Debug-formatted. Read more
Causes self to use its LowerExp implementation when Debug-formatted. Read more
Causes self to use its LowerHex implementation when Debug-formatted. Read more
Causes self to use its Octal implementation when Debug-formatted. Read more
Causes self to use its Pointer implementation when Debug-formatted. Read more
Causes self to use its UpperExp implementation when Debug-formatted. Read more
Causes self to use its UpperHex implementation when Debug-formatted. Read more
Formats each item in a sequence. Read more

Returns the argument unchanged.

Converts to this type from a reference to the input type.
Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Attaches the current Context to this type, returning a WithContext wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Wrap the input message T in a tonic::Request
Performs the indexed conversion.
Pipes by value. This is generally the method you want to use. Read more
Borrows self and passes that borrow into the pipe function. Read more
Mutably borrows self and passes that borrow into the pipe function. Read more
Borrows self, then passes self.borrow() into the pipe function. Read more
Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Borrows self, then passes self.as_ref() into the pipe function.
Mutably borrows self, then passes self.as_mut() into the pipe function.
Borrows self, then passes self.deref() into the pipe function.
Mutably borrows self, then passes self.deref_mut() into the pipe function.
The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Upcasts this ProgressEventTimestamp to Any. Read more
Returns the name of the concrete type of this object. Read more
Should always be Self
Consumes the current HList and returns an HList with the requested shape. Read more
Immutable access to a value. Read more
Mutable access to a value. Read more
Immutable access to the Borrow<B> of a value. Read more
Mutable access to the BorrowMut<B> of a value. Read more
Immutable access to the AsRef<R> view of a value. Read more
Mutable access to the AsMut<R> view of a value. Read more
Immutable access to the Deref::Target of a value. Read more
Mutable access to the Deref::Target of a value. Read more
Calls .tap() only in debug builds, and is erased in release builds.
Calls .tap_mut() only in debug builds, and is erased in release builds.
Calls .tap_borrow() only in debug builds, and is erased in release builds.
Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Calls .tap_ref() only in debug builds, and is erased in release builds.
Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Calls .tap_deref() only in debug builds, and is erased in release builds.
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Attempts to convert self into T using TryInto<T>. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more