Merge from 5.1 to 5.5

This commit is contained in:
Chaithra Gopalareddy 2012-12-26 20:28:10 +05:30
commit 0bb3fb3b3d

View File

@ -1844,7 +1844,7 @@ static Time_zone*
tz_load_from_open_tables(const String *tz_name, TABLE_LIST *tz_tables) tz_load_from_open_tables(const String *tz_name, TABLE_LIST *tz_tables)
{ {
TABLE *table= 0; TABLE *table= 0;
TIME_ZONE_INFO *tz_info; TIME_ZONE_INFO *tz_info= NULL;
Tz_names_entry *tmp_tzname; Tz_names_entry *tmp_tzname;
Time_zone *return_val= 0; Time_zone *return_val= 0;
int res; int res;
@ -1852,7 +1852,8 @@ tz_load_from_open_tables(const String *tz_name, TABLE_LIST *tz_tables)
my_time_t ttime; my_time_t ttime;
char buff[MAX_FIELD_WIDTH]; char buff[MAX_FIELD_WIDTH];
String abbr(buff, sizeof(buff), &my_charset_latin1); String abbr(buff, sizeof(buff), &my_charset_latin1);
char *alloc_buff, *tz_name_buff; char *alloc_buff= NULL;
char *tz_name_buff= NULL;
/* /*
Temporary arrays that are used for loading of data for filling Temporary arrays that are used for loading of data for filling
TIME_ZONE_INFO structure TIME_ZONE_INFO structure
@ -1872,22 +1873,6 @@ tz_load_from_open_tables(const String *tz_name, TABLE_LIST *tz_tables)
DBUG_ENTER("tz_load_from_open_tables"); DBUG_ENTER("tz_load_from_open_tables");
/* Prepare tz_info for loading also let us make copy of time zone name */
if (!(alloc_buff= (char*) alloc_root(&tz_storage, sizeof(TIME_ZONE_INFO) +
tz_name->length() + 1)))
{
sql_print_error("Out of memory while loading time zone description");
return 0;
}
tz_info= (TIME_ZONE_INFO *)alloc_buff;
bzero(tz_info, sizeof(TIME_ZONE_INFO));
tz_name_buff= alloc_buff + sizeof(TIME_ZONE_INFO);
/*
By writing zero to the end we guarantee that we can call ptr()
instead of c_ptr() for time zone name.
*/
strmake(tz_name_buff, tz_name->ptr(), tz_name->length());
/* /*
Let us find out time zone id by its name (there is only one index Let us find out time zone id by its name (there is only one index
and it is specifically for this purpose). and it is specifically for this purpose).