use super::{ClauseAllowed, ExecutableState, clause};
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectInitial;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectFromSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectJoinSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectWhereSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectGroupSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectOrderSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectLimitSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectOffsetSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct SelectSetOpSet;
impl ExecutableState for SelectFromSet {
type Rows<R: crate::row::RowCount> = R;
}
impl ExecutableState for SelectWhereSet {
type Rows<R: crate::row::RowCount> = R;
}
impl ExecutableState for SelectLimitSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for SelectOffsetSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for SelectOrderSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for SelectGroupSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for SelectJoinSet {
type Rows<R: crate::row::RowCount> = R;
}
impl ExecutableState for SelectSetOpSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ClauseAllowed<clause::Where> for SelectFromSet {}
impl ClauseAllowed<clause::Where> for SelectJoinSet {}
impl ClauseAllowed<clause::GroupBy> for SelectFromSet {}
impl ClauseAllowed<clause::GroupBy> for SelectJoinSet {}
impl ClauseAllowed<clause::GroupBy> for SelectWhereSet {}
impl ClauseAllowed<clause::OrderBy> for SelectFromSet {}
impl ClauseAllowed<clause::OrderBy> for SelectJoinSet {}
impl ClauseAllowed<clause::OrderBy> for SelectWhereSet {}
impl ClauseAllowed<clause::OrderBy> for SelectGroupSet {}
impl ClauseAllowed<clause::Limit> for SelectFromSet {}
impl ClauseAllowed<clause::Limit> for SelectJoinSet {}
impl ClauseAllowed<clause::Limit> for SelectWhereSet {}
impl ClauseAllowed<clause::Limit> for SelectGroupSet {}
impl ClauseAllowed<clause::Limit> for SelectOrderSet {}
impl ClauseAllowed<clause::Limit> for SelectSetOpSet {}
impl ClauseAllowed<clause::Offset> for SelectFromSet {}
impl ClauseAllowed<clause::Offset> for SelectLimitSet {}
impl ClauseAllowed<clause::Offset> for SelectSetOpSet {}
impl ClauseAllowed<clause::Join> for SelectFromSet {}
impl ClauseAllowed<clause::Join> for SelectJoinSet {}
impl ClauseAllowed<clause::Having> for SelectGroupSet {}
impl ClauseAllowed<clause::Simple> for SelectFromSet {}
impl ClauseAllowed<clause::Simple> for SelectJoinSet {}
impl ClauseAllowed<clause::Simple> for SelectWhereSet {}
impl ClauseAllowed<clause::Simple> for SelectGroupSet {}
impl ClauseAllowed<clause::Simple> for SelectOrderSet {}
impl ClauseAllowed<clause::Simple> for SelectLimitSet {}
impl ClauseAllowed<clause::Simple> for SelectOffsetSet {}
impl ClauseAllowed<clause::Compound> for SelectFromSet {}
impl ClauseAllowed<clause::Compound> for SelectJoinSet {}
impl ClauseAllowed<clause::Compound> for SelectWhereSet {}
impl ClauseAllowed<clause::Compound> for SelectGroupSet {}
impl ClauseAllowed<clause::Compound> for SelectOrderSet {}
impl ClauseAllowed<clause::Compound> for SelectLimitSet {}
impl ClauseAllowed<clause::Compound> for SelectOffsetSet {}
impl ClauseAllowed<clause::Compound> for SelectSetOpSet {}
impl ClauseAllowed<clause::Source> for SelectFromSet {}
impl ClauseAllowed<clause::Source> for SelectJoinSet {}
impl ClauseAllowed<clause::Source> for SelectWhereSet {}
impl ClauseAllowed<clause::Source> for SelectGroupSet {}
impl ClauseAllowed<clause::Source> for SelectOrderSet {}
impl ClauseAllowed<clause::Source> for SelectLimitSet {}
impl ClauseAllowed<clause::Source> for SelectOffsetSet {}
impl ClauseAllowed<clause::Source> for SelectSetOpSet {}
#[derive(Debug, Clone, Copy, Default)]
pub struct InsertInitial;
#[derive(Debug, Clone, Copy, Default)]
pub struct InsertValuesSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct InsertReturningSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct InsertOnConflictSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct InsertDoUpdateSet;
impl ExecutableState for InsertValuesSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for InsertReturningSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for InsertOnConflictSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for InsertDoUpdateSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
#[derive(Debug, Clone, Copy, Default)]
pub struct DeleteInitial;
#[derive(Debug, Clone, Copy, Default)]
pub struct DeleteWhereSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct DeleteReturningSet;
impl ExecutableState for DeleteWhereSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for DeleteReturningSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
#[derive(Debug, Clone, Copy, Default)]
pub struct UpdateInitial;
#[derive(Debug, Clone, Copy, Default)]
pub struct UpdateSetClauseSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct UpdateWhereSet;
#[derive(Debug, Clone, Copy, Default)]
pub struct UpdateReturningSet;
impl ExecutableState for UpdateWhereSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}
impl ExecutableState for UpdateReturningSet {
type Rows<R: crate::row::RowCount> = crate::row::ZeroOrMore;
}