Bug #68176 partitioning table crashes mysqld
Submitted: 25 Jan 2013 3:28 Modified: 25 Jan 2013 6:17
Reporter: Chris Lim Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Partitions Severity:S3 (Non-critical)
Version:5.5.24 OS:Windows (7)
Assigned to: CPU Architecture:Any

[25 Jan 2013 3:28] Chris Lim
Description:
Selecting WHERE partitionkey = NULL in the table below crashes mysqld.

How to repeat:
CREATE TABLE foo
( id INTEGER NOT NULL,  
  id1 INTEGER DEFAULT NULL,
  INDEX(id)
) ENGINE=InnoDB
  PARTITION BY LIST(MOD(id1, 2)) (
  PARTITION p00 VALUES IN (0),
  PARTITION p01 VALUES IN (1),
  PARTITION p03 VALUES IN (NULL)); 
  
SELECT id FROM foo WHERE id = 1 AND id1 = NULL;
[25 Jan 2013 3:55] MySQL Verification Team
Could you please try latest version 5.5.29. Thanks.

d:\dbs>d:\dbs\5.5\bin\mysql -uroot --port=3541 --prompt="mysql 5.5 >"
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.31 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql 5.5 >use test
Database changed
mysql 5.5 >CREATE TABLE foo
    -> ( id INTEGER NOT NULL,
    ->   id1 INTEGER DEFAULT NULL,
    ->   INDEX(id)
    -> ) ENGINE=InnoDB
    ->   PARTITION BY LIST(MOD(id1, 2)) (
    ->   PARTITION p00 VALUES IN (0),
    ->   PARTITION p01 VALUES IN (1),
    ->   PARTITION p03 VALUES IN (NULL));
Query OK, 0 rows affected (0.49 sec)

mysql 5.5 >
mysql 5.5 >SELECT id FROM foo WHERE id = 1 AND id1 = NULL;
Empty set (0.00 sec)

mysql 5.5 >
[25 Jan 2013 6:00] Chris Lim
Thanks, I just tried on the latest version (5.5.29) & the query went through.
Mea culpa, I should have done it before submitting the bug.
[25 Jan 2013 6:17] MySQL Verification Team
this has been fixed since 5.5.27 or so.
One of the many duplicates reported was internal
Bug 13949735 - ASSERTION FAILED: TOT_USED_PARTITIONS, FILE HA_PARTITION.CC, LINE 6691