Support 'SET ROLE' statement (#455)

This commit is contained in:
slhmy 2022-04-14 02:45:53 +08:00 committed by GitHub
parent 7480e89f7b
commit 8f207db059
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 79 additions and 0 deletions

View file

@ -855,6 +855,45 @@ fn parse_set() {
);
}
#[test]
fn parse_set_role() {
let stmt = pg_and_generic().verified_stmt("SET SESSION ROLE NONE");
assert_eq!(
stmt,
Statement::SetRole {
local: false,
session: true,
role_name: None,
}
);
let stmt = pg_and_generic().verified_stmt("SET LOCAL ROLE \"rolename\"");
assert_eq!(
stmt,
Statement::SetRole {
local: true,
session: false,
role_name: Some(Ident {
value: "rolename".to_string(),
quote_style: Some('\"'),
}),
}
);
let stmt = pg_and_generic().verified_stmt("SET ROLE 'rolename'");
assert_eq!(
stmt,
Statement::SetRole {
local: false,
session: false,
role_name: Some(Ident {
value: "rolename".to_string(),
quote_style: Some('\''),
}),
}
);
}
#[test]
fn parse_show() {
let stmt = pg_and_generic().verified_stmt("SHOW a a");