summaryrefslogtreecommitdiff
path: root/sql/item_sum.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r--sql/item_sum.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h
index cbf245f3cd3..1ed3d870bcc 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -734,6 +734,10 @@ public:
longlong val_int() { return val_int_from_real(); /* Real as default */ }
String *val_str(String*str);
my_decimal *val_decimal(my_decimal *);
+ bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
+ {
+ return type_handler()->Item_get_date(this, ltime, fuzzydate);
+ }
void reset_field();
};
@@ -1343,6 +1347,10 @@ public:
void update_field(){DBUG_ASSERT(0);}
void clear();
void cleanup();
+ bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
+ {
+ return execute() || sp_result_field->get_date(ltime, fuzzydate);
+ }
inline Field *get_sp_result_field()
{
return sp_result_field;
@@ -1374,6 +1382,10 @@ public:
{
return mark_unsupported_function(name.str, arg, VCOL_IMPOSSIBLE);
}
+ bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
+ {
+ return type_handler()->Item_get_date(this, ltime, fuzzydate);
+ }
};
@@ -1523,6 +1535,10 @@ public:
void update_field() {};
void cleanup();
virtual void print(String *str, enum_query_type query_type);
+ bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
+ {
+ return type_handler()->Item_get_date(this, ltime, fuzzydate);
+ }
};
@@ -1819,6 +1835,10 @@ public:
{
return val_decimal_from_string(decimal_value);
}
+ bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
+ {
+ return get_date_from_string(ltime, fuzzydate);
+ }
String* val_str(String* str);
Item *copy_or_same(THD* thd);
void no_rows_in_result() {}