(&mut self)
| 6373 | } |
| 6374 | |
| 6375 | fn parse_alter_role(&mut self) -> Result<Statement<Raw>, ParserError> { |
| 6376 | let name = self.parse_identifier()?; |
| 6377 | |
| 6378 | let option = match self.parse_one_of_keywords(&[SET, RESET, WITH]) { |
| 6379 | Some(SET) => { |
| 6380 | let name = self.parse_identifier()?; |
| 6381 | self.expect_keyword_or_token(TO, &Token::Eq)?; |
| 6382 | let value = self.parse_set_variable_to()?; |
| 6383 | let var = SetRoleVar::Set { name, value }; |
| 6384 | AlterRoleOption::Variable(var) |
| 6385 | } |
| 6386 | Some(RESET) => { |
| 6387 | let name = self.parse_identifier()?; |
| 6388 | let var = SetRoleVar::Reset { name }; |
| 6389 | AlterRoleOption::Variable(var) |
| 6390 | } |
| 6391 | Some(WITH) | None => { |
| 6392 | let _ = self.parse_keyword(WITH); |
| 6393 | let attrs = self.parse_role_attributes()?; |
| 6394 | AlterRoleOption::Attributes(attrs) |
| 6395 | } |
| 6396 | Some(k) => unreachable!("unmatched keyword: {k}"), |
| 6397 | }; |
| 6398 | |
| 6399 | Ok(Statement::AlterRole(AlterRoleStatement { name, option })) |
| 6400 | } |
| 6401 | |
| 6402 | fn parse_alter_default_privileges(&mut self) -> Result<Statement<Raw>, ParserError> { |
| 6403 | self.expect_keyword(FOR)?; |
no test coverage detected