in crates/core/src/avro_to_arrow/schema.rs [157:227]
fn default_field_name(dt: &DataType) -> &str {
match dt {
DataType::Null => "null",
DataType::Boolean => "bit",
DataType::Int8 => "tinyint",
DataType::Int16 => "smallint",
DataType::Int32 => "int",
DataType::Int64 => "bigint",
DataType::UInt8 => "uint1",
DataType::UInt16 => "uint2",
DataType::UInt32 => "uint4",
DataType::UInt64 => "uint8",
DataType::Float16 => "float2",
DataType::Float32 => "float4",
DataType::Float64 => "float8",
DataType::Date32 => "dateday",
DataType::Date64 => "datemilli",
DataType::Time32(tu) | DataType::Time64(tu) => match tu {
TimeUnit::Second => "timesec",
TimeUnit::Millisecond => "timemilli",
TimeUnit::Microsecond => "timemicro",
TimeUnit::Nanosecond => "timenano",
},
DataType::Timestamp(tu, tz) => {
if tz.is_some() {
match tu {
TimeUnit::Second => "timestampsectz",
TimeUnit::Millisecond => "timestampmillitz",
TimeUnit::Microsecond => "timestampmicrotz",
TimeUnit::Nanosecond => "timestampnanotz",
}
} else {
match tu {
TimeUnit::Second => "timestampsec",
TimeUnit::Millisecond => "timestampmilli",
TimeUnit::Microsecond => "timestampmicro",
TimeUnit::Nanosecond => "timestampnano",
}
}
}
DataType::Duration(_) => "duration",
DataType::Interval(unit) => match unit {
IntervalUnit::YearMonth => "intervalyear",
IntervalUnit::DayTime => "intervalmonth",
IntervalUnit::MonthDayNano => "intervalmonthdaynano",
},
DataType::Binary => "varbinary",
DataType::FixedSizeBinary(_) => "fixedsizebinary",
DataType::LargeBinary => "largevarbinary",
DataType::Utf8 => "varchar",
DataType::LargeUtf8 => "largevarchar",
DataType::List(_) => "list",
DataType::FixedSizeList(_, _) => "fixed_size_list",
DataType::LargeList(_) => "largelist",
DataType::Struct(_) => "struct",
DataType::Union(_, _) => "union",
DataType::Dictionary(_, _) => "map",
DataType::Map(_, _) => unimplemented!("Map support not implemented"),
DataType::RunEndEncoded(_, _) => {
unimplemented!("RunEndEncoded support not implemented")
}
DataType::Utf8View
| DataType::BinaryView
| DataType::ListView(_)
| DataType::LargeListView(_) => {
unimplemented!("View support not implemented")
}
DataType::Decimal128(_, _) => "decimal",
DataType::Decimal256(_, _) => "decimal",
}
}