surrealdb_core/sql/statements/
continue.rs

1use crate::ctx::Context;
2use crate::dbs::Options;
3use crate::doc::CursorDoc;
4use crate::err::Error;
5use crate::sql::Value;
6
7use revision::revisioned;
8use serde::{Deserialize, Serialize};
9use std::fmt;
10
11#[revisioned(revision = 1)]
12#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
13#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
14#[non_exhaustive]
15pub struct ContinueStatement;
16
17impl ContinueStatement {
18	/// Check if we require a writeable transaction
19	pub(crate) fn writeable(&self) -> bool {
20		false
21	}
22	/// Process this type returning a computed simple Value
23	pub(crate) async fn compute(
24		&self,
25		_ctx: &Context,
26		_opt: &Options,
27		_doc: Option<&CursorDoc>,
28	) -> Result<Value, Error> {
29		Err(Error::Continue)
30	}
31}
32
33impl fmt::Display for ContinueStatement {
34	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
35		f.write_str("CONTINUE")
36	}
37}