mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-07-07 17:04:59 +00:00
Add support for parsing RAISERROR (#1656)
This commit is contained in:
parent
9105cae261
commit
474150006f
5 changed files with 128 additions and 0 deletions
|
@ -1250,6 +1250,39 @@ fn parse_mssql_declare() {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_raiserror() {
|
||||
let sql = r#"RAISERROR('This is a test', 16, 1)"#;
|
||||
let s = ms().verified_stmt(sql);
|
||||
assert_eq!(
|
||||
s,
|
||||
Statement::RaisError {
|
||||
message: Box::new(Expr::Value(Value::SingleQuotedString(
|
||||
"This is a test".to_string()
|
||||
))),
|
||||
severity: Box::new(Expr::Value(Value::Number("16".parse().unwrap(), false))),
|
||||
state: Box::new(Expr::Value(Value::Number("1".parse().unwrap(), false))),
|
||||
arguments: vec![],
|
||||
options: vec![],
|
||||
}
|
||||
);
|
||||
|
||||
let sql = r#"RAISERROR('This is a test', 16, 1) WITH NOWAIT"#;
|
||||
let _ = ms().verified_stmt(sql);
|
||||
|
||||
let sql = r#"RAISERROR('This is a test', 16, 1, 'ARG') WITH SETERROR, LOG"#;
|
||||
let _ = ms().verified_stmt(sql);
|
||||
|
||||
let sql = r#"RAISERROR(N'This is message %s %d.', 10, 1, N'number', 5)"#;
|
||||
let _ = ms().verified_stmt(sql);
|
||||
|
||||
let sql = r#"RAISERROR(N'<<%*.*s>>', 10, 1, 7, 3, N'abcde')"#;
|
||||
let _ = ms().verified_stmt(sql);
|
||||
|
||||
let sql = r#"RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState)"#;
|
||||
let _ = ms().verified_stmt(sql);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_use() {
|
||||
let valid_object_names = [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue