Unexpected behavior in UPDATE statement
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
Please answer these questions before submitting your issue. Thanks!
### 1. Minimal reproduce step (Required)
```sql
DROP TABLE IF EXISTS t0;
CREATE TABLE t0(c0 INT);
INSERT INTO t0 VALUES(1);
UPDATE t0 SET c0 = 2 WHERE (1 | BIN(100000000)) IS NOT NULL;
```
### 2. What did you expect to see? (Required)
UPDATE should succeed, because IS NOT NULL in the where clause, thus we only need to check whether the two arguments to the equality are NULL or not, without having to actually evaluate the equality.
### 3. What did you see instead (Required)
```sql
mysql> UPDATE t0 SET c0 = 2 WHERE (1 | BIN(100000000)) IS NOT NULL;
ERROR 1690 (22003): BIGINT value is out of range in '101111101011110000100000000'
```
### 4. What is your TiDB version? (Required)
mysql> SELECT tidb_version();
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tidb_version()
|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Release Version: v5.4.0
Edition: Community
Git Commit Hash: 55f3b24c1c9f506bd652ef1d162283541e428872
Git Branch: heads/refs/tags/v5.4.0
UTC Build Time: 2022-01-25 08:39:26
GoVersion: go1.16.4
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Contributor guide
Assessment
This issue has not been assessed yet.