summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-11-20 13:47:52 +0400
committerAlexander Barkov <bar@mariadb.com>2018-11-20 13:47:52 +0400
commit21a58840819530ed6a257550529e50e333237479 (patch)
treed10b162db95238cdd53cf1c63babbf98fe7e614d /sql/item_timefunc.h
parentdde2ca4aa108b611b5fdfc970146b28461ef08bf (diff)
downloadmariadb-git-21a58840819530ed6a257550529e50e333237479.tar.gz
MDEV-17776 CAST(x AS INTERVAL DAY_SECOND(N))
Diffstat (limited to 'sql/item_timefunc.h')
-rw-r--r--sql/item_timefunc.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h
index 45f10659a76..318bef22ad1 100644
--- a/sql/item_timefunc.h
+++ b/sql/item_timefunc.h
@@ -1106,6 +1106,24 @@ public:
};
+class Item_interval_DDhhmmssff_typecast :public Item_char_typecast
+{
+ uint m_fsp;
+public:
+ Item_interval_DDhhmmssff_typecast(THD *thd, Item *a, uint fsp)
+ :Item_char_typecast(thd, a,Interval_DDhhmmssff::max_char_length(fsp),
+ &my_charset_latin1),
+ m_fsp(fsp)
+ { }
+ String *val_str(String *to)
+ {
+ Interval_DDhhmmssff it(current_thd, args[0]);
+ null_value= !it.is_valid_interval_DDhhmmssff();
+ return it.to_string(to, m_fsp);
+ }
+};
+
+
class Item_date_typecast :public Item_datefunc
{
public: