Skip to main content

surrealdb_sql/statements/
foreach.rs

1use surrealdb_types::{SqlFormat, ToSql, write_sql};
2
3use crate::{Block, CoverStmts, Expr, Param};
4
5#[derive(Clone, Debug, Eq, PartialEq)]
6#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
7pub struct ForeachStatement {
8	pub param: Param,
9	pub range: Expr,
10	pub block: Block,
11}
12
13impl ToSql for ForeachStatement {
14	fn fmt_sql(&self, f: &mut String, sql_fmt: SqlFormat) {
15		write_sql!(f, sql_fmt, "FOR {} IN {} {}", self.param, CoverStmts(&self.range), self.block)
16	}
17}