struct Maker<'a> {
resolver: Resolver<'a>,
use_utf8view: bool,
strict_mode: bool,
}
Expand description
Resolves Avro type names to AvroDataType
See https://avro.apache.org/docs/1.11.1/specification/#names
Fields§
§resolver: Resolver<'a>
§use_utf8view: bool
§strict_mode: bool
Implementations§
Source§impl<'a> Maker<'a>
impl<'a> Maker<'a>
fn new(use_utf8view: bool, strict_mode: bool) -> Self
fn make_data_type<'s>( &mut self, writer_schema: &'s Schema<'a>, reader_schema: Option<&'s Schema<'a>>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
Sourcefn parse_type<'s>(
&mut self,
schema: &'s Schema<'a>,
namespace: Option<&'a str>,
) -> Result<AvroDataType, ArrowError>
fn parse_type<'s>( &mut self, schema: &'s Schema<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
Parses a AvroDataType
from the provided Schema
and the given name
and namespace
name
: is the name used to refer to schema
in its parent
namespace
: an optional qualifier used as part of a type hierarchy
If the data type is a string, convert to use Utf8View if requested
This function is used during the schema conversion process to determine whether string data should be represented as StringArray (default) or StringViewArray.
use_utf8view
: if true, use Utf8View instead of Utf8 for string types
See Resolver
for more information
fn resolve_type<'s>( &mut self, writer_schema: &'s Schema<'a>, reader_schema: &'s Schema<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn coercion_from(dt: &AvroDataType) -> Promotion
fn find_best_promotion( &mut self, writer: &Schema<'a>, reader_variants: &[Schema<'a>], namespace: Option<&'a str>, ) -> Option<(usize, Promotion)>
fn resolve_unions<'s>( &mut self, writer_variants: &'s [Schema<'a>], reader_variants: &'s [Schema<'a>], namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn resolve_array( &mut self, writer_array: &Array<'a>, reader_array: &Array<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn resolve_map( &mut self, writer_map: &Map<'a>, reader_map: &Map<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn resolve_fixed<'s>( &mut self, writer_fixed: &Fixed<'a>, reader_fixed: &Fixed<'a>, reader_schema: &'s Schema<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn resolve_primitives( &mut self, write_primitive: PrimitiveType, read_primitive: PrimitiveType, reader_schema: &Schema<'a>, ) -> Result<AvroDataType, ArrowError>
fn resolve_nullable_union<'s>( &mut self, writer_variants: &'s [Schema<'a>], reader_variants: &'s [Schema<'a>], namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn resolve_enums( &mut self, writer_enum: &Enum<'a>, reader_enum: &Enum<'a>, reader_schema: &Schema<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
fn resolve_records( &mut self, writer_record: &Record<'a>, reader_record: &Record<'a>, namespace: Option<&'a str>, ) -> Result<AvroDataType, ArrowError>
Auto Trait Implementations§
impl<'a> Freeze for Maker<'a>
impl<'a> RefUnwindSafe for Maker<'a>
impl<'a> Send for Maker<'a>
impl<'a> Sync for Maker<'a>
impl<'a> Unpin for Maker<'a>
impl<'a> UnwindSafe for Maker<'a>
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