Bug #100053 Lost ULLONG_MAX value in table with type of bit(64)
Submitted: 1 Jul 2020 2:47 Modified: 9 Jul 2020 23:01
Reporter: Roger Lei (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DML Severity:S3 (Non-critical)
Version:8.0.19, 5.6.48, 5.7.30, 8.0.20 OS:Any (Ubuntu 18.04.4 LTS)
Assigned to: CPU Architecture:Any

[1 Jul 2020 2:47] Roger Lei
Description:
When insert ULLONG_MAX into table with column type of bit(64), you can not get it from table, refer to "How to repeat"

How to repeat:
1. create table with column tpype of bit(64)
create table t1 (a bit(64), primary key (a)) engine=innodb;

2. insert ULLONG_MAX into table
insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111');

3. lost ULLONG_MAX
select hex(a) from t1 where a = b'1111111111111111111111111111111111111111111111111111111111111111';
Empty set (0.01 sec)

Suggested fix:
It should return ULLONG_MAX
[1 Jul 2020 11:33] MySQL Verification Team
Hello Roger,

Thank you for the report and test case.

regards,
Umesh
[9 Jul 2020 23:01] Paul DuBois
Posted by developer:
 
Fixed in 8.0.22.

A value equal to ULLONG_MAX could be inserted into a BIT(64) column,
but not retrieved.