From 583f22b92900c7096ae29fd6b5280e27d93884c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20Heres?= Date: Fri, 17 Jul 2020 13:20:49 +0200 Subject: [PATCH] Remove PostgreSQL version of assert (#229) Remove PostgreSQL procedural assert statement. This also simplifies code somewhat. --- src/ast/mod.rs | 10 ++-------- src/parser.rs | 14 ++++---------- tests/sqlparser_common.rs | 4 ---- 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/src/ast/mod.rs b/src/ast/mod.rs index 9e0992bc..be526495 100644 --- a/src/ast/mod.rs +++ b/src/ast/mod.rs @@ -555,8 +555,6 @@ pub enum Statement { /// ASSERT [AS ] Assert { condition: Expr, - // AS or , - separator: String, message: Option, }, } @@ -818,15 +816,11 @@ impl fmt::Display for Statement { write!(f, "ROLLBACK{}", if *chain { " AND CHAIN" } else { "" },) } Statement::CreateSchema { schema_name } => write!(f, "CREATE SCHEMA {}", schema_name), - Statement::Assert { - condition, - separator, - message, - } => { + Statement::Assert { condition, message } => { write!(f, "ASSERT {}", condition)?; if let Some(m) = message { - write!(f, " {} {}", separator, m)?; + write!(f, " AS {}", m)?; } Ok(()) } diff --git a/src/parser.rs b/src/parser.rs index f5389ccd..0f6e3c1d 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -182,19 +182,13 @@ impl Parser { } pub fn parse_assert(&mut self) -> Result { let condition = self.parse_expr()?; - let (separator, message) = if self.consume_token(&Token::Comma) { - (",".to_string(), Some(self.parse_expr()?)) - } else if self.parse_keyword(Keyword::AS) { - ("AS".to_string(), Some(self.parse_expr()?)) + let message = if self.parse_keyword(Keyword::AS) { + Some(self.parse_expr()?) } else { - ("".to_string(), None) + None }; - Ok(Statement::Assert { - condition, - separator, - message, - }) + Ok(Statement::Assert { condition, message }) } /// Parse an expression prefix diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 1ff79b29..31f95b37 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -1163,11 +1163,9 @@ fn parse_assert() { match ast { Statement::Assert { condition: _condition, - separator, message, } => { assert_eq!(message, None); - assert_eq!(separator, ""); } _ => unreachable!(), } @@ -1184,9 +1182,7 @@ fn parse_assert_message() { Statement::Assert { condition: _condition, message: Some(message), - separator, } => { - assert_eq!(separator, "AS"); match message { Expr::Value(Value::SingleQuotedString(s)) => assert_eq!(s, "No rows in table"), _ => unreachable!(),