Loading mysql-test/r/func_misc.result +4 −0 Original line number Diff line number Diff line Loading @@ -93,3 +93,7 @@ SELECT IS_USED_LOCK('bug16501'); IS_USED_LOCK('bug16501') NULL DROP TABLE t1; select export_set(3, _latin1'foo', _utf8'bar', ',', 4); export_set(3, _latin1'foo', _utf8'bar', ',', 4) foo,foo,bar,bar End of 4.1 tests mysql-test/t/func_misc.test +6 −1 Original line number Diff line number Diff line Loading @@ -83,4 +83,9 @@ connection default; DROP TABLE t1; # End of 4.1 tests # # Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets # select export_set(3, _latin1'foo', _utf8'bar', ',', 4); --echo End of 4.1 tests sql/item_func.h +1 −2 Original line number Diff line number Diff line Loading @@ -159,8 +159,7 @@ class Item_func :public Item_result_field return agg_item_collations_for_comparison(c, func_name(), items, nitems, flags); } bool agg_arg_charsets(DTCollation &c, Item **items, uint nitems, uint flags= 0) bool agg_arg_charsets(DTCollation &c, Item **items, uint nitems, uint flags) { return agg_item_charsets(c, func_name(), items, nitems, flags); } Loading sql/item_strfunc.cc +2 −2 Original line number Diff line number Diff line Loading @@ -2641,8 +2641,8 @@ void Item_func_export_set::fix_length_and_dec() uint sep_length=(arg_count > 3 ? args[3]->max_length : 1); max_length=length*64+sep_length*63; if (agg_arg_charsets(collation, args+1, min(4,arg_count)-1), MY_COLL_ALLOW_CONV) if (agg_arg_charsets(collation, args+1, min(4,arg_count)-1, MY_COLL_ALLOW_CONV)) return; } Loading Loading
mysql-test/r/func_misc.result +4 −0 Original line number Diff line number Diff line Loading @@ -93,3 +93,7 @@ SELECT IS_USED_LOCK('bug16501'); IS_USED_LOCK('bug16501') NULL DROP TABLE t1; select export_set(3, _latin1'foo', _utf8'bar', ',', 4); export_set(3, _latin1'foo', _utf8'bar', ',', 4) foo,foo,bar,bar End of 4.1 tests
mysql-test/t/func_misc.test +6 −1 Original line number Diff line number Diff line Loading @@ -83,4 +83,9 @@ connection default; DROP TABLE t1; # End of 4.1 tests # # Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets # select export_set(3, _latin1'foo', _utf8'bar', ',', 4); --echo End of 4.1 tests
sql/item_func.h +1 −2 Original line number Diff line number Diff line Loading @@ -159,8 +159,7 @@ class Item_func :public Item_result_field return agg_item_collations_for_comparison(c, func_name(), items, nitems, flags); } bool agg_arg_charsets(DTCollation &c, Item **items, uint nitems, uint flags= 0) bool agg_arg_charsets(DTCollation &c, Item **items, uint nitems, uint flags) { return agg_item_charsets(c, func_name(), items, nitems, flags); } Loading
sql/item_strfunc.cc +2 −2 Original line number Diff line number Diff line Loading @@ -2641,8 +2641,8 @@ void Item_func_export_set::fix_length_and_dec() uint sep_length=(arg_count > 3 ? args[3]->max_length : 1); max_length=length*64+sep_length*63; if (agg_arg_charsets(collation, args+1, min(4,arg_count)-1), MY_COLL_ALLOW_CONV) if (agg_arg_charsets(collation, args+1, min(4,arg_count)-1, MY_COLL_ALLOW_CONV)) return; } Loading