Commit c7ad0f8 1 parent d9ee3e2 commit c7ad0f8 Copy full SHA for c7ad0f8
File tree 3 files changed +11
-17
lines changed
3 files changed +11
-17
lines changed Original file line number Diff line number Diff line change @@ -278,14 +278,12 @@ pub enum InExpressionType {
278
278
TableFunction ( Identifier , Vec < Expression > ) ,
279
279
}
280
280
281
- /// An exists statement type
281
+ /// An exists statement, i.e. $expr EXISTS (select statement)
282
282
#[ derive( Debug , PartialEq , Clone ) ]
283
- pub enum ExistsStatement {
284
- /// Exists
285
- Exists ( SelectStatement ) ,
283
+ pub struct ExistsStatement {
284
+ pub select_statement : SelectStatement ,
286
285
287
- /// Not Exists
288
- NotExists ( SelectStatement ) ,
286
+ pub not : bool ,
289
287
}
290
288
291
289
/// A case expression
Original file line number Diff line number Diff line change @@ -20,13 +20,10 @@ impl ExistsExpressionParser for Parser<'_> {
20
20
// Consume the enclosing right parenthesis
21
21
self . consume_as ( TokenType :: RightParen ) ?;
22
22
23
- let exists_statement = if is_not {
24
- ExistsStatement :: NotExists ( select_statement)
25
- } else {
26
- ExistsStatement :: Exists ( select_statement)
27
- } ;
28
-
29
- Ok ( Expression :: ExistsStatement ( exists_statement) )
23
+ Ok ( Expression :: ExistsStatement ( ExistsStatement {
24
+ select_statement,
25
+ not : is_not,
26
+ } ) )
30
27
}
31
28
}
32
29
Original file line number Diff line number Diff line change @@ -374,10 +374,9 @@ pub(crate) mod test_utils {
374
374
}
375
375
376
376
pub fn exist_expr ( is_not : bool , statement : SelectStatement ) -> Expression {
377
- Expression :: ExistsStatement ( if is_not {
378
- ExistsStatement :: NotExists ( statement)
379
- } else {
380
- ExistsStatement :: Exists ( statement)
377
+ Expression :: ExistsStatement ( ExistsStatement {
378
+ select_statement : statement,
379
+ not : is_not,
381
380
} )
382
381
}
383
382
You can’t perform that action at this time.
0 commit comments