Struct mz_avro::schema::UnionSchema
source · pub struct UnionSchema {
schemas: Vec<SchemaPieceOrNamed>,
anon_variant_index: BTreeMap<SchemaKind, usize>,
named_variant_index: BTreeMap<usize, usize>,
}
Fields§
§schemas: Vec<SchemaPieceOrNamed>
§anon_variant_index: BTreeMap<SchemaKind, usize>
§named_variant_index: BTreeMap<usize, usize>
Implementations§
source§impl UnionSchema
impl UnionSchema
pub(crate) fn new(schemas: Vec<SchemaPieceOrNamed>) -> Result<Self, AvroError>
sourcepub fn variants(&self) -> &[SchemaPieceOrNamed]
pub fn variants(&self) -> &[SchemaPieceOrNamed]
Returns a slice to all variants of this schema.
sourcepub fn is_nullable(&self) -> bool
pub fn is_nullable(&self) -> bool
Returns true if the first variant of this UnionSchema
is Null
.
pub fn match_piece( &self, sp: &SchemaPiece, ) -> Option<(usize, &SchemaPieceOrNamed)>
pub fn match_ref( &self, other: SchemaPieceRefOrNamed<'_>, names_map: &BTreeMap<usize, usize>, ) -> Option<(usize, &SchemaPieceOrNamed)>
pub fn match_( &self, other: &SchemaPieceOrNamed, names_map: &BTreeMap<usize, usize>, ) -> Option<(usize, &SchemaPieceOrNamed)>
Trait Implementations§
source§impl Clone for UnionSchema
impl Clone for UnionSchema
source§fn clone(&self) -> UnionSchema
fn clone(&self) -> UnionSchema
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for UnionSchema
impl Debug for UnionSchema
source§impl PartialEq for UnionSchema
impl PartialEq for UnionSchema
Auto Trait Implementations§
impl Freeze for UnionSchema
impl RefUnwindSafe for UnionSchema
impl Send for UnionSchema
impl Sync for UnionSchema
impl Unpin for UnionSchema
impl UnwindSafe for UnionSchema
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request