(&mut self)
| 4753 | } |
| 4754 | |
| 4755 | fn parse_create_cluster_replica(&mut self) -> Result<Statement<Raw>, ParserError> { |
| 4756 | self.next_token(); |
| 4757 | let of_cluster = self.parse_identifier()?; |
| 4758 | self.expect_token(&Token::Dot)?; |
| 4759 | let name = self.parse_identifier()?; |
| 4760 | // For historical reasons, the parentheses around the options can be |
| 4761 | // omitted. |
| 4762 | let paren = self.consume_token(&Token::LParen); |
| 4763 | let options = self.parse_comma_separated(Parser::parse_replica_option)?; |
| 4764 | if paren { |
| 4765 | let _ = self.consume_token(&Token::RParen); |
| 4766 | } |
| 4767 | Ok(Statement::CreateClusterReplica( |
| 4768 | CreateClusterReplicaStatement { |
| 4769 | of_cluster, |
| 4770 | definition: ReplicaDefinition { name, options }, |
| 4771 | }, |
| 4772 | )) |
| 4773 | } |
| 4774 | |
| 4775 | fn parse_if_exists(&mut self) -> Result<bool, ParserError> { |
| 4776 | if self.parse_keyword(IF) { |
no test coverage detected