diff options
Diffstat (limited to 'sql/item_timefunc.cc')
-rw-r--r-- | sql/item_timefunc.cc | 19 |
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); |