Add support for RAISE statement (#1766)

This commit is contained in:
Ifeanyi Ubah 2025-03-18 15:19:51 +01:00 committed by GitHub
parent da5892802f
commit e3e88290cd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 124 additions and 5 deletions

View file

@ -14298,6 +14298,29 @@ fn parse_if_statement() {
);
}
#[test]
fn parse_raise_statement() {
let sql = "RAISE USING MESSAGE = 42";
let Statement::Raise(stmt) = verified_stmt(sql) else {
unreachable!()
};
assert_eq!(
Some(RaiseStatementValue::UsingMessage(Expr::value(number("42")))),
stmt.value
);
verified_stmt("RAISE USING MESSAGE = 'error'");
verified_stmt("RAISE myerror");
verified_stmt("RAISE 42");
verified_stmt("RAISE using");
verified_stmt("RAISE");
assert_eq!(
ParserError::ParserError("Expected: =, found: error".to_string()),
parse_sql_statements("RAISE USING MESSAGE error").unwrap_err()
);
}
#[test]
fn test_lambdas() {
let dialects = all_dialects_where(|d| d.supports_lambda_functions());