~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/create.cc

  • Committer: Olaf van der Spek
  • Date: 2011-06-27 11:43:28 UTC
  • mto: This revision was merged to the branch mainline in revision 2350.
  • Revision ID: olafvdspek@gmail.com-20110627114328-2adwmfyjakkrlhqn
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
110
110
class Create_native_func : public Create_func
111
111
{
112
112
public:
113
 
  virtual Item *create(Session *session, LEX_STRING name, List<Item> *item_list);
 
113
  virtual Item *create(Session*, LEX_STRING name, List<Item>*);
114
114
 
115
115
  /**
116
116
    Builder method, with no arguments.
119
119
    @param item_list The function parameters, none of which are named
120
120
    @return An item representing the function call
121
121
  */
122
 
  virtual Item *create_native(Session *session, LEX_STRING name,
123
 
                              List<Item> *item_list) = 0;
 
122
  virtual Item *create_native(Session*, LEX_STRING name, List<Item>*) = 0;
124
123
 
125
124
protected:
126
125
  /** Constructor. */
127
126
  Create_native_func() {}
128
 
  /** Destructor. */
129
 
  virtual ~Create_native_func() {}
130
127
};
131
128
 
132
129
 
149
146
protected:
150
147
  /** Constructor. */
151
148
  Create_func_arg0() {}
152
 
  /** Destructor. */
153
 
  virtual ~Create_func_arg0() {}
154
149
};
155
150
 
156
151
 
174
169
protected:
175
170
  /** Constructor. */
176
171
  Create_func_arg1() {}
177
 
  /** Destructor. */
178
 
  virtual ~Create_func_arg1() {}
179
172
};
180
173
 
181
174
 
200
193
protected:
201
194
  /** Constructor. */
202
195
  Create_func_arg2() {}
203
 
  /** Destructor. */
204
 
  virtual ~Create_func_arg2() {}
205
196
};
206
197
 
207
198
 
227
218
protected:
228
219
  /** Constructor. */
229
220
  Create_func_arg3() {}
230
 
  /** Destructor. */
231
 
  virtual ~Create_func_arg3() {}
232
221
};
233
222
 
234
223
 
254
243
 
255
244
protected:
256
245
  Create_func_bin() {}
257
 
  virtual ~Create_func_bin() {}
258
246
};
259
247
 
260
248
class Create_func_concat : public Create_native_func
266
254
 
267
255
protected:
268
256
  Create_func_concat() {}
269
 
  virtual ~Create_func_concat() {}
270
257
};
271
258
 
272
259
 
279
266
 
280
267
protected:
281
268
  Create_func_concat_ws() {}
282
 
  virtual ~Create_func_concat_ws() {}
283
269
};
284
270
 
285
271
 
294
280
 
295
281
protected:
296
282
  Create_func_conv() {}
297
 
  virtual ~Create_func_conv() {}
298
283
};
299
284
 
300
285
class Create_func_cot : public Create_func_arg1
308
293
 
309
294
protected:
310
295
  Create_func_cot() {}
311
 
  virtual ~Create_func_cot() {}
312
296
};
313
297
 
314
298
class Create_func_date_format : public Create_func_arg2
322
306
 
323
307
protected:
324
308
  Create_func_date_format() {}
325
 
  virtual ~Create_func_date_format() {}
326
309
};
327
310
 
328
311
 
337
320
 
338
321
protected:
339
322
  Create_func_datediff() {}
340
 
  virtual ~Create_func_datediff() {}
341
323
};
342
324
 
343
325
 
352
334
 
353
335
protected:
354
336
  Create_func_dayname() {}
355
 
  virtual ~Create_func_dayname() {}
356
337
};
357
338
 
358
339
 
367
348
 
368
349
protected:
369
350
  Create_func_dayofmonth() {}
370
 
  virtual ~Create_func_dayofmonth() {}
371
351
};
372
352
 
373
353
 
382
362
 
383
363
protected:
384
364
  Create_func_dayofweek() {}
385
 
  virtual ~Create_func_dayofweek() {}
386
365
};
387
366
 
388
367
 
397
376
 
398
377
protected:
399
378
  Create_func_dayofyear() {}
400
 
  virtual ~Create_func_dayofyear() {}
401
379
};
402
380
 
403
381
 
412
390
 
413
391
protected:
414
392
  Create_func_decode() {}
415
 
  virtual ~Create_func_decode() {}
416
393
};
417
394
 
418
395
 
427
404
 
428
405
protected:
429
406
  Create_func_degrees() {}
430
 
  virtual ~Create_func_degrees() {}
431
407
};
432
408
 
433
409
class Create_func_export_set : public Create_native_func
440
416
 
441
417
protected:
442
418
  Create_func_export_set() {}
443
 
  virtual ~Create_func_export_set() {}
444
419
};
445
420
 
446
421
 
453
428
 
454
429
protected:
455
430
  Create_func_field() {}
456
 
  virtual ~Create_func_field() {}
457
431
};
458
432
 
459
433
 
468
442
 
469
443
protected:
470
444
  Create_func_find_in_set() {}
