surrealdb_expr/expr/convert/
ast.rs1use crate::expr;
7use crate::sql::ast::*;
8
9impl From<ExplainFormat> for crate::expr::ExplainFormat {
10 fn from(value: ExplainFormat) -> Self {
11 match value {
12 ExplainFormat::Text => crate::expr::ExplainFormat::Text,
13 ExplainFormat::Json => crate::expr::ExplainFormat::Json,
14 }
15 }
16}
17
18impl From<crate::expr::ExplainFormat> for ExplainFormat {
19 fn from(value: crate::expr::ExplainFormat) -> Self {
20 match value {
21 crate::expr::ExplainFormat::Text => ExplainFormat::Text,
22 crate::expr::ExplainFormat::Json => ExplainFormat::Json,
23 }
24 }
25}
26
27impl From<expr::LogicalPlan> for Ast {
28 fn from(value: expr::LogicalPlan) -> Self {
29 Ast {
30 expressions: value.expressions.into_iter().map(From::from).collect(),
31 }
32 }
33}
34
35impl From<Ast> for expr::LogicalPlan {
36 fn from(value: Ast) -> Self {
37 expr::LogicalPlan {
38 expressions: value.expressions.into_iter().map(From::from).collect(),
39 }
40 }
41}
42
43impl From<TopLevelExpr> for crate::expr::TopLevelExpr {
44 fn from(value: TopLevelExpr) -> Self {
45 match value {
46 TopLevelExpr::Begin => crate::expr::TopLevelExpr::Begin,
47 TopLevelExpr::Cancel => crate::expr::TopLevelExpr::Cancel,
48 TopLevelExpr::Commit => crate::expr::TopLevelExpr::Commit,
49 TopLevelExpr::Access(access_statement) => {
50 crate::expr::TopLevelExpr::Access(Box::new((*access_statement).into()))
51 }
52 TopLevelExpr::Kill(kill_statement) => {
53 crate::expr::TopLevelExpr::Kill(kill_statement.into())
54 }
55 TopLevelExpr::Live(live_statement) => {
56 crate::expr::TopLevelExpr::Live(Box::new((*live_statement).into()))
57 }
58 TopLevelExpr::Option(option_statement) => {
59 crate::expr::TopLevelExpr::Option(option_statement.into())
60 }
61 TopLevelExpr::Use(use_statement) => {
62 crate::expr::TopLevelExpr::Use(use_statement.into())
63 }
64 TopLevelExpr::Show(show_statement) => {
65 crate::expr::TopLevelExpr::Show(show_statement.into())
66 }
67 TopLevelExpr::Expr(expr) => crate::expr::TopLevelExpr::Expr(expr.into()),
68 }
69 }
70}
71
72impl From<crate::expr::TopLevelExpr> for TopLevelExpr {
73 fn from(value: crate::expr::TopLevelExpr) -> Self {
74 match value {
75 crate::expr::TopLevelExpr::Begin => TopLevelExpr::Begin,
76 crate::expr::TopLevelExpr::Cancel => TopLevelExpr::Cancel,
77 crate::expr::TopLevelExpr::Commit => TopLevelExpr::Commit,
78 crate::expr::TopLevelExpr::Access(access_statement) => {
79 TopLevelExpr::Access(Box::new((*access_statement).into()))
80 }
81 crate::expr::TopLevelExpr::Kill(kill_statement) => {
82 TopLevelExpr::Kill(kill_statement.into())
83 }
84 crate::expr::TopLevelExpr::Live(live_statement) => {
85 TopLevelExpr::Live(Box::new((*live_statement).into()))
86 }
87 crate::expr::TopLevelExpr::Option(option_statement) => {
88 TopLevelExpr::Option(option_statement.into())
89 }
90 crate::expr::TopLevelExpr::Use(use_statement) => {
91 TopLevelExpr::Use(use_statement.into())
92 }
93 crate::expr::TopLevelExpr::Show(show_statement) => {
94 TopLevelExpr::Show(show_statement.into())
95 }
96 crate::expr::TopLevelExpr::Expr(expr) => TopLevelExpr::Expr(expr.into()),
97 }
98 }
99}