Skip to content

Commit 583f22b

Browse files
authored
Remove PostgreSQL version of assert (apache#229)
Remove PostgreSQL procedural assert statement. This also simplifies code somewhat.
1 parent c24b0e0 commit 583f22b

File tree

3 files changed

+6
-22
lines changed

3 files changed

+6
-22
lines changed

src/ast/mod.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -555,8 +555,6 @@ pub enum Statement {
555555
/// ASSERT <condition> [AS <message>]
556556
Assert {
557557
condition: Expr,
558-
// AS or ,
559-
separator: String,
560558
message: Option<Expr>,
561559
},
562560
}
@@ -818,15 +816,11 @@ impl fmt::Display for Statement {
818816
write!(f, "ROLLBACK{}", if *chain { " AND CHAIN" } else { "" },)
819817
}
820818
Statement::CreateSchema { schema_name } => write!(f, "CREATE SCHEMA {}", schema_name),
821-
Statement::Assert {
822-
condition,
823-
separator,
824-
message,
825-
} => {
819+
Statement::Assert { condition, message } => {
826820
write!(f, "ASSERT {}", condition)?;
827821

828822
if let Some(m) = message {
829-
write!(f, " {} {}", separator, m)?;
823+
write!(f, " AS {}", m)?;
830824
}
831825
Ok(())
832826
}

src/parser.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -182,19 +182,13 @@ impl Parser {
182182
}
183183
pub fn parse_assert(&mut self) -> Result<Statement, ParserError> {
184184
let condition = self.parse_expr()?;
185-
let (separator, message) = if self.consume_token(&Token::Comma) {
186-
(",".to_string(), Some(self.parse_expr()?))
187-
} else if self.parse_keyword(Keyword::AS) {
188-
("AS".to_string(), Some(self.parse_expr()?))
185+
let message = if self.parse_keyword(Keyword::AS) {
186+
Some(self.parse_expr()?)
189187
} else {
190-
("".to_string(), None)
188+
None
191189
};
192190

193-
Ok(Statement::Assert {
194-
condition,
195-
separator,
196-
message,
197-
})
191+
Ok(Statement::Assert { condition, message })
198192
}
199193

200194
/// Parse an expression prefix

tests/sqlparser_common.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,11 +1163,9 @@ fn parse_assert() {
11631163
match ast {
11641164
Statement::Assert {
11651165
condition: _condition,
1166-
separator,
11671166
message,
11681167
} => {
11691168
assert_eq!(message, None);
1170-
assert_eq!(separator, "");
11711169
}
11721170
_ => unreachable!(),
11731171
}
@@ -1184,9 +1182,7 @@ fn parse_assert_message() {
11841182
Statement::Assert {
11851183
condition: _condition,
11861184
message: Some(message),
1187-
separator,
11881185
} => {
1189-
assert_eq!(separator, "AS");
11901186
match message {
11911187
Expr::Value(Value::SingleQuotedString(s)) => assert_eq!(s, "No rows in table"),
11921188
_ => unreachable!(),

0 commit comments

Comments
 (0)