File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -1723,7 +1723,13 @@ Conditional Expressions
17231723    ConditionalExpression       ::= ConditionalTerm {"OR" ConditionalTerm}* 
17241724    ConditionalTerm             ::= ConditionalFactor {"AND" ConditionalFactor}* 
17251725    ConditionalFactor           ::= ["NOT"] ConditionalPrimary 
1726-     ConditionalPrimary          ::= SimpleConditionalExpression | "(" ConditionalExpression ")" 
1726+     ConditionalPrimary          ::= SimpleConditionalExpression 
1727+                                     | "(" ConditionalExpression ")" 
1728+                                     | CaseExpression 
1729+                                     | CoalesceExpression 
1730+                                     | NullifExpression 
1731+                                     | ArithmeticExpression 
1732+ 
17271733    SimpleConditionalExpression ::= ComparisonExpression | BetweenExpression | LikeExpression | 
17281734                                    InExpression | NullComparisonExpression | ExistsExpression | 
17291735                                    EmptyCollectionComparisonExpression | CollectionMemberExpression | 
@@ -1819,7 +1825,7 @@ QUANTIFIED/BETWEEN/COMPARISON/LIKE/NULL/EXISTS
18191825    QuantifiedExpression     ::= ("ALL" | "ANY" | "SOME") "(" Subselect ")" 
18201826    BetweenExpression        ::= ArithmeticExpression ["NOT"] "BETWEEN" ArithmeticExpression "AND" ArithmeticExpression 
18211827    ComparisonExpression     ::= ArithmeticExpression ComparisonOperator ( QuantifiedExpression | ArithmeticExpression ) 
1822-     InExpression             ::= ArithmeticExpression ["NOT"] "IN" "(" (InParameter {"," InParameter}* | Subselect) ")" 
1828+     InExpression             ::= ( ArithmeticExpression | CaseExpression | CoalesceExpression | NullifExpression)  ["NOT"] "IN" "(" (InParameter {"," InParameter}* | Subselect) ")" 
18231829    InstanceOfExpression     ::= IdentificationVariable ["NOT"] "INSTANCE" ["OF"] (InstanceOfParameter | "(" InstanceOfParameter {"," InstanceOfParameter}* ")") 
18241830    InstanceOfParameter      ::= AbstractSchemaName | InputParameter 
18251831    LikeExpression           ::= StringExpression ["NOT"] "LIKE" StringPrimary ["ESCAPE" char] 
Original file line number Diff line number Diff line change @@ -2496,7 +2496,6 @@ public function SimpleConditionalExpression(): AST\ExistsExpression|AST\BetweenE
24962496        // Handle conditional and null-handling expressions (CASE, COALESCE, NULLIF) by peeking ahead in the token stream 
24972497        if  ($ tokentype  === TokenType::T_CASE  || $ tokentype  === TokenType::T_COALESCE  || $ tokentype  === TokenType::T_NULLIF ) {
24982498            if  ($ tokentype  === TokenType::T_CASE ) {
2499- 
25002499                // For CASE expressions, peek beyond the matching END keyword 
25012500                $ nestingDepth1 ;
25022501
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments