in crates/iceberg/src/arrow/schema.rs [1022:1115]
fn arrow_schema_for_arrow_schema_to_schema_test() -> ArrowSchema {
let fields = Fields::from(vec![
simple_field("key", DataType::Int32, false, "28"),
simple_field("value", DataType::Utf8, true, "29"),
]);
let r#struct = DataType::Struct(fields);
let map = DataType::Map(
Arc::new(simple_field(DEFAULT_MAP_FIELD_NAME, r#struct, false, "17")),
false,
);
let dictionary = DataType::Dictionary(Box::new(DataType::Int32), Box::new(DataType::Utf8));
let fields = Fields::from(vec![
simple_field("aa", DataType::Int32, false, "18"),
simple_field("bb", DataType::Utf8, true, "19"),
simple_field(
"cc",
DataType::Timestamp(TimeUnit::Microsecond, None),
false,
"20",
),
]);
let r#struct = DataType::Struct(fields);
ArrowSchema::new(vec![
simple_field("a", DataType::Int32, false, "2"),
simple_field("b", DataType::Int64, false, "1"),
simple_field("c", DataType::Utf8, false, "3"),
simple_field("n", DataType::Utf8, false, "21"),
simple_field(
"d",
DataType::Timestamp(TimeUnit::Microsecond, None),
true,
"4",
),
simple_field("e", DataType::Boolean, true, "6"),
simple_field("f", DataType::Float32, false, "5"),
simple_field("g", DataType::Float64, false, "7"),
simple_field("p", DataType::Decimal128(10, 2), false, "27"),
simple_field("h", DataType::Date32, false, "8"),
simple_field("i", DataType::Time64(TimeUnit::Microsecond), false, "9"),
simple_field(
"j",
DataType::Timestamp(TimeUnit::Microsecond, Some("UTC".into())),
false,
"10",
),
simple_field(
"k",
DataType::Timestamp(TimeUnit::Microsecond, Some("+00:00".into())),
false,
"12",
),
simple_field("l", DataType::Binary, false, "13"),
simple_field("o", DataType::LargeBinary, false, "22"),
simple_field("m", DataType::FixedSizeBinary(10), false, "11"),
simple_field(
"list",
DataType::List(Arc::new(simple_field(
"element",
DataType::Int32,
false,
"15",
))),
true,
"14",
),
simple_field(
"large_list",
DataType::LargeList(Arc::new(simple_field(
"element",
DataType::Utf8,
false,
"23",
))),
true,
"24",
),
simple_field(
"fixed_list",
DataType::FixedSizeList(
Arc::new(simple_field("element", DataType::Binary, false, "26")),
10,
),
true,
"25",
),
simple_field("map", map, false, "16"),
simple_field("struct", r#struct, false, "17"),
simple_field("dictionary", dictionary, false, "30"),
])
}