#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum SelectInputFormat {
#[default]
Csv,
Json,
Parquet,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum SelectOutputFormat {
#[default]
Csv,
Json,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum SelectCompression {
#[default]
None,
Gzip,
Bzip2,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SelectOptions {
pub expression: String,
pub input_format: SelectInputFormat,
pub output_format: SelectOutputFormat,
pub compression: SelectCompression,
}
impl Default for SelectOptions {
fn default() -> Self {
Self {
expression: String::new(),
input_format: SelectInputFormat::Csv,
output_format: SelectOutputFormat::Csv,
compression: SelectCompression::None,
}
}
}