Bug #44337 Select query using index merge fails with MCH3601
Submitted: 17 Apr 2009 6:03 Modified: 14 Jul 2009 14:30
Reporter: Nidhi Shrotriya Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DB2SE for IBM i Severity:S3 (Non-critical)
Version:mysql-5.1.33 OS:IBM i (5.4)
Assigned to: Tim Clark CPU Architecture:Any

[17 Apr 2009 6:03] Nidhi Shrotriya
Description:
Test 'index_merge_ibmdb2i.test' fails with MCH3601 on a query as below.

mysqltest: In included file "./include/index_merge2.inc": At line 128:
query 'select * from t1 where key1a = 2 and key1b is null and key2a = 2
and key2b is null' failed: 1296: Got error 2021 'See message MCH3601 in
joblog for job 417451/QSECOFR/QP0ZSPWP.' from IBMDB2I

How to repeat:
Please find attached the test files to reproduce.
[17 Apr 2009 6:04] Nidhi Shrotriya
Test case

Attachment: index_merge_ibmdb2i.test (application/octet-stream, text), 1.07 KiB.

[17 Apr 2009 6:04] Nidhi Shrotriya
Include file

Attachment: index_merge2.inc (application/octet-stream, text), 10.98 KiB.

[17 Apr 2009 6:14] Nidhi Shrotriya
Verified by IBM(Timothy Clark).
[29 Apr 2009 11:21] 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/73006

2877 Narayanan V	2009-04-29
      Bug#44337 Select query using index merge fails with MCH3601
      
      The storage engine was not correctly handling the case in 
      which rnd_pos is executed for a handler without a preceding
      rnd_next or index read operation. As a result, an unitialized
      file handle was sometimes being passed to the QMY_READ API.
      
      The fix clears the rrnAssocHandle at the beginning of each
      read operation and then checks to see whether it has been
      set to a valid handle value before attempting to use it
      in rnd_pos. If rrnAssocHandle has not been set by a previous
      read operation, rnd_pos instead falls back to the use of the
      currently active handle.
     @ storage/ibmdb2i/ha_ibmdb2i.cc
        Bug#44337 Select query using index merge fails with MCH3601
        
        - clear the rrnAssocHandle at the beginning of each
          read operation 
        - checks to see whether it has been set to a valid
          handle value before attempting to use it in rnd_pos
[5 May 2009 19:38] Bugs System
Pushed into 5.1.35 (revid:davi.arnaut@sun.com-20090505190206-9xmh7dlc6kom8exp) (version source revid:davi.arnaut@sun.com-20090505190206-9xmh7dlc6kom8exp) (merge vers: 5.1.35) (pib:6)
[6 May 2009 14:11] Bugs System
Pushed into 6.0.12-alpha (revid:svoj@sun.com-20090506125450-yokcmvqf2g7jhujq) (version source revid:mhansson@mysql.com-20090429185530-u4nuo9ijnf0oaxh3) (merge vers: 6.0.11-alpha) (pib:6)
[15 Jun 2009 8:24] Bugs System
Pushed into 5.1.35-ndb-6.3.26 (revid:jonas@mysql.com-20090615074202-0r5r2jmi83tww6sf) (version source revid:jonas@mysql.com-20090615070837-9pccutgc7repvb4d) (merge vers: 5.1.35-ndb-6.3.26) (pib:6)
[15 Jun 2009 9:04] Bugs System
Pushed into 5.1.35-ndb-7.0.7 (revid:jonas@mysql.com-20090615074335-9hcltksp5cu5fucn) (version source revid:jonas@mysql.com-20090615072714-rmfkvrbbipd9r32c) (merge vers: 5.1.35-ndb-7.0.7) (pib:6)
[15 Jun 2009 9:44] Bugs System
Pushed into 5.1.35-ndb-6.2.19 (revid:jonas@mysql.com-20090615061520-sq7ds4yw299ggugm) (version source revid:jonas@mysql.com-20090615054654-ebgpz7elwu1xj36j) (merge vers: 5.1.35-ndb-6.2.19) (pib:6)
[14 Jul 2009 14:30] MC Brown
An internal fix only. No changelog entry required.