Commit 5b395e44 authored by Tatiana A. Nurnberg's avatar Tatiana A. Nurnberg

auto-merge

parents 4a865f18 12825634
...@@ -1342,7 +1342,7 @@ int diff_check() ...@@ -1342,7 +1342,7 @@ int diff_check()
{ {
char buf[512]= {0}; char buf[512]= {0};
FILE *res_file; FILE *res_file;
char *cmd = "diff -v"; const char *cmd = "diff -v";
int have_diff = 0; int have_diff = 0;
if (!(res_file= popen(cmd, "r"))) if (!(res_file= popen(cmd, "r")))
......
...@@ -186,6 +186,8 @@ delimiter ...@@ -186,6 +186,8 @@ delimiter
2 2
2 2
2 2
@z:='1' @z=database()
1 NULL
End of 5.0 tests End of 5.0 tests
WARNING: --server-arg option not supported in this configuration. WARNING: --server-arg option not supported in this configuration.
Warning (Code 1286): Unknown table engine 'nonexistent' Warning (Code 1286): Unknown table engine 'nonexistent'
......
...@@ -310,6 +310,11 @@ EOF ...@@ -310,6 +310,11 @@ EOF
--exec $MYSQL -c < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1 --exec $MYSQL -c < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
remove_file $MYSQLTEST_VARDIR/tmp/bug38158.sql; remove_file $MYSQLTEST_VARDIR/tmp/bug38158.sql;
#
# Bug #41437: Value stored in 'case' lacks charset, causees segfault
#
--exec $MYSQL -e "select @z:='1',@z=database()"
--echo End of 5.0 tests --echo End of 5.0 tests
# #
......
...@@ -1782,6 +1782,12 @@ Item *Item_func_sysconst::safe_charset_converter(CHARSET_INFO *tocs) ...@@ -1782,6 +1782,12 @@ Item *Item_func_sysconst::safe_charset_converter(CHARSET_INFO *tocs)
Item_string *conv; Item_string *conv;
uint conv_errors; uint conv_errors;
String tmp, cstr, *ostr= val_str(&tmp); String tmp, cstr, *ostr= val_str(&tmp);
if (null_value)
{
Item *null_item= new Item_null((char *) fully_qualified_func_name());
null_item->collation.set (tocs);
return null_item;
}
cstr.copy(ostr->ptr(), ostr->length(), ostr->charset(), tocs, &conv_errors); cstr.copy(ostr->ptr(), ostr->length(), ostr->charset(), tocs, &conv_errors);
if (conv_errors || if (conv_errors ||
!(conv= new Item_static_string_func(fully_qualified_func_name(), !(conv= new Item_static_string_func(fully_qualified_func_name(),
......
...@@ -6678,6 +6678,7 @@ int get_part_iter_for_interval_via_mapping(partition_info *part_info, ...@@ -6678,6 +6678,7 @@ int get_part_iter_for_interval_via_mapping(partition_info *part_info,
uint32 max_endpoint_val; uint32 max_endpoint_val;
get_endpoint_func get_endpoint; get_endpoint_func get_endpoint;
uint field_len= field->pack_length_in_rec(); uint field_len= field->pack_length_in_rec();
part_iter->ret_null_part= part_iter->ret_null_part_orig= FALSE;
if (part_info->part_type == RANGE_PARTITION) if (part_info->part_type == RANGE_PARTITION)
{ {
...@@ -6698,7 +6699,6 @@ int get_part_iter_for_interval_via_mapping(partition_info *part_info, ...@@ -6698,7 +6699,6 @@ int get_part_iter_for_interval_via_mapping(partition_info *part_info,
max_endpoint_val= part_info->no_list_values; max_endpoint_val= part_info->no_list_values;
part_iter->get_next= get_next_partition_id_list; part_iter->get_next= get_next_partition_id_list;
part_iter->part_info= part_info; part_iter->part_info= part_info;
part_iter->ret_null_part= part_iter->ret_null_part_orig= FALSE;
if (max_endpoint_val == 0) if (max_endpoint_val == 0)
{ {
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment