mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
local variable interval to interval_tmp because it hides
Event_timed::interval
This commit is contained in:
parent
b4752351f2
commit
c9309583ee
1 changed files with 23 additions and 20 deletions
|
@ -324,7 +324,7 @@ int
|
|||
Event_timed::init_interval(THD *thd, Item *expr, interval_type new_interval)
|
||||
{
|
||||
String value;
|
||||
INTERVAL interval;
|
||||
INTERVAL interval_tmp;
|
||||
|
||||
DBUG_ENTER("Event_timed::init_interval");
|
||||
|
||||
|
@ -332,71 +332,74 @@ Event_timed::init_interval(THD *thd, Item *expr, interval_type new_interval)
|
|||
DBUG_RETURN(EVEX_PARSE_ERROR);
|
||||
|
||||
value.alloc(MAX_DATETIME_FULL_WIDTH*MY_CHARSET_BIN_MB_MAXLEN);
|
||||
if (get_interval_value(expr, new_interval, &value, &interval))
|
||||
if (get_interval_value(expr, new_interval, &value, &interval_tmp))
|
||||
DBUG_RETURN(EVEX_PARSE_ERROR);
|
||||
|
||||
expression= 0;
|
||||
|
||||
switch (new_interval) {
|
||||
case INTERVAL_YEAR:
|
||||
expression= interval.year;
|
||||
expression= interval_tmp.year;
|
||||
break;
|
||||
case INTERVAL_QUARTER:
|
||||
case INTERVAL_MONTH:
|
||||
expression= interval.month;
|
||||
expression= interval_tmp.month;
|
||||
break;
|
||||
case INTERVAL_WEEK:
|
||||
case INTERVAL_DAY:
|
||||
expression= interval.day;
|
||||
expression= interval_tmp.day;
|
||||
break;
|
||||
case INTERVAL_HOUR:
|
||||
expression= interval.hour;
|
||||
expression= interval_tmp.hour;
|
||||
break;
|
||||
case INTERVAL_MINUTE:
|
||||
expression= interval.minute;
|
||||
expression= interval_tmp.minute;
|
||||
break;
|
||||
case INTERVAL_SECOND:
|
||||
expression= interval.second;
|
||||
expression= interval_tmp.second;
|
||||
break;
|
||||
case INTERVAL_YEAR_MONTH: // Allow YEAR-MONTH YYYYYMM
|
||||
expression= interval.year* 12 + interval.month;
|
||||
expression= interval_tmp.year* 12 + interval_tmp.month;
|
||||
break;
|
||||
case INTERVAL_DAY_HOUR:
|
||||
expression= interval.day* 24 + interval.hour;
|
||||
expression= interval_tmp.day* 24 + interval_tmp.hour;
|
||||
break;
|
||||
case INTERVAL_DAY_MINUTE:
|
||||
expression= (interval.day* 24 + interval.hour) * 60 + interval.minute;
|
||||
expression= (interval_tmp.day* 24 + interval_tmp.hour) * 60 +
|
||||
interval_tmp.minute;
|
||||
break;
|
||||
case INTERVAL_HOUR_SECOND: /* day is anyway 0 */
|
||||
case INTERVAL_DAY_SECOND:
|
||||
/* DAY_SECOND having problems because of leap seconds? */
|
||||
expression= ((interval.day* 24 + interval.hour) * 60 + interval.minute)*60
|
||||
+ interval.second;
|
||||
expression= ((interval_tmp.day* 24 + interval_tmp.hour) * 60 +
|
||||
interval_tmp.minute)*60
|
||||
+ interval_tmp.second;
|
||||
break;
|
||||
case INTERVAL_MINUTE_MICROSECOND: /* day and hour are 0 */
|
||||
case INTERVAL_HOUR_MICROSECOND: /* day is anyway 0 */
|
||||
case INTERVAL_DAY_MICROSECOND:
|
||||
DBUG_RETURN(EVEX_MICROSECOND_UNSUP);
|
||||
expression= ((((interval.day*24) + interval.hour)*60+interval.minute)*60 +
|
||||
interval.second) * 1000000L + interval.second_part;
|
||||
expression= ((((interval_tmp.day*24) + interval_tmp.hour)*60+
|
||||
interval_tmp.minute)*60 +
|
||||
interval_tmp.second) * 1000000L + interval_tmp.second_part;
|
||||
break;
|
||||
case INTERVAL_HOUR_MINUTE:
|
||||
expression= interval.hour * 60 + interval.minute;
|
||||
expression= interval_tmp.hour * 60 + interval_tmp.minute;
|
||||
break;
|
||||
case INTERVAL_MINUTE_SECOND:
|
||||
expression= interval.minute * 60 + interval.second;
|
||||
expression= interval_tmp.minute * 60 + interval_tmp.second;
|
||||
break;
|
||||
case INTERVAL_SECOND_MICROSECOND:
|
||||
DBUG_RETURN(EVEX_MICROSECOND_UNSUP);
|
||||
expression= interval.second * 1000000L + interval.second_part;
|
||||
expression= interval_tmp.second * 1000000L + interval_tmp.second_part;
|
||||
break;
|
||||
case INTERVAL_MICROSECOND:
|
||||
DBUG_RETURN(EVEX_MICROSECOND_UNSUP);
|
||||
}
|
||||
if (interval.neg || expression > EVEX_MAX_INTERVAL_VALUE)
|
||||
if (interval_tmp.neg || expression > EVEX_MAX_INTERVAL_VALUE)
|
||||
DBUG_RETURN(EVEX_BAD_PARAMS);
|
||||
|
||||
this->interval= new_interval;
|
||||
interval= new_interval;
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue