diff options
author | Alexander Barkov <bar@mariadb.com> | 2019-07-05 09:15:40 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2019-07-05 09:15:40 +0400 |
commit | 11f13bff21f8f1a0285f4d3f0db4b4252a9c7c7b (patch) | |
tree | 3fc3cd41a6572b793295e74483e79dd98c011b4a /sql/item_sum.cc | |
parent | bee24fe18188c81f52ae3bfa4ff42a2137480a6b (diff) | |
download | mariadb-git-11f13bff21f8f1a0285f4d3f0db4b4252a9c7c7b.tar.gz |
MDEV-17857 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed upon SELECT with GROUP BY
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 960d79b39ac..f5bcd082824 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -2549,11 +2549,14 @@ Item_sum_hybrid::min_max_update_str_field() if (!args[0]->null_value) { - result_field->val_str(&cmp->value2); - - if (result_field->is_null() || - (cmp_sign * sortcmp(res_str,&cmp->value2,collation.collation)) < 0) + if (result_field->is_null()) result_field->store(res_str->ptr(),res_str->length(),res_str->charset()); + else + { + result_field->val_str(&cmp->value2); + if ((cmp_sign * sortcmp(res_str,&cmp->value2,collation.collation)) < 0) + result_field->store(res_str->ptr(),res_str->length(),res_str->charset()); + } result_field->set_notnull(); } } |