Add support for parenthesized subquery as IN predicate (#1793)

This commit is contained in:
Adam Johnson 2025-04-15 18:01:18 +01:00 committed by GitHub
parent 514d2ecdaf
commit 3ad13af563
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 22 additions and 10 deletions

View file

@ -2224,7 +2224,21 @@ fn parse_in_subquery() {
assert_eq!(
Expr::InSubquery {
expr: Box::new(Expr::Identifier(Ident::new("segment"))),
subquery: Box::new(verified_query("SELECT segm FROM bar")),
subquery: verified_query("SELECT segm FROM bar").body,
negated: false,
},
select.selection.unwrap()
);
}
#[test]
fn parse_in_union() {
let sql = "SELECT * FROM customers WHERE segment IN ((SELECT segm FROM bar) UNION (SELECT segm FROM bar2))";
let select = verified_only_select(sql);
assert_eq!(
Expr::InSubquery {
expr: Box::new(Expr::Identifier(Ident::new("segment"))),
subquery: verified_query("(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)").body,
negated: false,
},
select.selection.unwrap()