Bug #31567 "datadict" tests (all engines) fail: Reference protocol is non-standard build
Submitted: 12 Oct 2007 14:32 Modified: 21 Nov 2007 20:31
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.0.50 OS:Any
Assigned to: Matthias Leich CPU Architecture:Any

[12 Oct 2007 14:32] Joerg Bruehe
Description:
This was found in a custom build using the 5.0.50 sources.

Predecessor bug#30440 is claimed to be fixed in this version, and its symptoms are not visible any more - this here is just a remnant (or new ?).

See these differences:
@@ -2457,7 +2457,7 @@
 eucjpms        eucjpms_japanese_ci     UJIS for Windows Japanese       3
 select sum(id) from collations;                                
 sum(id)
-10995                                                                                                                     +10741
 select collation_name, character_set_name into @x,@y                                                     
 from collation_character_set_applicability limit 1;
 select @x, @y;                                                                                                            @@ -4381,10 +4381,10 @@
 36
 SELECT COUNT(*) FROM information_schema. collations                 ;
 COUNT(*)
-127
+126    
 SELECT COUNT(*) FROM information_schema. collation_character_set_applicability;
 COUNT(*)                                                                                                                  -127
+126
 SELECT COUNT(*) FROM information_schema. routines              ;
 COUNT(*)
 1
@@ -7240,7 +7240,6 @@
 utf8_persian_ci        utf8
 utf8_esperanto_ci      utf8
 utf8_hungarian_ci      utf8
-utf8_general_cs        utf8
 ucs2_general_ci        ucs2
 ucs2_bin       ucs2
 ucs2_unicode_ci        ucs2
@@ -7872,7 +7871,6 @@
 utf8_persian_ci
 utf8_esperanto_ci
 utf8_hungarian_ci
-utf8_general_cs
 ucs2_general_ci
 ucs2_bin
 ucs2_unicode_ci
@@ -8237,7 +8235,6 @@
 utf8_persian_ci        utf8    208             Yes     8
 utf8_esperanto_ci      utf8    209             Yes     8 
 utf8_hungarian_ci      utf8    210             Yes     8
-utf8_general_cs        utf8    254             Yes     1
 ucs2_general_ci        ucs2    35      Yes     Yes     1
 ucs2_bin       ucs2    90              Yes     1  
 ucs2_unicode_ci        ucs2    128             Yes     8
@@ -8399,7 +8396,6 @@
 utf8_persian_ci        utf8
 utf8_esperanto_ci      utf8
 utf8_hungarian_ci      utf8
-utf8_general_cs        utf8
 ucs2_general_ci        ucs2
 ucs2_bin       ucs2
 ucs2_unicode_ci        ucs2

That utf8_general_cs charset is not available in our regular builds.

This happens in all "datadict" tests run in this build:
                                                                                     innodb__datadict
    memory__datadict
    myisam__datadict
This was an "enterprise" build, so NDB was not included and "ndb__datadict" was not run.

How to repeat:
Run the "funcs_1" suite.

Suggested fix:
Recreate the protocol using a standard configuration.
[23 Oct 2007 13:52] Matthias Leich
I can confirm the differences.
They are caused by the option set used for
generating the MySQL release.
./BUILD/compile-pentium-debug-max generates a
release with for example utf8_general_cs
whereas a ./BUILD/compile-pentium does not contain
this collation.
[21 Nov 2007 12:49] 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/38206

ChangeSet@1.2583, 2007-11-21 13:50:17+01:00, mleich@five.local.lan +6 -0
  This changeset fixes
     Bug#31567 "datadict" tests (all engines) fail:
               Reference protocol is non-standard build
     Bug#30418 "datadict" tests (all engines) fail:
               Dependency on the host name for ordering   
  Modifications:
     1. The standard builds (build team) do not contain
        the collation 'utf8_general_cs'.
        The common developer builds (compuile-....-max)
        contain this collation.
        Solution fitting to both build variants:
           Exclude the collation 'utf8_general_cs' from
           result sets.
     2. Use mysqltest builtin sorting of result set for
        the statement where the hostname affects the
        row order.
[21 Nov 2007 18:14] Matthias Leich
Pushed to
mysql-5.0-build
mysql-5.1-build
mysql-6.0-build.
Weakness within tests, no documentation needed.
[21 Nov 2007 18:53] Bugs System
Pushed into 5.0.54
[21 Nov 2007 18:55] Bugs System
Pushed into 5.1.23-rc
[21 Nov 2007 20:31] Paul DuBois
Test case changes. No changelog entry needed.
[22 Nov 2007 17:19] Bugs System
Pushed into 6.0.4-alpha