42
42
#include <drizzled/function/str/trim.h>
43
43
#include <drizzled/function/str/uuid.h>
45
#include <drizzled/function/time/add_time.h>
46
45
#include <drizzled/function/time/date_format.h>
47
46
#include <drizzled/function/time/dayname.h>
48
47
#include <drizzled/function/time/dayofmonth.h>
51
50
#include <drizzled/function/time/from_days.h>
52
51
#include <drizzled/function/time/last_day.h>
53
52
#include <drizzled/function/time/makedate.h>
54
#include <drizzled/function/time/maketime.h>
55
53
#include <drizzled/function/time/month.h>
56
54
#include <drizzled/function/time/period_add.h>
57
55
#include <drizzled/function/time/period_diff.h>
58
#include <drizzled/function/time/sec_to_time.h>
59
#include <drizzled/function/time/str_to_date.h>
60
#include <drizzled/function/time/time_to_sec.h>
61
#include <drizzled/function/time/timediff.h>
62
56
#include <drizzled/function/time/to_days.h>
63
57
#include <drizzled/function/time/typecast.h>
64
58
#include <drizzled/function/time/unix_timestamp.h>
306
300
virtual ~Create_func_acos() {}
310
class Create_func_addtime : public Create_func_arg2
313
using Create_func_arg2::create;
315
virtual Item *create(Session *session, Item *arg1, Item *arg2);
317
static Create_func_addtime s_singleton;
320
Create_func_addtime() {}
321
virtual ~Create_func_addtime() {}
325
303
class Create_func_asin : public Create_func_arg1
1076
1054
virtual ~Create_func_makedate() {}
1080
class Create_func_maketime : public Create_func_arg3
1083
using Create_func_arg3::create;
1085
virtual Item *create(Session *session, Item *arg1, Item *arg2, Item *arg3);
1087
static Create_func_maketime s_singleton;
1090
Create_func_maketime() {}
1091
virtual ~Create_func_maketime() {}
1095
1057
class Create_func_make_set : public Create_native_func
1340
1302
virtual ~Create_func_rtrim() {}
1344
class Create_func_sec_to_time : public Create_func_arg1
1347
using Create_func_arg1::create;
1349
virtual Item *create(Session *session, Item *arg1);
1351
static Create_func_sec_to_time s_singleton;
1354
Create_func_sec_to_time() {}
1355
virtual ~Create_func_sec_to_time() {}
1359
1305
class Create_func_sign : public Create_func_arg1
1419
class Create_func_str_to_date : public Create_func_arg2
1422
using Create_func_arg2::create;
1424
virtual Item *create(Session *session, Item *arg1, Item *arg2);
1426
static Create_func_str_to_date s_singleton;
1429
Create_func_str_to_date() {}
1430
virtual ~Create_func_str_to_date() {}
1434
1365
class Create_func_strcmp : public Create_func_arg2
1464
class Create_func_subtime : public Create_func_arg2
1467
using Create_func_arg2::create;
1469
virtual Item *create(Session *session, Item *arg1, Item *arg2);
1471
static Create_func_subtime s_singleton;
1474
Create_func_subtime() {}
1475
virtual ~Create_func_subtime() {}
1479
1395
class Create_func_tan : public Create_func_arg1
1524
class Create_func_timediff : public Create_func_arg2
1527
using Create_func_arg2::create;
1529
virtual Item *create(Session *session, Item *arg1, Item *arg2);
1531
static Create_func_timediff s_singleton;
1534
Create_func_timediff() {}
1535
virtual ~Create_func_timediff() {}
1539
1440
class Create_func_to_days : public Create_func_arg1
1828
1729
return new (session->mem_root) Item_func_acos(arg1);
1832
Create_func_addtime Create_func_addtime::s_singleton;
1835
Create_func_addtime::create(Session *session, Item *arg1, Item *arg2)
1837
return new (session->mem_root) Item_func_add_time(arg1, arg2, 0, 0);
1841
1732
Create_func_asin Create_func_asin::s_singleton;
2567
Create_func_maketime Create_func_maketime::s_singleton;
2570
Create_func_maketime::create(Session *session, Item *arg1, Item *arg2, Item *arg3)
2572
return new (session->mem_root) Item_func_maketime(arg1, arg2, arg3);
2576
2458
Create_func_make_set Create_func_make_set::s_singleton;
2791
Create_func_sec_to_time Create_func_sec_to_time::s_singleton;
2794
Create_func_sec_to_time::create(Session *session, Item *arg1)
2796
return new (session->mem_root) Item_func_sec_to_time(arg1);
2800
2673
Create_func_sign Create_func_sign::s_singleton;
2855
Create_func_str_to_date Create_func_str_to_date::s_singleton;
2858
Create_func_str_to_date::create(Session *session, Item *arg1, Item *arg2)
2860
return new (session->mem_root) Item_func_str_to_date(arg1, arg2);
2864
2728
Create_func_strcmp Create_func_strcmp::s_singleton;
2878
2742
return new (session->mem_root) Item_func_substr_index(arg1, arg2, arg3);
2882
Create_func_subtime Create_func_subtime::s_singleton;
2885
Create_func_subtime::create(Session *session, Item *arg1, Item *arg2)
2887
return new (session->mem_root) Item_func_add_time(arg1, arg2, 0, 1);
2891
2745
Create_func_tan Create_func_tan::s_singleton;
2905
2759
return new (session->mem_root) Item_func_date_format(arg1, arg2, 1);
2909
Create_func_time_to_sec Create_func_time_to_sec::s_singleton;
2912
Create_func_time_to_sec::create(Session *session, Item *arg1)
2914
return new (session->mem_root) Item_func_time_to_sec(arg1);
2918
Create_func_timediff Create_func_timediff::s_singleton;
2921
Create_func_timediff::create(Session *session, Item *arg1, Item *arg2)
2923
return new (session->mem_root) Item_func_timediff(arg1, arg2);
2927
2762
Create_func_to_days Create_func_to_days::s_singleton;
3036
2871
{ { C_STRING_WITH_LEN("ABS") }, BUILDER(Create_func_abs)},
3037
2872
{ { C_STRING_WITH_LEN("ACOS") }, BUILDER(Create_func_acos)},
3038
{ { C_STRING_WITH_LEN("ADDTIME") }, BUILDER(Create_func_addtime)},
3039
2873
{ { C_STRING_WITH_LEN("ASIN") }, BUILDER(Create_func_asin)},
3040
2874
{ { C_STRING_WITH_LEN("ATAN") }, BUILDER(Create_func_atan)},
3041
2875
{ { C_STRING_WITH_LEN("ATAN2") }, BUILDER(Create_func_atan)},
3091
2925
{ { C_STRING_WITH_LEN("LPAD") }, BUILDER(Create_func_lpad)},
3092
2926
{ { C_STRING_WITH_LEN("LTRIM") }, BUILDER(Create_func_ltrim)},
3093
2927
{ { C_STRING_WITH_LEN("MAKEDATE") }, BUILDER(Create_func_makedate)},
3094
{ { C_STRING_WITH_LEN("MAKETIME") }, BUILDER(Create_func_maketime)},
3095
2928
{ { C_STRING_WITH_LEN("MAKE_SET") }, BUILDER(Create_func_make_set)},
3096
2929
{ { C_STRING_WITH_LEN("MONTHNAME") }, BUILDER(Create_func_monthname)},
3097
2930
{ { C_STRING_WITH_LEN("NULLIF") }, BUILDER(Create_func_nullif)},
3110
2943
{ { C_STRING_WITH_LEN("ROW_COUNT") }, BUILDER(Create_func_row_count)},
3111
2944
{ { C_STRING_WITH_LEN("RPAD") }, BUILDER(Create_func_rpad)},
3112
2945
{ { C_STRING_WITH_LEN("RTRIM") }, BUILDER(Create_func_rtrim)},
3113
{ { C_STRING_WITH_LEN("SEC_TO_TIME") }, BUILDER(Create_func_sec_to_time)},
3114
2946
{ { C_STRING_WITH_LEN("SIGN") }, BUILDER(Create_func_sign)},
3115
2947
{ { C_STRING_WITH_LEN("SIN") }, BUILDER(Create_func_sin)},
3116
2948
{ { C_STRING_WITH_LEN("SPACE") }, BUILDER(Create_func_space)},
3117
2949
{ { C_STRING_WITH_LEN("SQRT") }, BUILDER(Create_func_sqrt)},
3118
2950
{ { C_STRING_WITH_LEN("STRCMP") }, BUILDER(Create_func_strcmp)},
3119
{ { C_STRING_WITH_LEN("STR_TO_DATE") }, BUILDER(Create_func_str_to_date)},
3120
2951
{ { C_STRING_WITH_LEN("SUBSTRING_INDEX") }, BUILDER(Create_func_substr_index)},
3121
{ { C_STRING_WITH_LEN("SUBTIME") }, BUILDER(Create_func_subtime)},
3122
2952
{ { C_STRING_WITH_LEN("TAN") }, BUILDER(Create_func_tan)},
3123
{ { C_STRING_WITH_LEN("TIMEDIFF") }, BUILDER(Create_func_timediff)},
3124
2953
{ { C_STRING_WITH_LEN("TIME_FORMAT") }, BUILDER(Create_func_time_format)},
3125
{ { C_STRING_WITH_LEN("TIME_TO_SEC") }, BUILDER(Create_func_time_to_sec)},
3126
2954
{ { C_STRING_WITH_LEN("TO_DAYS") }, BUILDER(Create_func_to_days)},
3127
2955
{ { C_STRING_WITH_LEN("UCASE") }, BUILDER(Create_func_ucase)},
3128
2956
{ { C_STRING_WITH_LEN("UNHEX") }, BUILDER(Create_func_unhex)},