Bug #50591 bit(31) causes Duplicate entry '1-NULL' for key 'group_key'
| Submitted: | 25 Jan 2010 14:15 | Modified: | 17 Jun 2010 22:44 |
|---|---|---|---|
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Data Types | Severity: | S3 (Non-critical) |
| Version: | 5.0.89,5.1.42, 5.5.1-m2, 5.5.99-m3 | OS: | Any |
| Assigned to: | Sergei Glukhov | CPU Architecture: | Any |
| Tags: | bit, group_key, regression | ||
[25 Jan 2010 14:15]
Shane Bester
[25 Jan 2010 15:08]
Valeriy Kravchuk
Verified just as described with recent 5.1.44 from bzr: 77-52-24-143:5.1 openxs$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.44-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> set sql_mode=''; Query OK, 0 rows affected (0.00 sec) mysql> drop table if exists `t1`; Query OK, 0 rows affected (0.00 sec) mysql> create table `t1`(`a` bigint,`b` bit(31) not null); Query OK, 0 rows affected (0.07 sec) mysql> insert into `t1` values (),(); Query OK, 2 rows affected, 1 warning (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select sum(`a`) from `t1` group by `b`,`a`; ERROR 1062 (23000): Duplicate entry '1-NULL' for key 'group_key'
[25 Jan 2010 15:11]
Valeriy Kravchuk
The only possibly related bug I had found is bug #31349. If I remove NOT NULL property of BIT column, there is no error message: mysql> drop table if exists `t1`; Query OK, 0 rows affected (0.00 sec) mysql> create table `t1`(`a` bigint,`b` bit(31)); Query OK, 0 rows affected (0.37 sec) mysql> insert into `t1` values (),(); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select sum(`a`) from `t1` group by `b`,`a`; +----------+ | sum(`a`) | +----------+ | NULL | +----------+ 1 row in set (0.00 sec)
[11 Feb 2010 9:57]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/99901 3372 Sergey Glukhov 2010-02-11 Bug#50591 bit(31) causes Duplicate entry '1-NULL' for key 'group_key' The problem is that during temporary table creation uneven bits are not taken into account for hidden fields. It leads to incorrect calculation&allocation of null bytes size for table record. And if grouped value is null we set wrong bit for this value(see end_update()). Fixed by adding separate calculation of uneven bit for hidden fields. @ mysql-test/r/type_bit.result test result @ mysql-test/t/type_bit.test test case @ sql/sql_select.cc added separate calculation of uneven bit for hidden fields
[16 Feb 2010 9:15]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/100468 3341 Sergey Glukhov 2010-02-16 Bug#50591 bit(31) causes Duplicate entry '1-NULL' for key 'group_key' The problem is that during temporary table creation uneven bits are not taken into account for hidden fields. It leads to incorrect calculation&allocation of null bytes size for table record. And if grouped value is null we set wrong bit for this value(see end_update()). Fixed by adding separate calculation of uneven bit for hidden fields. @ mysql-test/r/type_bit.result test case @ mysql-test/t/type_bit.test test case @ sql/sql_select.cc added separate calculation of uneven bit for hidden fields
[1 Mar 2010 8:44]
Bugs System
Pushed into 5.1.45 (revid:joro@sun.com-20100301083827-xnimmrjg6bh33o1o) (version source revid:sergey.glukhov@sun.com-20100216091349-bybuzm5ese3tqwyw) (merge vers: 5.1.45) (pib:16)
[2 Mar 2010 14:35]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100302142746-u1gxdf5yk2bjrq3e) (version source revid:alik@sun.com-20100225090938-2j5ybqoau570mytu) (merge vers: 6.0.14-alpha) (pib:16)
[2 Mar 2010 14:40]
Bugs System
Pushed into 5.5.3-m2 (revid:alik@sun.com-20100302072233-t3uqgjzdukt1pyhe) (version source revid:alexey.kopytov@sun.com-20100221213311-xf5nyv391dsw9v6j) (merge vers: 5.5.2-m2) (pib:16)
[2 Mar 2010 14:45]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100302072432-k8xvfkgcggkwgi94) (version source revid:alik@sun.com-20100224135227-rcqs9pe9b2in80pf) (pib:16)
[8 Mar 2010 1:27]
Paul DuBois
Noted in 5.1.45, 5.5.3, 6.0.14 changelogs. Incorrect handling of BIT columns in temporary tables could lead to spurious duplicate-key errors.
[17 Jun 2010 12:16]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:03]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:martin.skold@mysql.com-20100609140708-52rvuyq4q500sxkq) (merge vers: 5.1.45-ndb-6.2.19) (pib:16)
[17 Jun 2010 13:43]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.068 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.