common_primitives/parquet/
column.rs1use scale_info::prelude::string::String;
3use serde::{Deserialize, Serialize};
4
5use crate::parquet::{column_compression_codec::ColumnCompressionCodec, types::ParquetType};
6
7#[derive(Clone, PartialEq, Debug, Eq, Serialize, Deserialize)]
9#[serde(deny_unknown_fields)]
10pub struct ParquetColumn {
11 name: String,
13 column_type: ParquetType,
15 compression: ColumnCompressionCodec,
17 bloom_filter: bool,
19 optional: Option<bool>,
21}
22
23impl ParquetColumn {
24 pub fn new(
26 name: String,
27 column_type: ParquetType,
28 compression: ColumnCompressionCodec,
29 bloom_filter: bool,
30 optional: bool,
31 ) -> ParquetColumn {
32 ParquetColumn {
33 name,
34 column_type,
35 compression,
36 bloom_filter,
37 optional: optional.then_some(true),
38 }
39 }
40}