type_blob.result, func_system.result, func_str.result, ctype_collate.result:
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.
Showing
Please register or sign in to comment