Skip to main content

Module record

Module record 

Source
Expand description

Avro Decoder for Arrow types.

Re-exportsΒ§

use crate::codec::AvroDataType; πŸ”’
use crate::codec::AvroLiteral; πŸ”’
use crate::codec::Codec; πŸ”’
use crate::codec::EnumMapping; πŸ”’
use crate::codec::Promotion; πŸ”’
use crate::codec::ResolutionInfo; πŸ”’
use crate::codec::ResolvedField; πŸ”’
use crate::codec::ResolvedRecord; πŸ”’
use crate::codec::ResolvedUnion; πŸ”’
use crate::codec::Tz; πŸ”’
use crate::errors::AvroError; πŸ”’
use crate::reader::cursor::AvroCursor; πŸ”’
use crate::schema::Nullability; πŸ”’
use arrow_array::builder::Decimal32Builder; πŸ”’
use arrow_array::builder::Decimal64Builder; πŸ”’
use arrow_array::builder::Decimal128Builder; πŸ”’
use arrow_array::builder::Decimal256Builder; πŸ”’
use arrow_array::builder::IntervalMonthDayNanoBuilder; πŸ”’
use arrow_schema::DECIMAL32_MAX_PRECISION; πŸ”’
use arrow_schema::DECIMAL64_MAX_PRECISION; πŸ”’
use arrow_schema::DECIMAL128_MAX_PRECISION; πŸ”’
use arrow_schema::DECIMAL256_MAX_PRECISION; πŸ”’
use arrow_schema::DataType; πŸ”’
use arrow_schema::Field as ArrowField; πŸ”’
use arrow_schema::FieldRef; πŸ”’
use arrow_schema::Fields; πŸ”’
use arrow_schema::Schema as ArrowSchema; πŸ”’
use arrow_schema::SchemaRef; πŸ”’
use arrow_schema::UnionFields; πŸ”’
use arrow_schema::UnionMode; πŸ”’
use arrow_select::take::TakeOptions; πŸ”’
use arrow_select::take::take; πŸ”’
use strum_macros::AsRefStr; πŸ”’
use uuid::Uuid; πŸ”’
use std::cmp::Ordering; πŸ”’
use std::mem; πŸ”’
use std::sync::Arc; πŸ”’
use arrow_array::types::*; πŸ”’
use arrow_array::*; πŸ”’
use arrow_buffer::*; πŸ”’

MacrosΒ§

append_decimal_default πŸ”’
Macro to append a default decimal value from two’s-complement big-endian bytes into the corresponding decimal builder, with compile-time constructed error text.
decode_decimal πŸ”’
Macro to decode a decimal payload for a given width and integer type.
flush_decimal πŸ”’
Macro to finish a decimal builder into an array with precision/scale and nulls.

StructsΒ§

DispatchLookupTable πŸ”’
EnumResolution πŸ”’
NullableDecoder πŸ”’
Projector πŸ”’
ProjectorBuilder πŸ”’
RecordDecoder πŸ”’
Decodes avro encoded data into [RecordBatch]
UnionDecoder πŸ”’
UnionDecoderBranches πŸ”’
UnionDecoderBuilder πŸ”’

EnumsΒ§

Decoder πŸ”’
FieldProjection πŸ”’
NegativeBlockBehavior πŸ”’
NullablePlan πŸ”’
Runtime plan for decoding reader-side ["null", T] types.
ResolutionPlan πŸ”’
Runtime plan for resolving writer-reader type differences.
Skipper πŸ”’
Lightweight skipper for non‑projected writer fields (fields present in the writer schema but omitted by the reader/projection); per Avro 1.11.1 schema resolution these fields are ignored.
UnionReadPlan πŸ”’

ConstantsΒ§

DEFAULT_CAPACITY πŸ”’
NO_SOURCE πŸ”’

FunctionsΒ§

flush_dict πŸ”’
flush_offsets πŸ”’
flush_primitive πŸ”’
flush_values πŸ”’
process_block_items πŸ”’
Decode count items, capping the running total at i32::MAX (the largest index an Arrow list/map offset holds). Otherwise a crafted i64::MAX count of a zero-byte item like null spins the loop forever (#10235); byte-consuming items self-terminate on cursor exhaustion, so valid blocks (including array<null>) are unaffected.
process_blockwise πŸ”’
read_blocks πŸ”’
read_decimal_bytes_be πŸ”’
sign_cast_to πŸ”’
Sign-extend or (when larger) validate-and-truncate a big-endian two’s-complement integer into exactly N bytes. This matches Avro’s decimal binary encoding: the payload is a big-endian two’s-complement integer, and when narrowing it must be representable without changing sign or value.
skip_blocks πŸ”’
values_equal_at πŸ”’