~mysql/mysql-server/mysql-6.0

« back to all changes in this revision

Viewing changes to sql/item_create.cc

  • Committer: bk at mysql
  • Date: 2000-07-31 19:29:14 UTC
  • Revision ID: sp1r-bk@work.mysql.com-20000731192914-08846
Import changeset

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
 
2
   
 
3
   This program is free software; you can redistribute it and/or modify
 
4
   it under the terms of the GNU General Public License as published by
 
5
   the Free Software Foundation; either version 2 of the License, or
 
6
   (at your option) any later version.
 
7
   
 
8
   This program is distributed in the hope that it will be useful,
 
9
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
   GNU General Public License for more details.
 
12
   
 
13
   You should have received a copy of the GNU General Public License
 
14
   along with this program; if not, write to the Free Software
 
15
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
16
 
 
17
/* Functions to create an item. Used by lex.h */
 
18
 
 
19
#include "mysql_priv.h"
 
20
 
 
21
#ifndef M_PI
 
22
#define M_PI 3.14159265358979323846
 
23
#endif
 
24
 
 
25
Item *create_func_abs(Item* a)
 
26
{
 
27
  return new Item_func_abs(a);
 
28
}
 
29
 
 
30
Item *create_func_acos(Item* a)
 
31
{
 
32
  return new Item_func_acos(a);
 
33
}
 
34
 
 
35
Item *create_func_ascii(Item* a)
 
36
{
 
37
  return new Item_func_ascii(a);
 
38
}
 
39
 
 
40
Item *create_func_ord(Item* a)
 
41
{
 
42
  return new Item_func_ord(a);
 
43
}
 
44
 
 
45
Item *create_func_asin(Item* a)
 
46
{
 
47
  return new Item_func_asin(a);
 
48
}
 
49
 
 
50
Item *create_func_bin(Item* a)
 
51
{
 
52
  return new Item_func_conv(a,new Item_int((int32) 10,2),
 
53
                            new Item_int((int32) 2,1));
 
54
}
 
55
 
 
56
Item *create_func_bit_count(Item* a)
 
57
{
 
58
  return new Item_func_bit_count(a);
 
59
}
 
60
 
 
61
Item *create_func_ceiling(Item* a)
 
62
{
 
63
  return new Item_func_ceiling(a);
 
64
}
 
65
 
 
66
Item *create_func_connection_id(void)
 
67
{
 
68
  return new Item_int("CONNECTION_ID()",(longlong) current_thd->thread_id,10);
 
69
}
 
70
 
 
71
Item *create_func_conv(Item* a, Item *b, Item *c)
 
72
{
 
73
  return new Item_func_conv(a,b,c);
 
74
}
 
75
 
 
76
Item *create_func_cos(Item* a)
 
77
{
 
78
  return new Item_func_cos(a);
 
79
}
 
80
 
 
81
Item *create_func_cot(Item* a)
 
82
{
 
83
  return new Item_func_div(new Item_int((char*) "1",1,1),
 
84
                           new Item_func_tan(a));
 
85
}
 
86
 
 
87
Item *create_func_date_format(Item* a,Item *b)
 
88
{
 
89
  return new Item_func_date_format(a,b,0);
 
90
}
 
91
 
 
92
Item *create_func_dayofmonth(Item* a)
 
93
{
 
94
  return new Item_func_dayofmonth(a);
 
95
}
 
96
 
 
97
Item *create_func_dayofweek(Item* a)
 
98
{
 
99
  return new Item_func_weekday(new Item_func_to_days(a),1);
 
100
}
 
101
 
 
102
Item *create_func_dayofyear(Item* a)
 
103
{
 
104
  return new Item_func_dayofyear(a);
 
105
}
 
106
 
 
107
Item *create_func_dayname(Item* a)
 
108
{
 
109
  return new Item_func_dayname(new Item_func_to_days(a));
 
110
}
 
111
 
 
112
Item *create_func_degrees(Item *a)
 
113
{
 
114
  return new Item_func_units((char*) "degrees",a,180/M_PI,0.0);
 
115
}
 
116
 
 
117
Item *create_func_exp(Item* a)
 
