Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-runtime
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge50
This commit is contained in:
commit
7b55e8b88e
@ -51,7 +51,7 @@ static bool make_datetime(date_time_format_types format, MYSQL_TIME *ltime,
|
|||||||
{
|
{
|
||||||
char *buff;
|
char *buff;
|
||||||
CHARSET_INFO *cs= &my_charset_bin;
|
CHARSET_INFO *cs= &my_charset_bin;
|
||||||
uint length= 30;
|
uint length= MAX_DATE_STRING_REP_LENGTH;
|
||||||
|
|
||||||
if (str->alloc(length))
|
if (str->alloc(length))
|
||||||
return 1;
|
return 1;
|
||||||
@ -1379,7 +1379,7 @@ String *Item_date::val_str(String *str)
|
|||||||
MYSQL_TIME ltime;
|
MYSQL_TIME ltime;
|
||||||
if (get_date(<ime, TIME_FUZZY_DATE))
|
if (get_date(<ime, TIME_FUZZY_DATE))
|
||||||
return (String *) 0;
|
return (String *) 0;
|
||||||
if (str->alloc(11))
|
if (str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
{
|
{
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
return (String *) 0;
|
return (String *) 0;
|
||||||
@ -1428,7 +1428,7 @@ void Item_func_curdate::fix_length_and_dec()
|
|||||||
String *Item_func_curdate::val_str(String *str)
|
String *Item_func_curdate::val_str(String *str)
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
if (str->alloc(11))
|
if (str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
{
|
{
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
return (String *) 0;
|
return (String *) 0;
|
||||||
@ -1657,7 +1657,8 @@ String *Item_func_sec_to_time::val_str(String *str)
|
|||||||
MYSQL_TIME ltime;
|
MYSQL_TIME ltime;
|
||||||
longlong arg_val= args[0]->val_int();
|
longlong arg_val= args[0]->val_int();
|
||||||
|
|
||||||
if ((null_value=args[0]->null_value) || str->alloc(19))
|
if ((null_value=args[0]->null_value) ||
|
||||||
|
str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
{
|
{
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
return (String*) 0;
|
return (String*) 0;
|
||||||
@ -1842,6 +1843,10 @@ String *Item_func_date_format::val_str(String *str)
|
|||||||
size=max_length;
|
size=max_length;
|
||||||
else
|
else
|
||||||
size=format_length(format);
|
size=format_length(format);
|
||||||
|
|
||||||
|
if (size < MAX_DATE_STRING_REP_LENGTH)
|
||||||
|
size= MAX_DATE_STRING_REP_LENGTH;
|
||||||
|
|
||||||
if (format == str)
|
if (format == str)
|
||||||
str= &value; // Save result here
|
str= &value; // Save result here
|
||||||
if (str->alloc(size))
|
if (str->alloc(size))
|
||||||
@ -1885,13 +1890,14 @@ String *Item_func_from_unixtime::val_str(String *str)
|
|||||||
if (get_date(&time_tmp, 0))
|
if (get_date(&time_tmp, 0))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (str->alloc(20*MY_CHARSET_BIN_MB_MAXLEN))
|
if (str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
{
|
{
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
make_datetime((DATE_TIME_FORMAT *) 0, &time_tmp, str);
|
make_datetime((DATE_TIME_FORMAT *) 0, &time_tmp, str);
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1940,14 +1946,15 @@ String *Item_func_convert_tz::val_str(String *str)
|
|||||||
|
|
||||||
if (get_date(&time_tmp, 0))
|
if (get_date(&time_tmp, 0))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (str->alloc(20*MY_CHARSET_BIN_MB_MAXLEN))
|
if (str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
{
|
{
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
make_datetime((DATE_TIME_FORMAT *) 0, &time_tmp, str);
|
make_datetime((DATE_TIME_FORMAT *) 0, &time_tmp, str);
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2454,6 +2461,7 @@ String *Item_datetime_typecast::val_str(String *str)
|
|||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
MYSQL_TIME ltime;
|
MYSQL_TIME ltime;
|
||||||
|
|
||||||
if (!get_arg0_date(<ime, TIME_FUZZY_DATE) &&
|
if (!get_arg0_date(<ime, TIME_FUZZY_DATE) &&
|
||||||
!make_datetime(ltime.second_part ? DATE_TIME_MICROSECOND : DATE_TIME,
|
!make_datetime(ltime.second_part ? DATE_TIME_MICROSECOND : DATE_TIME,
|
||||||
<ime, str))
|
<ime, str))
|
||||||
@ -2532,7 +2540,8 @@ String *Item_date_typecast::val_str(String *str)
|
|||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
MYSQL_TIME ltime;
|
MYSQL_TIME ltime;
|
||||||
|
|
||||||
if (!get_arg0_date(<ime, TIME_FUZZY_DATE) && !str->alloc(11))
|
if (!get_arg0_date(<ime, TIME_FUZZY_DATE) &&
|
||||||
|
!str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
{
|
{
|
||||||
make_date((DATE_TIME_FORMAT *) 0, <ime, str);
|
make_date((DATE_TIME_FORMAT *) 0, <ime, str);
|
||||||
return str;
|
return str;
|
||||||
@ -2585,7 +2594,7 @@ String *Item_func_makedate::val_str(String *str)
|
|||||||
{
|
{
|
||||||
null_value=0;
|
null_value=0;
|
||||||
get_date_from_daynr(days,&l_time.year,&l_time.month,&l_time.day);
|
get_date_from_daynr(days,&l_time.year,&l_time.month,&l_time.day);
|
||||||
if (str->alloc(11))
|
if (str->alloc(MAX_DATE_STRING_REP_LENGTH))
|
||||||
goto err;
|
goto err;
|
||||||
make_date((DATE_TIME_FORMAT *) 0, &l_time, str);
|
make_date((DATE_TIME_FORMAT *) 0, &l_time, str);
|
||||||
return str;
|
return str;
|
||||||
@ -2721,6 +2730,7 @@ String *Item_func_add_time::val_str(String *str)
|
|||||||
days= (long)(seconds/86400L);
|
days= (long)(seconds/86400L);
|
||||||
|
|
||||||
calc_time_from_sec(&l_time3, (long)(seconds%86400L), microseconds);
|
calc_time_from_sec(&l_time3, (long)(seconds%86400L), microseconds);
|
||||||
|
|
||||||
if (!is_time)
|
if (!is_time)
|
||||||
{
|
{
|
||||||
get_date_from_daynr(days,&l_time3.year,&l_time3.month,&l_time3.day);
|
get_date_from_daynr(days,&l_time3.year,&l_time3.month,&l_time3.day);
|
||||||
@ -2836,7 +2846,7 @@ String *Item_func_maketime::val_str(String *str)
|
|||||||
args[2]->null_value ||
|
args[2]->null_value ||
|
||||||
minute < 0 || minute > 59 ||
|
minute < 0 || minute > 59 ||
|
||||||
second < 0 || second > 59 ||
|
second < 0 || second > 59 ||
|
||||||
str->alloc(19))))
|
str->alloc(MAX_DATE_STRING_REP_LENGTH))))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
bzero((char *)<ime, sizeof(ltime));
|
bzero((char *)<ime, sizeof(ltime));
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
#define MAX_TIME_WIDTH 23 /* -DDDDDD HH:MM:SS.###### */
|
#define MAX_TIME_WIDTH 23 /* -DDDDDD HH:MM:SS.###### */
|
||||||
#define MAX_DATETIME_FULL_WIDTH 29 /* YYYY-MM-DD HH:MM:SS.###### AM */
|
#define MAX_DATETIME_FULL_WIDTH 29 /* YYYY-MM-DD HH:MM:SS.###### AM */
|
||||||
#define MAX_DATETIME_WIDTH 19 /* YYYY-MM-DD HH:MM:SS */
|
#define MAX_DATETIME_WIDTH 19 /* YYYY-MM-DD HH:MM:SS */
|
||||||
|
#define MAX_DATETIME_COMPRESSED_WIDTH 14 /* YYYYMMDDHHMMSS */
|
||||||
|
|
||||||
#define MAX_TABLES (sizeof(table_map)*8-3) /* Max tables in join */
|
#define MAX_TABLES (sizeof(table_map)*8-3) /* Max tables in join */
|
||||||
#define PARAM_TABLE_BIT (((table_map) 1) << (sizeof(table_map)*8-3))
|
#define PARAM_TABLE_BIT (((table_map) 1) << (sizeof(table_map)*8-3))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user