(&mut self)
| 4077 | } |
| 4078 | |
| 4079 | fn parse_view_definition(&mut self) -> Result<ViewDefinition<Raw>, ParserError> { |
| 4080 | // ANSI SQL and Postgres support RECURSIVE here, but we don't. |
| 4081 | let name = self.parse_item_name()?; |
| 4082 | let columns = self.parse_parenthesized_column_list(Optional)?; |
| 4083 | // Postgres supports WITH options here, but we don't. |
| 4084 | self.expect_keyword(AS)?; |
| 4085 | let query = self.parse_query()?; |
| 4086 | // Optional `WITH [ CASCADED | LOCAL ] CHECK OPTION` is widely supported here. |
| 4087 | Ok(ViewDefinition { |
| 4088 | name, |
| 4089 | columns, |
| 4090 | query, |
| 4091 | }) |
| 4092 | } |
| 4093 | |
| 4094 | fn parse_create_materialized_view(&mut self) -> Result<Statement<Raw>, ParserError> { |
| 4095 | let mut if_exists = if self.parse_keyword(OR) { |
no test coverage detected