Bug #48874 Test "is_triggers" fails because of wrong charset info
Submitted: 18 Nov 2009 17:36 Modified: 16 Nov 2010 1:59
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Server Severity:S3 (Non-critical)
Version:5.5.0-beta OS:Any (all)
Assigned to: Alexander Nozdrin CPU Architecture:Any

[18 Nov 2009 17:36] Joerg Bruehe
Description:
Test "funcs_1.is_triggers" in the 5.5.0-beta build on all platforms:

=====
funcs_1.is_triggers                      [ retry-fail ]
        Test ended at YYYY-MM-DD HH:MM:SS

CURRENT_TEST: funcs_1.is_triggers
--- /PATH/mysql-test/suite/funcs_1/r/is_triggers.result
+++ /PATH/mysql-test/suite/funcs_1/r/is_triggers.reject
@@ -105,8 +105,8 @@
 OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL
 OR action_reference_new_table IS NOT NULL;
 TRIGGER_CATALOG    TRIGGER_SCHEMA  TRIGGER_NAME    EVENT_MANIPULATION  EVENT_OBJECT_CATALOG    EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE  ACTION_ORDER    ACTION_CONDITION    ACTION_STATEMENT    ACTION_ORIENTATION  ACTION_TIMING   ACTION_REFERENCE_OLD_TABLE  ACTION_REFERENCE_NEW_TABLE  ACTION_REFERENCE_OLD_ROW    ACTION_REFERENCE_NEW_ROW    CREATED SQL_MODE    DEFINER CHARACTER_SET_CLIENT    COLLATION_CONNECTION    DATABASE_COLLATION
-def    mtr gs_insert   INSERT  def mtr global_suppressions 0   NULL    BEGIN   DECLARE dummy INT;   SELECT "" REGEXP NEW.pattern INTO dummy; END   ROW BEFORE  NULL    NULL    OLD NEW NULL        root@localhost  latin1  latin1_swedish_ci   latin1_swedish_ci
-def    mtr ts_insert   INSERT  def mtr test_suppressions   0   NULL    BEGIN   DECLARE dummy INT;   SELECT "" REGEXP NEW.pattern INTO dummy; END   ROW BEFORE  NULL    NULL    OLD NEW NULL        root@localhost  latin1  latin1_swedish_ci   latin1_swedish_ci
+def    mtr gs_insert   INSERT  def mtr global_suppressions 0   NULL    BEGIN   DECLARE dummy INT;   SELECT "" REGEXP NEW.pattern INTO dummy; END   ROW BEFORE  NULL    NULL    OLD NEW NULL        root@localhost  utf8    utf8_general_ci latin1_swedish_ci
+def    mtr ts_insert   INSERT  def mtr test_suppressions   0   NULL    BEGIN   DECLARE dummy INT;   SELECT "" REGEXP NEW.pattern INTO dummy; END   ROW BEFORE  NULL    NULL    OLD NEW NULL        root@localhost  utf8    utf8_general_ci latin1_swedish_ci
 ##################################################################################
 # Testcase 3.2.18.2 + 3.2.18.3: INFORMATION_SCHEMA.TRIGGERS accessible information
 ##################################################################################

mysqltest: Result content mismatch
=====

In case you find this as hard to read as I do:
The test assumes that "CHARACTER_SET_CLIENT" and "COLLATION_CONNECTION" will be "latin1" and "latin1_swedish_ci",
but (at least in release builds) they are "utf8" and "utf8_general_ci".

How to repeat:
Run the full tests.

Suggested fix:
Update the tests.
[30 Aug 2010 12:04] Joerg Bruehe
The test continues to fail in the further builds of 5.5.*,
currently in 5.5.6-m3.

Luckily, the failure text remains constant, so my automatic tool does assign the bug number.

Sadly, such a tool is necessary, because test failures don't get fixed.
[13 Oct 2010 8:59] 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/120638

3239 Alexander Nozdrin	2010-10-13
      A patch for Bug#48874 (Test "is_triggers" fails because of wrong charset info).
      
      The thing is that the following attributes are fixed (remembered) when a trigger
      is created:
        - character_set_client
        - character_set_results
        - collation_connection
      
      There are two triggers created in mysql-test/include/mtr_warnings.sql.
      They were created using "current default" character set / collation.
      is_triggers.test shows definition of these triggers including recorded
      character set information.
      
      The problem was that if "current default" changed, the recorded character
      set information was not accurate.
      
      There might be two ways to fix that:
        a) update is_triggers.test so that it does not put character-set information
           into result-file;
        b) update mtr_warnings.sql so that the triggers are created using
           hard-coded character sets.
      
      This patch implements option b).
[14 Oct 2010 10:08] 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/120764

3245 Alexander Nozdrin	2010-10-14
      A patch for Bug#48874 (Test "is_triggers" fails because of wrong charset info).
      
      The thing is that the following attributes are fixed (remembered) when a trigger
      is created:
        - character_set_client
        - character_set_results
        - collation_connection
      
      There are two triggers created in mysql-test/include/mtr_warnings.sql.
      They were created using "current default" character set / collation.
      is_triggers.test shows definition of these triggers including recorded
      character set information.
      
      The problem was that if "current default" changed, the recorded character
      set information was not accurate.
      
      There might be two ways to fix that:
        a) update is_triggers.test so that it does not put character-set information
           into result-file;
        b) update mtr_warnings.sql so that the triggers are created using
           hard-coded character sets.
      
      This patch implements option b).
[14 Oct 2010 10:12] Alexander Nozdrin
Pushed into 5.5-bugteam (tagged 5.5.8).
[29 Oct 2010 15:28] Paul DuBois
Changes to test suite. No changelog entry needed.
[13 Nov 2010 16:20] Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:alexander.nozdrin@oracle.com-20101113152450-2zzcm50e7i4j35v7) (merge vers: 5.6.1-m4) (pib:21)
[13 Nov 2010 16:39] Bugs System
Pushed into mysql-next-mr (revid:alexander.nozdrin@oracle.com-20101113160336-atmtmfb3mzm4pz4i) (version source revid:vasil.dimov@oracle.com-20100629074804-359l9m9gniauxr94) (pib:21)
[16 Dec 2010 22:33] Bugs System
Pushed into mysql-5.5 5.5.9 (revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (version source revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (merge vers: 5.5.9) (pib:24)