~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/create.cc

Phase 1 - temporal changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
#include <drizzled/function/time/from_days.h>
52
52
#include <drizzled/function/time/last_day.h>
53
53
#include <drizzled/function/time/makedate.h>
54
 
#include <drizzled/function/time/maketime.h>
55
54
#include <drizzled/function/time/month.h>
56
55
#include <drizzled/function/time/period_add.h>
57
56
#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
57
#include <drizzled/function/time/to_days.h>
63
58
#include <drizzled/function/time/typecast.h>
64
59
#include <drizzled/function/time/unix_timestamp.h>
1076
1071
  virtual ~Create_func_makedate() {}
1077
1072
};
1078
1073
 
1079
 
 
1080
 
class Create_func_maketime : public Create_func_arg3
1081
 
{
1082
 
public:
1083
 
  using Create_func_arg3::create;
1084
 
 
1085
 
  virtual Item *create(Session *session, Item *arg1, Item *arg2, Item *arg3);
1086
 
 
1087
 
  static Create_func_maketime s_singleton;
1088
 
 
1089
 
protected:
1090
 
  Create_func_maketime() {}
1091
 
  virtual ~Create_func_maketime() {}
1092
 
};
1093
 
 
1094
 
 
1095
1074
class Create_func_make_set : public Create_native_func
1096
1075
{
1097
1076
public:
1340
1319
  virtual ~Create_func_rtrim() {}
1341
1320
};
1342
1321
 
1343
 
 
1344
 
class Create_func_sec_to_time : public Create_func_arg1
1345
 
{
1346
 
public:
1347
 
  using Create_func_arg1::create;
1348
 
 
1349
 
  virtual Item *create(Session *session, Item *arg1);
1350
 
 
1351
 
  static Create_func_sec_to_time s_singleton;
1352
 
 
1353
 
protected:
1354
 
  Create_func_sec_to_time() {}
1355
 
  virtual ~Create_func_sec_to_time() {}
1356
 
};
1357
 
 
1358
 
 
1359
1322
class Create_func_sign : public Create_func_arg1
1360
1323
{
1361
1324
public:
1416
1379
};
1417
1380
 
1418
1381
 
1419
 
class Create_func_str_to_date : public Create_func_arg2
1420
 
{
1421
 
public:
1422
 
  using Create_func_arg2::create;
1423
 
 
1424
 
  virtual Item *create(Session *session, Item *arg1, Item *arg2);
1425
 
 
1426
 
  static Create_func_str_to_date s_singleton;
1427
 
 
1428
 
protected:
1429
 
  Create_func_str_to_date() {}
1430
 
  virtual ~Create_func_str_to_date() {}
1431
 
};
1432
 
 
1433
 
 
1434
1382
class Create_func_strcmp : public Create_func_arg2
1435
1383
{
1436
1384
public:
1521
1469
};
1522
1470
 
1523
1471
 
1524
 
class Create_func_timediff : public Create_func_arg2
1525
 
{
1526
 
public:
1527
 
  using Create_func_arg2::create;
1528
 
 
1529
 
  virtual Item *create(Session *session, Item *arg1, Item *arg2);
1530
 
 
1531
 
  static Create_func_timediff s_singleton;
1532
 
 
1533
 
protected:
1534
 
  Create_func_timediff() {}
1535
 
  virtual ~Create_func_timediff() {}
1536
 
};
1537
 
 
1538
 
 
1539
1472
class Create_func_to_days : public Create_func_arg1
1540
1473
{
1541
1474
public:
2564
2497
}
2565
2498
 
2566
2499
 
2567
 
Create_func_maketime Create_func_maketime::s_singleton;
2568
 
 
2569
 
Item*
2570
 
Create_func_maketime::create(Session *session, Item *arg1, Item *arg2, Item *arg3)
2571
 
{
2572
 
  return new (session->mem_root) Item_func_maketime(arg1, arg2, arg3);
2573
 
}
2574
 
 
2575
 
 
2576
2500
Create_func_make_set Create_func_make_set::s_singleton;
2577
2501
 
2578
2502
Item*
2788
2712
}
2789
2713
 
2790
2714
 
2791
 
Create_func_sec_to_time Create_func_sec_to_time::s_singleton;
2792
 
 
2793
 
Item*
2794
 
Create_func_sec_to_time::create(Session *session, Item *arg1)
2795
 
{
2796
 
  return new (session->mem_root) Item_func_sec_to_time(arg1);
2797
 
}
2798
 
 
2799
 
 
2800
2715
Create_func_sign Create_func_sign::s_singleton;
2801
2716
 
2802
2717
Item*
2852
2767
}
2853
2768
 
2854
2769
 
2855
 
Create_func_str_to_date Create_func_str_to_date::s_singleton;
2856
 
 
2857
 
Item*
2858
 
Create_func_str_to_date::create(Session *session, Item *arg1, Item *arg2)
2859
 
{
2860
 
  return new (session->mem_root) Item_func_str_to_date(arg1, arg2);
2861
 
}
2862
 
 
2863
 
 
2864
2770
Create_func_strcmp Create_func_strcmp::s_singleton;
2865
2771
 
2866
2772
Item*
2905
2811
  return new (session->mem_root) Item_func_date_format(arg1, arg2, 1);
2906
2812
}
2907
2813
 
2908
 
 
2909
 
Create_func_time_to_sec Create_func_time_to_sec::s_singleton;
2910
 
 
2911
 
Item*
2912
 
Create_func_time_to_sec::create(Session *session, Item *arg1)
2913
 
{
2914
 
  return new (session->mem_root) Item_func_time_to_sec(arg1);
2915
 
}
2916
 
 
2917
 
 
2918
 
Create_func_timediff Create_func_timediff::s_singleton;
2919
 
 
2920
 
Item*
2921
 
Create_func_timediff::create(Session *session, Item *arg1, Item *arg2)
2922
 
{
2923
 
  return new (session->mem_root) Item_func_timediff(arg1, arg2);
2924
 
}
2925
 
 
2926
 
 
2927
2814
Create_func_to_days Create_func_to_days::s_singleton;
2928
2815
 
2929
2816
Item*
3091
2978
  { { C_STRING_WITH_LEN("LPAD") }, BUILDER(Create_func_lpad)},
3092
2979
  { { C_STRING_WITH_LEN("LTRIM") }, BUILDER(Create_func_ltrim)},
3093
2980
  { { C_STRING_WITH_LEN("MAKEDATE") }, BUILDER(Create_func_makedate)},
3094
 
  { { C_STRING_WITH_LEN("MAKETIME") }, BUILDER(Create_func_maketime)},
3095
2981
  { { C_STRING_WITH_LEN("MAKE_SET") }, BUILDER(Create_func_make_set)},
3096
2982
  { { C_STRING_WITH_LEN("MONTHNAME") }, BUILDER(Create_func_monthname)},
3097
2983
  { { C_STRING_WITH_LEN("NULLIF") }, BUILDER(Create_func_nullif)},
3110
2996
  { { C_STRING_WITH_LEN("ROW_COUNT") }, BUILDER(Create_func_row_count)},
3111
2997
  { { C_STRING_WITH_LEN("RPAD") }, BUILDER(Create_func_rpad)},
3112
2998
  { { C_STRING_WITH_LEN("RTRIM") }, BUILDER(Create_func_rtrim)},
3113
 
  { { C_STRING_WITH_LEN("SEC_TO_TIME") }, BUILDER(Create_func_sec_to_time)},
3114
2999
  { { C_STRING_WITH_LEN("SIGN") }, BUILDER(Create_func_sign)},
3115
3000
  { { C_STRING_WITH_LEN("SIN") }, BUILDER(Create_func_sin)},
3116
3001
  { { C_STRING_WITH_LEN("SPACE") }, BUILDER(Create_func_space)},
3117
3002
  { { C_STRING_WITH_LEN("SQRT") }, BUILDER(Create_func_sqrt)},
3118
3003
  { { C_STRING_WITH_LEN("STRCMP") }, BUILDER(Create_func_strcmp)},
3119
 
  { { C_STRING_WITH_LEN("STR_TO_DATE") }, BUILDER(Create_func_str_to_date)},
3120
3004
  { { C_STRING_WITH_LEN("SUBSTRING_INDEX") }, BUILDER(Create_func_substr_index)},
3121
3005
  { { C_STRING_WITH_LEN("SUBTIME") }, BUILDER(Create_func_subtime)},
3122
3006
  { { C_STRING_WITH_LEN("TAN") }, BUILDER(Create_func_tan)},
3123
 
  { { C_STRING_WITH_LEN("TIMEDIFF") }, BUILDER(Create_func_timediff)},
3124
3007
  { { 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
3008
  { { C_STRING_WITH_LEN("TO_DAYS") }, BUILDER(Create_func_to_days)},
3127
3009
  { { C_STRING_WITH_LEN("UCASE") }, BUILDER(Create_func_ucase)},
3128
3010
  { { C_STRING_WITH_LEN("UNHEX") }, BUILDER(Create_func_unhex)},
3212
3094
  case ITEM_CAST_DATE:
3213
3095
    res= new (session->mem_root) Item_date_typecast(a);
3214
3096
    break;
3215
 
  case ITEM_CAST_TIME:
3216
 
    res= new (session->mem_root) Item_time_typecast(a);
3217
 
    break;
3218
3097
  case ITEM_CAST_DATETIME:
3219
3098
    res= new (session->mem_root) Item_datetime_typecast(a);
3220
3099
    break;