471
 
  virtual ~Create_func_find_in_set() {}
472
445
};
473
446
 
474
447
class Create_func_found_rows : public Create_func_arg0
482
455
 
483
456
protected:
484
457
  Create_func_found_rows() {}
485
 
  virtual ~Create_func_found_rows() {}
486
458
};
487
459
 
488
460
 
497
469
 
498
470
protected:
499
471
  Create_func_from_days() {}
500
 
  virtual ~Create_func_from_days() {}
501
472
};
502
473
 
503
474
 
510
481
 
511
482
protected:
512
483
  Create_func_from_unixtime() {}
513
 
  virtual ~Create_func_from_unixtime() {}
514
484
};
515
485
 
516
486
 
523
493
 
524
494
protected:
525
495
  Create_func_greatest() {}
526
 
  virtual ~Create_func_greatest() {}
527
496
};
528
497
 
529
498
 
538
507
 
539
508
protected:
540
509
  Create_func_ifnull() {}
541
 
  virtual ~Create_func_ifnull() {}
542
510
};
543
511
 
544
512
 
553
521
 
554
522
protected:
555
523
  Create_func_instr() {}
556
 
  virtual ~Create_func_instr() {}
557
524
};
558
525
 
559
526
 
568
535
 
569
536
protected:
570
537
  Create_func_isnull() {}
571
 
  virtual ~Create_func_isnull() {}
572
538
};
573
539
 
574
540
 
583
549
 
584
550
protected:
585
551
  Create_func_last_day() {}
586
 
  virtual ~Create_func_last_day() {}
587
552
};
588
553
 
589
554
 
596
561
 
597
562
protected:
598
563
  Create_func_last_insert_id() {}
599
 
  virtual ~Create_func_last_insert_id() {}
600
564
};
601
565
 
602
566
 
611
575
 
612
576
protected:
613
577
  Create_func_lcase() {}
614
 
  virtual ~Create_func_lcase() {}
615
578
};
616
579
 
617
580
 
624
587
 
625
588
protected:
626
589
  Create_func_least() {}
627
 
  virtual ~Create_func_least() {}
628
590
};
629
591
 
630
592
class Create_func_load_file : public Create_func_arg1
638
600
 
639
601
protected:
640
602
  Create_func_load_file() {}
641
 
  virtual ~Create_func_load_file() {}
642
603
};
643
604
 
644
605
 
651
612
 
652
613
protected:
653
614
  Create_func_locate() {}
654
 
  virtual ~Create_func_locate() {}
655
615
};
656
616
 
657
617
 
666
626
 
667
627
protected:
668
628
  Create_func_lpad() {}
669
 
  virtual ~Create_func_lpad() {}
670
629
};
671
630
 
672
631
 
681
640
 
682
641
protected:
683
642
  Create_func_ltrim() {}
684
 
  virtual ~Create_func_ltrim() {}
685
643
};
686
644
 
687
645
 
696
654
 
697
655
protected:
698
656
  Create_func_makedate() {}
699
 
  virtual ~Create_func_makedate() {}
700
657
};
701
658
 
702
659
class Create_func_make_set : public Create_native_func
708
665
 
709
666
protected:
710
667
  Create_func_make_set() {}
711
 
  virtual ~Create_func_make_set() {}
712
668
};
713
669
 
714
670
 
723
679
 
724
680
protected:
725
681
  Create_func_monthname() {}
726
 
  virtual ~Create_func_monthname() {}
727
682
};
728
683
 
729
684
 
738
693
 
739
694
protected:
740
695
  Create_func_name_const() {}
741
 
  virtual ~Create_func_name_const() {}
742
696
};
743
697
 
744
698
 
753
707
 
754
708
protected:
755
709
  Create_func_nullif() {}
756
 
  virtual ~Create_func_nullif() {}
757
710
};
758
711
 
759
712
 
768
721
 
769
722
protected:
770
723
  Create_func_oct() {}
771
 
  virtual ~Create_func_oct() {}
772
724
};
773
725
 
774
726
class Create_func_period_add : public Create_func_arg2
782
734
 
783
735
protected:
784
736
  Create_func_period_add() {}
785
 
  virtual ~Create_func_period_add() {}
786
737
};
787
738
 
788
739
 
797
748
 
798
749
protected:
799
750
  Create_func_period_diff() {}
800
 
  virtual ~Create_func_period_diff() {}
801
751
};
802
752
 
803
753
 
812
762
 
813
763
protected:
814
764
  Create_func_pi() {}
815
 
  virtual ~Create_func_pi() {}
816
765
};
817
766
 
818
767
class Create_func_radians : public Create_func_arg1
826
775
 
827
776
protected:
828
777
  Create_func_radians() {}
829
 
  virtual ~Create_func_radians() {}
830
778
};
831
779
 
832
780
 
839
787
 
840
788
protected:
841
789
  Create_func_round() {}
842
 
  virtual ~Create_func_round() {}
843
790
};
844
791
 
845
792
 
854
801
 
855
802
protected:
856
803
  Create_func_row_count() {}
