@@ -803,7 +803,7 @@ impl<'a> Parser<'a> {
803
803
} ;
804
804
Ok ( Expr :: UnaryOp {
805
805
op,
806
- expr : Box :: new ( self . parse_subexpr ( Self :: PLUS_MINUS_PREC ) ?) ,
806
+ expr : Box :: new ( self . parse_subexpr ( Self :: MUL_DIV_MOD_OP_PREC ) ?) ,
807
807
} )
808
808
}
809
809
tok @ Token :: DoubleExclamationMark
@@ -1968,6 +1968,7 @@ impl<'a> Parser<'a> {
1968
1968
}
1969
1969
1970
1970
// use https://www.postgresql.org/docs/7.0/operators.htm#AEN2026 as a reference
1971
+ const MUL_DIV_MOD_OP_PREC : u8 = 40 ;
1971
1972
const PLUS_MINUS_PREC : u8 = 30 ;
1972
1973
const XOR_PREC : u8 = 24 ;
1973
1974
const TIME_ZONE_PREC : u8 = 20 ;
@@ -1978,8 +1979,6 @@ impl<'a> Parser<'a> {
1978
1979
const AND_PREC : u8 = 10 ;
1979
1980
const OR_PREC : u8 = 5 ;
1980
1981
1981
- const DIV_OP_PREC : u8 = 40 ;
1982
-
1983
1982
/// Get the precedence of the next token
1984
1983
pub fn get_next_precedence ( & self ) -> Result < u8 , ParserError > {
1985
1984
// allow the dialect to override precedence logic
@@ -2029,7 +2028,7 @@ impl<'a> Parser<'a> {
2029
2028
Token :: Word ( w) if w. keyword == Keyword :: ILIKE => Ok ( Self :: LIKE_PREC ) ,
2030
2029
Token :: Word ( w) if w. keyword == Keyword :: SIMILAR => Ok ( Self :: LIKE_PREC ) ,
2031
2030
Token :: Word ( w) if w. keyword == Keyword :: OPERATOR => Ok ( Self :: BETWEEN_PREC ) ,
2032
- Token :: Word ( w) if w. keyword == Keyword :: DIV => Ok ( Self :: DIV_OP_PREC ) ,
2031
+ Token :: Word ( w) if w. keyword == Keyword :: DIV => Ok ( Self :: MUL_DIV_MOD_OP_PREC ) ,
2033
2032
Token :: Eq
2034
2033
| Token :: Lt
2035
2034
| Token :: LtEq
@@ -2047,7 +2046,7 @@ impl<'a> Parser<'a> {
2047
2046
Token :: Ampersand => Ok ( 23 ) ,
2048
2047
Token :: Plus | Token :: Minus => Ok ( Self :: PLUS_MINUS_PREC ) ,
2049
2048
Token :: Mul | Token :: Div | Token :: DuckIntDiv | Token :: Mod | Token :: StringConcat => {
2050
- Ok ( 40 )
2049
+ Ok ( Self :: MUL_DIV_MOD_OP_PREC )
2051
2050
}
2052
2051
Token :: DoubleColon => Ok ( 50 ) ,
2053
2052
Token :: Colon => Ok ( 50 ) ,
0 commit comments