linkrs_query/parser/ast/stmt/
migrate.rs1use linkrs_core::types::Span;
2
3#[derive(Debug, Clone, PartialEq)]
4pub struct MigratePlanStmt {
5 pub span: Span,
6 pub space: String,
7 pub label: String,
8 pub is_edge: bool,
9 pub from_version: u64,
10 pub to_version: u64,
11}
12
13#[derive(Debug, Clone, PartialEq)]
14pub struct MigrateExecuteStmt {
15 pub span: Span,
16 pub plan_json: String,
17}
18
19#[derive(Debug, Clone, PartialEq)]
20pub struct MigrateRollbackStmt {
21 pub span: Span,
22 pub plan_json: String,
23}
24
25#[derive(Debug, Clone, PartialEq)]
26pub enum MigrateStmt {
27 Plan(MigratePlanStmt),
28 Execute(MigrateExecuteStmt),
29 Rollback(MigrateRollbackStmt),
30}
31
32impl MigrateStmt {
33 pub fn span(&self) -> Span {
34 match self {
35 MigrateStmt::Plan(s) => s.span,
36 MigrateStmt::Execute(s) => s.span,
37 MigrateStmt::Rollback(s) => s.span,
38 }
39 }
40}