Skip to main content

surrealdb_sql/statements/
output.rs

1use 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}