118
{
 
119
  return new Item_func_exp(a);
 
120
}
 
121
 
 
122
Item *create_func_find_in_set(Item* a, Item *b)
 
123
{
 
124
  return new Item_func_find_in_set(a, b);
 
125
}
 
126
 
 
127
Item *create_func_floor(Item* a)
 
128
{
 
129
  return new Item_func_floor(a);
 
130
}
 
131
 
 
132
Item *create_func_from_days(Item* a)
 
133
{
 
134
  return new Item_func_from_days(a);
 
135
}
 
136
 
 
137
Item *create_func_get_lock(Item* a, Item *b)
 
138
{
 
139
  return new Item_func_get_lock(a, b);
 
140
}
 
141
 
 
142
Item *create_func_hex(Item *a)
 
143
{
 
144
  return new Item_func_conv(a,new Item_int((int32) 10,2),
 
145
                            new Item_int((int32) 16,2));
 
146
}
 
147
 
 
148
Item *create_func_inet_ntoa(Item* a)
 
149
{
 
150
  return new Item_func_inet_ntoa(a);
 
151
}
 
152
 
 
153
Item *create_func_inet_aton(Item* a)
 
154
{
 
155
  return new Item_func_inet_aton(a);
 
156
}
 
157
 
 
158
 
 
159
Item *create_func_ifnull(Item* a, Item *b)
 
160
{
 
161
  return new Item_func_ifnull(a,b);
 
162
}
 
163
 
 
164
Item *create_func_nullif(Item* a, Item *b)
 
165
{
 
166
  return new Item_func_nullif(a,b);
 
167
}
 
168
 
 
169
Item *create_func_locate(Item* a, Item *b)
 
170
{
 
171
  return new Item_func_locate(b,a);
 
172
}
 
173
 
 
174
Item *create_func_instr(Item* a, Item *b)
 
175
{
 
176
  return new Item_func_locate(a,b);
 
177
}
 
178
 
 
179
Item *create_func_isnull(Item* a)
 
180
{
 
181
  return new Item_func_isnull(a);
 
182
}
 
183
 
 
184
Item *create_func_lcase(Item* a)
 
185
{
 
186
  return new Item_func_lcase(a);
 
187
}
 
188
 
 
189
Item *create_func_length(Item* a)
 
190
{
 
191
  return new Item_func_length(a);
 
192
}
 
193
 
 
194
Item *create_func_char_length(Item* a)
 
195
{
 
196
  return new Item_func_char_length(a);
 
197
}
 
198
 
 
199
Item *create_func_log(Item* a)
 
200
{
 
201
  return new Item_func_log(a);
 
202
}
 
203
 
 
204
Item *create_func_log10(Item* a)
 
205
{
 
206
  return new Item_func_log10(a);
 
207
}
 
208
 
 
209
Item *create_func_lpad(Item* a, Item *b, Item *c)
 
210
{
 
211
  return new Item_func_lpad(a,b,c);
 
212
}
 
213
 
 
214
Item *create_func_ltrim(Item* a)
 
215
{
 
216
  return new Item_func_ltrim(a,new Item_string(" ",1));
 
217
}
 
218
 
 
219
Item *create_func_md5(Item* a)
 
220
{
 
221
  return new Item_func_md5(a);
 
222
}
 
223
 
 
224
Item *create_func_mod(Item* a, Item *b)
 
225
{
 
226
  return new Item_func_mod(a,b);
 
227
}
 
228
 
 
229
Item *create_func_monthname(Item* a)
 
230
{
 
231
  return new Item_func_monthname(a);
 
232
}
 
233
 
 
234
Item *create_func_month(Item* a)
 
235
{
 
236
  return new Item_func_month(a);
 
237
}
 
238
 
 
239
Item *create_func_oct(Item *a)
 
240
{
 
241
  return new Item_func_conv(a,new Item_int((int32) 10,2),
 
242
                            new Item_int((int32) 8,1));
 
243
}
 
244
 
 
245
Item *create_func_period_add(Item* a, Item *b)
 
246
{
 
247
  return new Item_func_period_add(a,b);
 
248
}
 
249
 
 
250
Item *create_func_period_diff(Item* a, Item *b)
 
