Bug #44856 IBMDB2I gives misleading 2504 error
Submitted: 13 May 2009 21:29 Modified: 14 Jul 2009 15:00
Reporter: Tim Clark Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DB2SE for IBM i Severity:S2 (Serious)
Version:5.1.33 OS:Any
Assigned to: Tim Clark CPU Architecture:Any

[13 May 2009 21:29] Tim Clark
Description:
This only occurs on 64-bit builds. Occasionally, if both the partition_pruning and partition_range tests are run sequentially against the IBMDB2I engine, the partition_range test will fail with the following error:
mysqltest: At line 540: query 'insert into t1 values (1, 'abc', '1995-01-01')' failed: 1296: Got error 2504 'The latin1 character set is not supported.' from IBMDB2I

However, the latin1 character set is supported by the storage engine, so this test case should not be failing.

How to repeat:
Use MTR to run partition_pruning.test and partition_range.test together until partition_range fails.
[17 May 2009 17:20] 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/74314

2881 Narayanan V	2009-05-17
      Bug#44856 IBMDB2I gives misleading 2504 error
      
      Occasionally, if both the partition_pruning
      and partition_range tests are run sequentially
      against the IBMDB2I engine, the partition_range
      test will fail.
      
      Compiler padding on a 64-bit build allowed
      garbage data in the hash key used for
      caching open iconv descriptors. As a
      result, cached descriptors were not found,
      and multiple duplicate iconv descriptors
      were opened for a single character set.
      Eventually, the maximum number of open
      iconv descriptors was reached, and further
      iconv_open() calls would fail, leading the
      storage engine to report incorrectly that
      the character set was not supported.
      
      This patch widens the 16-bit members of the
      hash key to 32 bits to eliminate compiler
      padding. The entire length of the hash key
      is now initialized correctly on both 32-bit
      and 64-bit builds.
     @ storage/ibmdb2i/db2i_charsetSupport.cc
        Bug#44856 IBMDB2I gives misleading 2504 error
        
        widen the 16-bit members of the
        hash key to 32 bits to eliminate
        compiler padding.
[28 May 2009 8:16] Bugs System
Pushed into 5.1.36 (revid:joro@sun.com-20090528073639-yohsb4q1jzg7ycws) (version source revid:v.narayanan@sun.com-20090517172020-777h7wm5yti8a8f0) (merge vers: 5.1.36) (pib:6)
[17 Jun 2009 19:23] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090616183122-chjzbaa30qopdra9) (version source revid:v.narayanan@sun.com-20090517172355-n5ncfe7xwjj2m3ev) (merge vers: 6.0.12-alpha) (pib:11)
[14 Jul 2009 15:00] MC Brown
A note has been added to the 5.1.36 and 5.4.4 changelogs: 

When using partitioning with the IBMDB2I storage engine, the engine could report that a valid character set was not supported.
[12 Aug 2009 22:26] Paul DuBois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[15 Aug 2009 1:42] Paul DuBois
Ignore previous comment about 5.4.2.
[26 Aug 2009 13:46] Bugs System
Pushed into 5.1.37-ndb-7.0.8 (revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[26 Aug 2009 13:46] Bugs System
Pushed into 5.1.37-ndb-6.3.27 (revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (version source revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (merge vers: 5.1.37-ndb-6.3.27) (pib:11)
[26 Aug 2009 13:48] Bugs System
Pushed into 5.1.37-ndb-6.2.19 (revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (version source revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (merge vers: 5.1.37-ndb-6.2.19) (pib:11)
[27 Aug 2009 16:32] Bugs System
Pushed into 5.1.35-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20090827163030-6o3kk6r2oua159hr) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[7 Oct 2009 19:14] Paul DuBois
The 5.4 fix has been pushed to 5.4.2.