1#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
5pub enum SelectInputFormat {
6 #[default]
7 Csv,
8 Json,
9 Parquet,
10}
11
12#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
14pub enum SelectOutputFormat {
15 #[default]
16 Csv,
17 Json,
18}
19
20#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
22pub enum SelectCompression {
23 #[default]
24 None,
25 Gzip,
26 Bzip2,
27}
28
29#[derive(Debug, Clone, PartialEq, Eq)]
31pub struct SelectOptions {
32 pub expression: String,
34 pub input_format: SelectInputFormat,
35 pub output_format: SelectOutputFormat,
36 pub compression: SelectCompression,
37}
38
39impl Default for SelectOptions {
40 fn default() -> Self {
41 Self {
42 expression: String::new(),
43 input_format: SelectInputFormat::Csv,
44 output_format: SelectOutputFormat::Csv,
45 compression: SelectCompression::None,
46 }
47 }
48}