summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-11-07 15:03:58 +0400
committerAlexander Barkov <bar@mariadb.org>2017-11-07 15:03:58 +0400
commitfff7fc500b3ab0ead49685cbd1310d5b2dfa0972 (patch)
treef9a9af9b7f146c6b1678039e6ecff35a9eab3727 /sql/item_sum.cc
parent8128ae48eff6029d29d6c1c509f04994614a0571 (diff)
downloadmariadb-git-fff7fc500b3ab0ead49685cbd1310d5b2dfa0972.tar.gz
MDEV-10817 CAST(MAX(DATE'2001-01-01') AS TIME) returns a wrong result
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r--sql/item_sum.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index df09beeb274..20237435ba6 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -2065,6 +2065,18 @@ void Item_sum_hybrid::clear()
null_value= 1;
}
+bool
+Item_sum_hybrid::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
+{
+ DBUG_ASSERT(fixed == 1);
+ if (null_value)
+ return 0;
+ bool retval= value->get_date(ltime, fuzzydate);
+ if ((null_value= value->null_value))
+ DBUG_ASSERT(retval == true);
+ return retval;
+}
+
double Item_sum_hybrid::val_real()
{
DBUG_ASSERT(fixed == 1);