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 @@ -764,7 +764,7 @@ pub enum Expr {
764764 /// `[ NOT ] IN (SELECT ...)`
765765 InSubquery {
766766 expr : Box < Expr > ,
767- subquery : Box < SetExpr > ,
767+ subquery : Box < Query > ,
768768 negated : bool ,
769769 } ,
770770 /// XXX not valid SQL syntax, this is a hack needed to support parameter substitution
Original file line number Diff line number Diff line change @@ -3839,7 +3839,7 @@ impl<'a> Parser<'a> {
38393839 });
38403840 }
38413841 if self.consume_token(&Token::LParen) {
3842- let in_op = match self.maybe_parse(|p| p.parse_query_body(p.dialect.prec_unknown() ))? {
3842+ let in_op = match self.maybe_parse(|p| p.parse_query( ))? {
38433843 Some(subquery) => Expr::InSubquery {
38443844 expr: Box::new(expr),
38453845 subquery,
Original file line number Diff line number Diff line change @@ -2225,7 +2225,7 @@ fn parse_in_subquery() {
22252225 assert_eq!(
22262226 Expr::InSubquery {
22272227 expr: Box::new(Expr::Identifier(Ident::new("segment"))),
2228- subquery: verified_query("SELECT segm FROM bar").body ,
2228+ subquery: Box::new( verified_query("SELECT segm FROM bar")) ,
22292229 negated: false,
22302230 },
22312231 select.selection.unwrap()
@@ -2239,7 +2239,9 @@ fn parse_in_union() {
22392239 assert_eq!(
22402240 Expr::InSubquery {
22412241 expr: Box::new(Expr::Identifier(Ident::new("segment"))),
2242- subquery: verified_query("(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)").body,
2242+ subquery: Box::new(verified_query(
2243+ "(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)"
2244+ )),
22432245 negated: false,
22442246 },
22452247 select.selection.unwrap()
@@ -15329,6 +15331,11 @@ fn parse_return() {
1532915331 let _ = all_dialects().verified_stmt("RETURN 1");
1533015332}
1533115333
15334+ #[test]
15335+ fn parse_subquery_limit() {
15336+ 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)");
15337+ }
15338+
1533215339#[test]
1533315340fn test_open() {
1533415341 let open_cursor = "OPEN Employee_Cursor";
You can’t perform that action at this time.
0 commit comments