use crate::ast::types::SQLExpression;
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
pub enum SelectKind {
WildCard(SelectWildCard),
SelectItem(SelectItem),
}
#[derive(Deserialize, Serialize, Clone, Debug, PartialEq, Eq)]
pub struct SelectWildCard {
pub alias: Option<String>,
}
#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
pub struct SelectItem {
pub item: Option<SQLExpression>, pub alias: Option<String>, }
impl SelectItem {
pub fn builder() -> Self {
Self {
item: None,
alias: None,
}
}
pub fn set_item(mut self, item: SQLExpression) -> Self {
self.item = Some(item);
self
}
pub fn set_alias(mut self, alias: String) -> Self {
self.alias = Some(alias);
self
}
pub fn build(self) -> Self {
self
}
}