polars_io/
options.rs

1use polars_core::schema::SchemaRef;
2use polars_utils::IdxSize;
3use polars_utils::pl_str::PlSmallStr;
4#[cfg(feature = "serde")]
5use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, Eq, PartialEq, Hash)]
8#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
9pub struct RowIndex {
10    pub name: PlSmallStr,
11    pub offset: IdxSize,
12}
13
14/// Options for Hive partitioning.
15#[derive(Clone, Debug, Eq, PartialEq, Hash)]
16#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
17pub struct HiveOptions {
18    /// This can be `None` to automatically enable for single directory scans
19    /// and disable otherwise. However it should be initialized if it is inside
20    /// a DSL / IR plan.
21    pub enabled: Option<bool>,
22    pub hive_start_idx: usize,
23    pub schema: Option<SchemaRef>,
24    pub try_parse_dates: bool,
25}
26
27impl Default for HiveOptions {
28    fn default() -> Self {
29        Self {
30            enabled: Some(true),
31            hive_start_idx: 0,
32            schema: None,
33            try_parse_dates: true,
34        }
35    }
36}