springql_core/pipeline/relation/column/
column_definition.rs

1// This file is part of https://github.com/SpringQL/SpringQL which is licensed under MIT OR Apache-2.0. See file LICENSE-MIT or LICENSE-APACHE for full license details.
2
3use crate::pipeline::name::ColumnName;
4
5use crate::pipeline::relation::column::{
6    column_constraint::ColumnConstraint, column_data_type::ColumnDataType,
7};
8
9/// Column definition used in DDL.
10#[derive(Clone, Eq, PartialEq, Debug, new)]
11pub struct ColumnDefinition {
12    column_data_type: ColumnDataType,
13    column_constraints: Vec<ColumnConstraint>,
14}
15
16impl ColumnDefinition {
17    pub fn column_data_type(&self) -> &ColumnDataType {
18        &self.column_data_type
19    }
20
21    pub fn column_name(&self) -> &ColumnName {
22        self.column_data_type.column_name()
23    }
24
25    pub fn column_constraints(&self) -> &[ColumnConstraint] {
26        &self.column_constraints
27    }
28}