surql_parser/upstream/syn/parser/stmt/
update.rs1use crate::upstream::sql::statements::UpdateStatement;
2use crate::upstream::syn::parser::{ParseResult, Parser};
3use crate::upstream::syn::token::t;
4use reblessive::Stk;
5impl Parser<'_> {
6 pub async fn parse_update_stmt(&mut self, stk: &mut Stk) -> ParseResult<UpdateStatement> {
7 let only = self.eat(t!("ONLY"));
8 let what = self.parse_what_list(stk).await?;
9 let with = self.try_parse_with()?;
10 let data = self.try_parse_data(stk).await?;
11 let cond = self.try_parse_condition(stk).await?;
12 let output = self.try_parse_output(stk).await?;
13 let timeout = self.try_parse_timeout(stk).await?;
14 let explain = self.try_parse_explain()?;
15 Ok(UpdateStatement {
16 only,
17 what,
18 with,
19 data,
20 cond,
21 output,
22 timeout,
23 explain,
24 })
25 }
26}