Files
doris/be
Mryange adc9e9a161 [fix](function) Fix undefined behavior caused by bit_shift_left exceeding the 64-bit range. (#47080)
### What problem does this PR solve?
It is part of this PR's https://github.com/apache/doris/pull/35769
content.


```
SELECT a, b, bit_shift_left(nullable(a), nullable(b)) from t01;
+----------------------+-----+-----------------------------------------------------------+
| a                    | b   | bit_shift_left(nullable(a), cast(nullable(b) as TINYINT)) |
+----------------------+-----+-----------------------------------------------------------+
| -4388843650233597359 | 127 | -9223372036854775808                                      |
| 306567258363819813   | 3   | 2452538066910558504                                       |
| 306567258363819813   | 127 | -9223372036854775808                                      |
| 3456789123456789123  | 127 | -9223372036854775808                                      |
+----------------------+-----+-----------------------------------------------------------+ 
```
now
```
SELECT a, b, bit_shift_left(nullable(a), nullable(b)) from t01;
+----------------------+-----+-----------------------------------------------------------+
| a                    | b   | bit_shift_left(nullable(a), cast(nullable(b) as TINYINT)) |
+----------------------+-----+-----------------------------------------------------------+
| -4388843650233597359 | 127 | 0                                                         |
| 306567258363819813   | 3   | 2452538066910558504                                       |
| 306567258363819813   | 127 | 0                                                         |
| 3456789123456789123  | 127 | 0                                                         |
+----------------------+-----+-----------------------------------------------------------+
```
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
2025-01-16 21:13:24 +08:00
..