39 const org::apache::arrow::flatbuf::RecordBatch& record_batch,
40 std::span<const uint8_t> body,
41 std::string_view name,
42 const std::optional<std::vector<sparrow::metadata_pair>>& metadata,
45 std::optional<std::string> format_override = std::nullopt
48 const std::string_view format = format_override.has_value()
50 : data_type_to_format(sparrow::detail::get_data_type_from_array<ArrayType<T>>::get());
53 std::optional<std::unordered_set<sparrow::ArrowFlag>> flags;
56 flags = std::unordered_set<sparrow::ArrowFlag>{sparrow::ArrowFlag::NULLABLE};
69 const auto compression = record_batch.compression();
70 std::vector<arrow_array_private_data::optionally_owned_buffer> buffers;
82 buffers.emplace_back(validity_buffer_span);
83 buffers.emplace_back(data_buffer_span);
90 record_batch.length(),
99 sparrow::arrow_proxy ap{std::move(array), std::move(schema)};
100 return ArrayType<T>{std::move(ap)};