Commit 2fa01e3
Fix negative number with cast in BETWEEN expressions
When parsing negative numbers with :: cast like `-0.11::Float32`, the
expression parsing loop in parseUnaryMinus was using LOWEST precedence,
which incorrectly consumed the `and` keyword from BETWEEN expressions.
Fix by using MUL_PREC as the threshold, which allows casts (::) and
member access (.) but stops before operators like AND.
Fixes stmt42 and stmt43 in 02892_orc_filter_pushdown and
stmt26 in 02841_parquet_filter_pushdown.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 17fe6ac commit 2fa01e3
File tree
3 files changed
+5
-12
lines changed- parser
- testdata
- 02841_parquet_filter_pushdown
- 02892_orc_filter_pushdown
3 files changed
+5
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1127 | 1127 | | |
1128 | 1128 | | |
1129 | 1129 | | |
| 1130 | + | |
| 1131 | + | |
1130 | 1132 | | |
1131 | | - | |
| 1133 | + | |
1132 | 1134 | | |
1133 | 1135 | | |
1134 | 1136 | | |
| |||
Lines changed: 1 addition & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
| 1 | + | |
0 commit comments