Bug #17891 Partitions: NDB, crash on select .. where col is null or col = value
Submitted: 3 Mar 2006 9:26 Modified: 8 Mar 2006 14:26
Reporter: Matthias Leich Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S1 (Critical)
Version:5.1 OS:
Assigned to: Martin Skold CPU Architecture:Any

[3 Mar 2006 9:26] Matthias Leich
Description:
CREATE TABLE t1 (
 f_int1 INTEGER, f_int2 INTEGER,
 f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000))
 PARTITION BY LIST(MOD(f_int1,2)) SUBPARTITION BY HASH(f_int1)
 ( PARTITION part1 VALUES IN (0) ,
 PARTITION part2 VALUES IN (1) ,
 PARTITION part3 VALUES IN (2) );
 DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 1;
 ERROR HY000: Lost connection to MySQL server during query

Further experiments show that the crash disappears when
- LIST(MOD(f_int1,2)) is replaced by LIST(f_int1)
- SUBPARTITION BY HASH(f_int1) is omitted
- IS NULL is replaced by  = number
- DELETE is replaced by SELECT
- NDB is replaced by MyISAM
  That's the reason why I choosed Category: Cluster

My environment:
   - Intel PC with Linux(SuSE 9.3)
   - MySQL compiled from source
         Version 5.1 last ChangeSet@1.2213, 2006-03-02

How to repeat:
Please my attached testscript ndb_ml1105.test
  copy it to mysql-test/t
  echo "Dummy" > r/ndb_ml1105.result   # Produce a dummy file with 
                                                   # expected results
  ./mysql-test-run ndb_1105

The script contains also the original testcase with
a more reasonable partitioning scheme.
[3 Mar 2006 9:28] Matthias Leich
testscript with comments and variants

Attachment: ndb_ml1105.test (application/test, text), 1.49 KiB.

[3 Mar 2006 9:29] Matthias Leich
master.err + stacktrace

Attachment: stacktrace (application/octet-stream, text), 4.73 KiB.

[8 Mar 2006 14:26] Jon Stephens
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Documented in 5.1.8 changelog. Closed.