summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item_timefunc.cc')
-rw-r--r--sql/item_timefunc.cc19
1 files changed, 7 insertions, 12 deletions
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index 5f4a489fca1..e01114fb0ad 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -257,8 +257,8 @@ static bool extract_date_time(DATE_TIME_FORMAT *format,
break;
case 'w':
tmp= (char*) val + 1;
- if ((weekday= (int) my_strtoll10(val, &tmp, &error)) < 0 ||
- weekday >= 7)
+ if (unlikely((weekday= (int) my_strtoll10(val, &tmp, &error)) < 0 ||
+ weekday >= 7))
goto err;
/* We should use the same 1 - 7 scale for %w as for %W */
if (!weekday)
@@ -279,9 +279,10 @@ static bool extract_date_time(DATE_TIME_FORMAT *format,
sunday_first_n_first_week_non_iso= (*ptr=='U' || *ptr== 'V');
strict_week_number= (*ptr=='V' || *ptr=='v');
tmp= (char*) val + MY_MIN(val_len, 2);
- if ((week_number= (int) my_strtoll10(val, &tmp, &error)) < 0 ||
- (strict_week_number && !week_number) ||
- week_number > 53)
+ if (unlikely((week_number=
+ (int) my_strtoll10(val, &tmp, &error)) < 0 ||
+ (strict_week_number && !week_number) ||
+ week_number > 53))
goto err;
val= tmp;
break;
@@ -331,7 +332,7 @@ static bool extract_date_time(DATE_TIME_FORMAT *format,
default:
goto err;
}
- if (error) // Error from my_strtoll10
+ if (unlikely(error)) // Error from my_strtoll10
goto err;
}
else if (!my_isspace(cs, *ptr))
@@ -3232,13 +3233,7 @@ void Item_func_str_to_date::fix_length_and_dec()
if (agg_arg_charsets(collation, args, 2, MY_COLL_ALLOW_CONV, 1))
return;
if (collation.collation->mbminlen > 1)
- {
-#if MYSQL_VERSION_ID > 50500
internal_charset= &my_charset_utf8mb4_general_ci;
-#else
- internal_charset= &my_charset_utf8_general_ci;
-#endif
- }
maybe_null= true;
set_handler(&type_handler_datetime2);