diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_func.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index 6952effb48f..0bddeed14d6 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1455,10 +1455,11 @@ longlong Item_func_find_in_set::val_int() { const char *substr_end= str_end + symbol_len; bool is_last_item= (substr_end == real_end); - if (wc == (my_wc_t) separator || is_last_item) + bool is_separator= (wc == (my_wc_t) separator); + if (is_separator || is_last_item) { position++; - if (is_last_item) + if (is_last_item && !is_separator) str_end= substr_end; if (!my_strnncoll(cs, (const uchar *) str_begin, str_end - str_begin, |