251
{
 
252
  return new Item_func_period_diff(a,b);
 
253
}
 
254
 
 
255
Item *create_func_pi(void)
 
256
{
 
257
  return new Item_real("PI()",M_PI,6,8);
 
258
}
 
259
 
 
260
Item *create_func_pow(Item* a, Item *b)
 
261
{
 
262
  return new Item_func_pow(a,b);
 
263
}
 
264
 
 
265
Item *create_func_quarter(Item* a)
 
266
{
 
267
  return new Item_func_quarter(a);
 
268
}
 
269
 
 
270
Item *create_func_radians(Item *a)
 
271
{
 
272
  return new Item_func_units((char*) "radians",a,M_PI/180,0.0);
 
273
}
 
274
 
 
275
Item *create_func_release_lock(Item* a)
 
276
{
 
277
  return new Item_func_release_lock(a);
 
278
}
 
279
 
 
280
Item *create_func_repeat(Item* a, Item *b)
 
281
{
 
282
  return new Item_func_repeat(a,b);
 
283
}
 
284
 
 
285
Item *create_func_reverse(Item* a)
 
286
{
 
287
  return new Item_func_reverse(a);
 
288
}
 
289
 
 
290
Item *create_func_rpad(Item* a, Item *b, Item *c)
 
291
{
 
292
  return new Item_func_rpad(a,b,c);
 
293
}
 
294
 
 
295
Item *create_func_rtrim(Item* a)
 
296
{
 
297
  return new Item_func_rtrim(a,new Item_string(" ",1));
 
298
}
 
299
 
 
300
Item *create_func_sec_to_time(Item* a)
 
301
{
 
302
  return new Item_func_sec_to_time(a);
 
303
}
 
304
 
 
305
Item *create_func_sign(Item* a)
 
306
{
 
307
  return new Item_func_sign(a);
 
308
}
 
309
 
 
310
Item *create_func_sin(Item* a)
 
311
{
 
312
  return new Item_func_sin(a);
 
313
}
 
314
 
 
315
Item *create_func_space(Item *a)
 
316
{
 
317
  return new Item_func_repeat(new Item_string(" ",1),a);
 
318
}
 
319
 
 
320
Item *create_func_soundex(Item* a)
 
321
{
 
322
  return new Item_func_soundex(a);
 
323
}
 
324
 
 
325
Item *create_func_sqrt(Item* a)
 
326
{
 
327
  return new Item_func_sqrt(a);
 
328
}
 
329
 
 
330
Item *create_func_strcmp(Item* a, Item *b)
 
331
{
 
332
  return new Item_func_strcmp(a,b);
 
333
}
 
334
 
 
335
Item *create_func_tan(Item* a)
 
336
{
 
337
  return new Item_func_tan(a);
 
338
}
 
339
 
 
340
Item *create_func_time_format(Item *a, Item *b)
 
341
{
 
342
  return new Item_func_date_format(a,b,1);
 
343
}
 
344
 
 
345
Item *create_func_time_to_sec(Item* a)
 
346
{
 
347
  return new Item_func_time_to_sec(a);
 
348
}
 
349
 
 
350
Item *create_func_to_days(Item* a)
 
351
{
 
352
  return new Item_func_to_days(a);
 
353
}
 
354
 
 
355
Item *create_func_truncate (Item *a, Item *b)
 
356
{
 
357
  return new Item_func_round(a,b,1);
 
358
}
 
359
 
 
360
Item *create_func_ucase(Item* a)
 
361
{
 
362
  return new Item_func_ucase(a);
 
363
}
 
364
 
 
365
Item *create_func_version(void)
 
366
{
 
367
  return new Item_string(NullS,server_version, strlen(server_version));
 
368
}
 
369
 
 
370
Item *create_func_weekday(Item* a)
 
371
{
 
372
  return new Item_func_weekday(new Item_func_to_days(a),0);
 
373
}
 
374
 
 
375
Item *create_func_year(Item* a)
 
376
{
 
377
  return new Item_func_year(a);
 
378
}
 
379
 
 
380
Item *create_load_file(Item* a)
 
381
{
 
382
  return new Item_load_file(a);
 
383
}