common_primitives/parquet/
types.rs

1use serde::{Deserialize, Serialize};
2
3use crate::parquet::base::ParquetBaseType;
4
5use crate::parquet::{
6	numeric::ParquetNumericType, string::ParquetStringType, temporal::ParquetTemporalType,
7};
8
9/// Encapsulates label types for Parquet
10#[derive(Clone, PartialEq, Debug, Eq, Serialize, Deserialize)]
11#[serde(untagged)]
12pub enum ParquetType {
13	/// Base types (bool, int, etc)
14	BaseType(ParquetBaseType),
15	/// Strings
16	StringType(ParquetStringType),
17	/// Numbers
18	NumericType(ParquetNumericType),
19	/// Time
20	TemporalType(ParquetTemporalType),
21}
22
23impl Default for ParquetType {
24	fn default() -> Self {
25		Self::BaseType(ParquetBaseType::Boolean)
26	}
27}