#[derive(Debug, Clone)]
#[allow(clippy::struct_excessive_bools)]
pub struct ArrowOptions {
pub batch_size: usize,
pub flatten_groups: bool,
pub edited_pic_as: EditedPicRepresentation,
pub emit_filler: bool,
pub emit_meta: bool,
pub compression: Compression,
pub row_group_size: usize,
pub embed_copybook: bool,
pub codepage: copybook_codec::Codepage,
pub float_format: copybook_codec::FloatFormat,
}
#[derive(Debug, Clone, Copy, Default)]
pub enum EditedPicRepresentation {
#[default]
Decimal,
String,
}
#[derive(Debug, Clone, Copy, Default)]
pub enum Compression {
None,
Snappy,
Gzip,
Lz4,
#[default]
Zstd,
}
impl Default for ArrowOptions {
#[inline]
fn default() -> Self {
Self {
batch_size: 8192,
flatten_groups: true,
edited_pic_as: EditedPicRepresentation::default(),
emit_filler: false,
emit_meta: false,
compression: Compression::default(),
row_group_size: 1_000_000,
embed_copybook: false,
codepage: copybook_codec::Codepage::CP037,
float_format: copybook_codec::FloatFormat::IeeeBigEndian,
}
}
}