File tree Expand file tree Collapse file tree 3 files changed +11
-4
lines changed
Expand file tree Collapse file tree 3 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -729,7 +729,7 @@ pub enum Expr {
729729 /// `[ NOT ] IN (SELECT ...)`
730730 InSubquery {
731731 expr : Box < Expr > ,
732- subquery : Box < SetExpr > ,
732+ subquery : Box < Query > ,
733733 negated : bool ,
734734 } ,
735735 /// `[ NOT ] IN UNNEST(array_expression)`
Original file line number Diff line number Diff line change @@ -3752,7 +3752,7 @@ impl<'a> Parser<'a> {
37523752 });
37533753 }
37543754 self.expect_token(&Token::LParen)?;
3755- let in_op = match self.maybe_parse(|p| p.parse_query_body(p.dialect.prec_unknown() ))? {
3755+ let in_op = match self.maybe_parse(|p| p.parse_query( ))? {
37563756 Some(subquery) => Expr::InSubquery {
37573757 expr: Box::new(expr),
37583758 subquery,
Original file line number Diff line number Diff line change @@ -2224,7 +2224,7 @@ fn parse_in_subquery() {
22242224 assert_eq!(
22252225 Expr::InSubquery {
22262226 expr: Box::new(Expr::Identifier(Ident::new("segment"))),
2227- subquery: verified_query("SELECT segm FROM bar").body ,
2227+ subquery: Box::new( verified_query("SELECT segm FROM bar")) ,
22282228 negated: false,
22292229 },
22302230 select.selection.unwrap()
@@ -2238,7 +2238,9 @@ fn parse_in_union() {
22382238 assert_eq!(
22392239 Expr::InSubquery {
22402240 expr: Box::new(Expr::Identifier(Ident::new("segment"))),
2241- subquery: verified_query("(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)").body,
2241+ subquery: Box::new(verified_query(
2242+ "(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)"
2243+ )),
22422244 negated: false,
22432245 },
22442246 select.selection.unwrap()
@@ -15103,3 +15105,8 @@ fn parse_return() {
1510315105
1510415106 let _ = all_dialects().verified_stmt("RETURN 1");
1510515107}
15108+
15109+ #[test]
15110+ fn parse_subquery_limit() {
15111+ let _ = all_dialects().verified_stmt("SELECT t1_id, t1_name FROM t1 WHERE t1_id IN (SELECT t2_id FROM t2 WHERE t1_name = t2_name LIMIT 10)");
15112+ }
You can’t perform that action at this time.
0 commit comments