• unknown's avatar
    type_blob.result, func_system.result, func_str.result, ctype_collate.result: · c56d0283
    unknown authored
      fixing test results accordingly.
    func_system.test:
      New test that illegal mix of collations does not happen anymore.
    item_strfunc.h:
        safe_charset_converter() was added for system constants.
    item_strfunc.cc:
      safe_charset_converter() was added for system constants.
    item_func.cc, item.h, item.cc:
      Bug#8291: Illegal collation mix with USER() function.
      After discussion with PeterG and Serge, a new coercibility
      level for "system constants" was introduced, between
      COERRIBLE and IMPLICIT. Thus:
      SELECT col1 = USER() FROM t1; - is done according to col1 collation.
      SELECT 'string' = USER(); - is done according to USER() collation.
      At the same time, "nagg" and "strong" members were removed as unused.
    item_create.cc:
      Version is a system constant too.
    
    
    sql/item.cc:
      Bug#8291: Illegal collation mix with USER() function.
      After discussion with PeterG and Serge, a new coercibility
      level for "system constants" was introduced, between
      COERRIBLE and IMPLICIT. Thus:
      SELECT col1 = USER() FROM t1; - is done according to col1 collation.
      SELECT 'string' = USER(); - is done according to USER() collation.
      At the same time, "nagg" and "strong" members were removed as unused.
    sql/item.h:
      Bug#8291: Illegal collation mix with USER() function.
      After discussion with PeterG and Serge, a new coercibility
      level for "system constants" was introduced, between
      COERRIBLE and IMPLICIT. Thus:
      SELECT col1 = USER() FROM t1; - is done according to col1 collation.
      SELECT 'string' = USER(); - is done according to USER() collation.
      At the same time, "nagg" and "strong" members were removed as unused.
    sql/item_create.cc:
      Version is a system constant too.
    sql/item_func.cc:
      Bug#8291: Illegal collation mix with USER() function.
      After discussion with PeterG and Serge, a new coercibility
      level for "system constants" was introduced, between
      COERRIBLE and IMPLICIT. Thus:
      SELECT col1 = USER() FROM t1; - is done according to col1 collation.
      SELECT 'string' = USER(); - is done according to USER() collation.
      At the same time, "nagg" and "strong" members were removed as unused.
    sql/item_strfunc.cc:
      safe_charset_converter() was added for system constants.
    sql/item_strfunc.h:
        safe_charset_converter() was added for system constants.
    mysql-test/t/func_system.test:
      New test that illegal mix of collations does not happen anymore.
    mysql-test/r/ctype_collate.result:
      fixing test results accordingly.
    mysql-test/r/func_str.result:
      fixing test results accordingly.
    mysql-test/r/func_system.result:
      fixing test results accordingly.
    mysql-test/r/type_blob.result:
      fixing test results accordingly.
    c56d0283
item_strfunc.cc 71.8 KB