Open
Description
In GreptimeDB, we write code like:
#[derive(Debug, Clone, PartialEq, Eq, Visit, VisitMut)]
pub struct Delete {
// Can only be sqlparser::ast::Statement::Delete variant
pub inner: Statement,
}
It's because in sqlparser-rs, these statement variants are unnamed struct:
Delete {
/// Multi tables delete are supported in mysql
tables: Vec<ObjectName>,
/// FROM
from: Vec<TableWithJoins>,
/// USING (Snowflake, Postgres, MySQL)
using: Option<Vec<TableWithJoins>>,
/// WHERE
selection: Option<Expr>,
/// RETURNING
returning: Option<Vec<SelectItem>>,
},
I wonder if we can always wrap statement in a named struct so that downstream software can reuse the AST and impls (like for Display) more smoothly.
I don't know if it's a breaking change or we're generally OK with this.
Metadata
Metadata
Assignees
Labels
No labels