Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-plan/src/dsl/match_to_schema.rs
6939 views
1
use super::{Expr, ExtraColumnsPolicy, MissingColumnsPolicy};
2
3
#[derive(Debug, Clone, PartialEq, Eq)]
4
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5
#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]
6
pub enum MissingColumnsPolicyOrExpr {
7
Insert,
8
Raise,
9
InsertWith(Expr),
10
}
11
12
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
13
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
14
#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]
15
pub enum UpcastOrForbid {
16
Upcast,
17
Forbid,
18
}
19
20
#[derive(Debug, Clone, PartialEq, Eq)]
21
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
22
#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]
23
pub struct MatchToSchemaPerColumn {
24
pub missing_columns: MissingColumnsPolicyOrExpr,
25
pub missing_struct_fields: MissingColumnsPolicy,
26
27
pub extra_struct_fields: ExtraColumnsPolicy,
28
29
pub integer_cast: UpcastOrForbid,
30
pub float_cast: UpcastOrForbid,
31
}
32
33