pub mod ddl;
pub mod dml;
pub mod expr;
pub mod span;
pub use ddl::*;
pub use dml::*;
pub use expr::*;
use serde::{Deserialize, Serialize};
pub use span::{Location, Span, Spanned};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Statement {
pub kind: StatementKind,
pub span: Span,
}
impl Spanned for Statement {
fn span(&self) -> Span {
self.span
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "variant")]
#[allow(clippy::large_enum_variant)]
pub enum StatementKind {
CreateTable(CreateTable),
DropTable(DropTable),
CreateIndex(CreateIndex),
DropIndex(DropIndex),
Select(Select),
Insert(Insert),
Update(Update),
Delete(Delete),
}