857
 
  virtual ~Create_func_row_count() {}
858
804
};
859
805
 
860
806
 
869
815
 
870
816
protected:
871
817
  Create_func_rpad() {}
872
 
  virtual ~Create_func_rpad() {}
873
818
};
874
819
 
875
820
 
884
829
 
885
830
protected:
886
831
  Create_func_rtrim() {}
887
 
  virtual ~Create_func_rtrim() {}
888
832
};
889
833
 
890
834
class Create_func_sign : public Create_func_arg1
898
842
 
899
843
protected:
900
844
  Create_func_sign() {}
901
 
  virtual ~Create_func_sign() {}
902
845
};
903
846
 
904
847
class Create_func_space : public Create_func_arg1
912
855
 
913
856
protected:
914
857
  Create_func_space() {}
915
 
  virtual ~Create_func_space() {}
916
858
};
917
859
 
918
860
class Create_func_strcmp : public Create_func_arg2
926
868
 
927
869
protected:
928
870
  Create_func_strcmp() {}
929
 
  virtual ~Create_func_strcmp() {}
930
871
};
931
872
 
932
873
 
941
882
 
942
883
protected:
943
884
  Create_func_tan() {}
944
 
  virtual ~Create_func_tan() {}
945
885
};
946
886
 
947
887
 
956
896
 
957
897
protected:
958
898
  Create_func_time_format() {}
959
 
  virtual ~Create_func_time_format() {}
960
899
};
961
900
 
962
901
 
971
910
 
972
911
protected:
973
912
  Create_func_time_to_sec() {}
974
 
  virtual ~Create_func_time_to_sec() {}
975
913
};
976
914
 
977
915
 
986
924
 
987
925
protected:
988
926
  Create_func_to_days() {}
989
 
  virtual ~Create_func_to_days() {}
990
927
};
991
928
 
992
929
 
1001
938
 
1002
939
protected:
1003
940
  Create_func_ucase() {}
1004
 
  virtual ~Create_func_ucase() {}
1005
941
};
1006
942
 
1007
943
 
1014
950
 
1015
951
protected:
1016
952
  Create_func_unix_timestamp() {}
1017
 
  virtual ~Create_func_unix_timestamp() {}
1018
953
};
1019
954
 
1020
955
 
1029
964
 
1030
965
protected:
1031
966
  Create_func_weekday() {}
1032
 
  virtual ~Create_func_weekday() {}
1033
967
};
1034
968
 
1035
969
/*
1216
1150
Item*
1217
1151
Create_func_bin::create(Session *session, Item *arg1)
1218
1152
{
1219
 
  Item *i10= new (session->mem) Item_int((int32_t) 10,2);
1220
 
  Item *i2= new (session->mem) Item_int((int32_t) 2,1);
 
1153
  Item *i10= new (session->mem) Item_int(10, 2);
 
1154
  Item *i2= new (session->mem) Item_int(2, 1);
1221
1155
  return new (session->mem) Item_func_conv(arg1, i10, i2);
1222
1156
}
1223
1157
 
1224
1158
Create_func_concat Create_func_concat::s_singleton;
1225
1159
 
1226
1160
Item*
1227
 
Create_func_concat::create_native(Session *session, LEX_STRING name,
1228
 
                                  List<Item> *item_list)
 
1161
Create_func_concat::create_native(Session *session, LEX_STRING name, List<Item> *item_list)
1229
1162
{
1230
1163
  int arg_count= 0;
1231
1164
 
1277
1210
Item*
1278
1211
Create_func_cot::create(Session *session, Item *arg1)
1279
1212
{
1280
 
  Item *i1= new (session->mem) Item_int((char*) "1", 1, 1);
 
1213
  Item *i1= new (session->mem) Item_int("1", 1, 1);
1281
1214
  Item *i2= new (session->mem) Item_func_tan(arg1);
1282
1215
  return new (session->mem) Item_func_div(session, i1, i2);
1283
1216
}
1344
1277
Item*
1345
1278
Create_func_degrees::create(Session *session, Item *arg1)
1346
1279
{
1347
 
  return new (session->mem) Item_func_units((char*) "degrees", arg1,
 
1280
  return new (session->mem) Item_func_units("degrees", arg1,
1348
1281
                                             180/M_PI, 0.0);
1349
1282
}
1350
1283
 
1763
1696
Item*
1764
1697
Create_func_radians::create(Session *session, Item *arg1)
1765
1698
{
1766
 
  return new (session->mem) Item_func_units((char*) "radians", arg1,
 
1699
  return new (session->mem) Item_func_units("radians", arg1,
1767
1700
                                             M_PI/180, 0.0);
1768
1701
}
1769
1702
 
1783
1716
  case 1:
1784
1717
  {
1785
1718
    Item *param_1= item_list->pop();
1786
 
    Item *i0 = new (session->mem) Item_int((char*)"0", 0, 1);
 
1719
    Item *i0 = new (session->mem) Item_int("0", 0, 1);
1787
1720
    func= new (session->mem) Item_func_round(param_1, i0, 0);
1788
1721
    break;
1789
1722
  }