surrealdb_sql/statements/
output.rs1use surrealdb_types::{SqlFormat, ToSql, write_sql};
2
3use crate::fetch::Fetchs;
4use crate::{CoverStmts, Expr};
5
6#[derive(Clone, Debug, Eq, PartialEq)]
7#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
8pub struct OutputStatement {
9 pub what: Expr,
10 pub fetch: Option<Fetchs>,
11}
12
13impl ToSql for OutputStatement {
14 fn fmt_sql(&self, f: &mut String, sql_fmt: SqlFormat) {
15 write_sql!(f, sql_fmt, "RETURN {}", CoverStmts(&self.what));
16 if let Some(ref v) = self.fetch {
17 write_sql!(f, sql_fmt, " {}", v);
18 }
19 }
20}