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 {
729
729
/// `[ NOT ] IN (SELECT ...)`
730
730
InSubquery {
731
731
expr : Box < Expr > ,
732
- subquery : Box < SetExpr > ,
732
+ subquery : Box < Query > ,
733
733
negated : bool ,
734
734
} ,
735
735
/// `[ NOT ] IN UNNEST(array_expression)`
Original file line number Diff line number Diff line change @@ -3752,7 +3752,7 @@ impl<'a> Parser<'a> {
3752
3752
});
3753
3753
}
3754
3754
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( ))? {
3756
3756
Some(subquery) => Expr::InSubquery {
3757
3757
expr: Box::new(expr),
3758
3758
subquery,
Original file line number Diff line number Diff line change @@ -2224,7 +2224,7 @@ fn parse_in_subquery() {
2224
2224
assert_eq!(
2225
2225
Expr::InSubquery {
2226
2226
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")) ,
2228
2228
negated: false,
2229
2229
},
2230
2230
select.selection.unwrap()
@@ -2238,7 +2238,9 @@ fn parse_in_union() {
2238
2238
assert_eq!(
2239
2239
Expr::InSubquery {
2240
2240
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
+ )),
2242
2244
negated: false,
2243
2245
},
2244
2246
select.selection.unwrap()
@@ -15103,3 +15105,8 @@ fn parse_return() {
15103
15105
15104
15106
let _ = all_dialects().verified_stmt("RETURN 1");
15105
15107
}
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