MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / parse_alter_system

Method parse_alter_system

src/sql-parser/src/parser.rs:6234–6269  ·  view source on GitHub ↗

Parse an ALTER SYSTEM statement.

(&mut self)

Source from the content-addressed store, hash-verified

6232
6233 /// Parse an ALTER SYSTEM statement.
6234 fn parse_alter_system(&mut self) -> Result<Statement<Raw>, ParserStatementError> {
6235 match self
6236 .expect_one_of_keywords(&[SET, RESET])
6237 .map_no_statement_parser_err()?
6238 {
6239 SET => {
6240 let name = self
6241 .parse_identifier()
6242 .map_parser_err(StatementKind::AlterSystemSet)?;
6243 self.expect_keyword_or_token(TO, &Token::Eq)
6244 .map_parser_err(StatementKind::AlterSystemSet)?;
6245 let to = self
6246 .parse_set_variable_to()
6247 .map_parser_err(StatementKind::AlterSystemSet)?;
6248 Ok(Statement::AlterSystemSet(AlterSystemSetStatement {
6249 name,
6250 to,
6251 }))
6252 }
6253 RESET => {
6254 if self.parse_keyword(ALL) {
6255 Ok(Statement::AlterSystemResetAll(
6256 AlterSystemResetAllStatement {},
6257 ))
6258 } else {
6259 let name = self
6260 .parse_identifier()
6261 .map_parser_err(StatementKind::AlterSystemReset)?;
6262 Ok(Statement::AlterSystemReset(AlterSystemResetStatement {
6263 name,
6264 }))
6265 }
6266 }
6267 _ => unreachable!(),
6268 }
6269 }
6270
6271 fn parse_alter_connection(&mut self) -> Result<Statement<Raw>, ParserStatementError> {
6272 let if_exists = self.parse_if_exists().map_no_statement_parser_err()?;

Callers 1

parse_alterMethod · 0.80

Calls 7

map_parser_errMethod · 0.80
parse_identifierMethod · 0.80
parse_set_variable_toMethod · 0.80
parse_keywordMethod · 0.80

Tested by

no test coverage detected