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 {}
impl ExecutableState for SelectWhereSet {}
impl ExecutableState for SelectLimitSet {}
impl ExecutableState for SelectOffsetSet {}
impl ExecutableState for SelectOrderSet {}
impl ExecutableState for SelectGroupSet {}
impl ExecutableState for SelectJoinSet {}
impl ExecutableState for SelectSetOpSet {}
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 {}
impl ExecutableState for InsertReturningSet {}
impl ExecutableState for InsertOnConflictSet {}
impl ExecutableState for InsertDoUpdateSet {}
#[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 {}
impl ExecutableState for DeleteReturningSet {}
#[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 {}
impl ExecutableState for UpdateReturningSet {}