@@ -799,7 +799,7 @@ impl<'a> Parser<'a> {
799
799
} ;
800
800
Ok ( Expr :: UnaryOp {
801
801
op,
802
- expr : Box :: new ( self . parse_subexpr ( Self :: PLUS_MINUS_PREC ) ?) ,
802
+ expr : Box :: new ( self . parse_subexpr ( Self :: MUL_DIV_MOD_OP_PREC ) ?) ,
803
803
} )
804
804
}
805
805
tok @ Token :: DoubleExclamationMark
@@ -1964,6 +1964,7 @@ impl<'a> Parser<'a> {
1964
1964
}
1965
1965
1966
1966
// use https://www.postgresql.org/docs/7.0/operators.htm#AEN2026 as a reference
1967
+ const MUL_DIV_MOD_OP_PREC : u8 = 40 ;
1967
1968
const PLUS_MINUS_PREC : u8 = 30 ;
1968
1969
const XOR_PREC : u8 = 24 ;
1969
1970
const TIME_ZONE_PREC : u8 = 20 ;
@@ -1974,8 +1975,6 @@ impl<'a> Parser<'a> {
1974
1975
const AND_PREC : u8 = 10 ;
1975
1976
const OR_PREC : u8 = 5 ;
1976
1977
1977
- const DIV_OP_PREC : u8 = 40 ;
1978
-
1979
1978
/// Get the precedence of the next token
1980
1979
pub fn get_next_precedence ( & self ) -> Result < u8 , ParserError > {
1981
1980
// allow the dialect to override precedence logic
@@ -2025,7 +2024,7 @@ impl<'a> Parser<'a> {
2025
2024
Token :: Word ( w) if w. keyword == Keyword :: ILIKE => Ok ( Self :: LIKE_PREC ) ,
2026
2025
Token :: Word ( w) if w. keyword == Keyword :: SIMILAR => Ok ( Self :: LIKE_PREC ) ,
2027
2026
Token :: Word ( w) if w. keyword == Keyword :: OPERATOR => Ok ( Self :: BETWEEN_PREC ) ,
2028
- Token :: Word ( w) if w. keyword == Keyword :: DIV => Ok ( Self :: DIV_OP_PREC ) ,
2027
+ Token :: Word ( w) if w. keyword == Keyword :: DIV => Ok ( Self :: MUL_DIV_MOD_OP_PREC ) ,
2029
2028
Token :: Eq
2030
2029
| Token :: Lt
2031
2030
| Token :: LtEq
@@ -2043,7 +2042,7 @@ impl<'a> Parser<'a> {
2043
2042
Token :: Ampersand => Ok ( 23 ) ,
2044
2043
Token :: Plus | Token :: Minus => Ok ( Self :: PLUS_MINUS_PREC ) ,
2045
2044
Token :: Mul | Token :: Div | Token :: DuckIntDiv | Token :: Mod | Token :: StringConcat => {
2046
- Ok ( 40 )
2045
+ Ok ( Self :: MUL_DIV_MOD_OP_PREC )
2047
2046
}
2048
2047
Token :: DoubleColon => Ok ( 50 ) ,
2049
2048
Token :: Colon => Ok ( 50 ) ,
0 commit comments