item_create.cc
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:7k
源码类别:

MySQL数据库

开发平台:

Visual C++

  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. /* Functions to create an item. Used by lex.h */
  17. #include "mysql_priv.h"
  18. #ifndef M_PI
  19. #define M_PI 3.14159265358979323846
  20. #endif
  21. Item *create_func_abs(Item* a)
  22. {
  23.   return new Item_func_abs(a);
  24. }
  25. Item *create_func_acos(Item* a)
  26. {
  27.   return new Item_func_acos(a);
  28. }
  29. Item *create_func_ascii(Item* a)
  30. {
  31.   return new Item_func_ascii(a);
  32. }
  33. Item *create_func_ord(Item* a)
  34. {
  35.   return new Item_func_ord(a);
  36. }
  37. Item *create_func_asin(Item* a)
  38. {
  39.   return new Item_func_asin(a);
  40. }
  41. Item *create_func_bin(Item* a)
  42. {
  43.   return new Item_func_conv(a,new Item_int((int32) 10,2),
  44.     new Item_int((int32) 2,1));
  45. }
  46. Item *create_func_bit_count(Item* a)
  47. {
  48.   return new Item_func_bit_count(a);
  49. }
  50. Item *create_func_ceiling(Item* a)
  51. {
  52.   return new Item_func_ceiling(a);
  53. }
  54. Item *create_func_connection_id(void)
  55. {
  56.   return new Item_int("CONNECTION_ID()",(longlong) current_thd->thread_id,10);
  57. }
  58. Item *create_func_conv(Item* a, Item *b, Item *c)
  59. {
  60.   return new Item_func_conv(a,b,c);
  61. }
  62. Item *create_func_cos(Item* a)
  63. {
  64.   return new Item_func_cos(a);
  65. }
  66. Item *create_func_cot(Item* a)
  67. {
  68.   return new Item_func_div(new Item_int((char*) "1",1,1),
  69.    new Item_func_tan(a));
  70. }
  71. Item *create_func_date_format(Item* a,Item *b)
  72. {
  73.   return new Item_func_date_format(a,b,0);
  74. }
  75. Item *create_func_dayofmonth(Item* a)
  76. {
  77.   return new Item_func_dayofmonth(a);
  78. }
  79. Item *create_func_dayofweek(Item* a)
  80. {
  81.   return new Item_func_weekday(new Item_func_to_days(a),1);
  82. }
  83. Item *create_func_dayofyear(Item* a)
  84. {
  85.   return new Item_func_dayofyear(a);
  86. }
  87. Item *create_func_dayname(Item* a)
  88. {
  89.   return new Item_func_dayname(new Item_func_to_days(a));
  90. }
  91. Item *create_func_degrees(Item *a)
  92. {
  93.   return new Item_func_units((char*) "degrees",a,180/M_PI,0.0);
  94. }
  95. Item *create_func_exp(Item* a)
  96. {
  97.   return new Item_func_exp(a);
  98. }
  99. Item *create_func_find_in_set(Item* a, Item *b)
  100. {
  101.   return new Item_func_find_in_set(a, b);
  102. }
  103. Item *create_func_floor(Item* a)
  104. {
  105.   return new Item_func_floor(a);
  106. }
  107. Item *create_func_from_days(Item* a)
  108. {
  109.   return new Item_func_from_days(a);
  110. }
  111. Item *create_func_get_lock(Item* a, Item *b)
  112. {
  113.   return new Item_func_get_lock(a, b);
  114. }
  115. Item *create_func_hex(Item *a)
  116. {
  117.   return new Item_func_conv(a,new Item_int((int32) 10,2),
  118.     new Item_int((int32) 16,2));
  119. }
  120. Item *create_func_inet_ntoa(Item* a)
  121. {
  122.   return new Item_func_inet_ntoa(a);
  123. }
  124. Item *create_func_inet_aton(Item* a)
  125. {
  126.   return new Item_func_inet_aton(a);
  127. }
  128. Item *create_func_ifnull(Item* a, Item *b)
  129. {
  130.   return new Item_func_ifnull(a,b);
  131. }
  132. Item *create_func_nullif(Item* a, Item *b)
  133. {
  134.   return new Item_func_nullif(a,b);
  135. }
  136. Item *create_func_locate(Item* a, Item *b)
  137. {
  138.   return new Item_func_locate(b,a);
  139. }
  140. Item *create_func_instr(Item* a, Item *b)
  141. {
  142.   return new Item_func_locate(a,b);
  143. }
  144. Item *create_func_isnull(Item* a)
  145. {
  146.   return new Item_func_isnull(a);
  147. }
  148. Item *create_func_lcase(Item* a)
  149. {
  150.   return new Item_func_lcase(a);
  151. }
  152. Item *create_func_length(Item* a)
  153. {
  154.   return new Item_func_length(a);
  155. }
  156. Item *create_func_char_length(Item* a)
  157. {
  158.   return new Item_func_char_length(a);
  159. }
  160. Item *create_func_log(Item* a)
  161. {
  162.   return new Item_func_log(a);
  163. }
  164. Item *create_func_log10(Item* a)
  165. {
  166.   return new Item_func_log10(a);
  167. }
  168. Item *create_func_lpad(Item* a, Item *b, Item *c)
  169. {
  170.   return new Item_func_lpad(a,b,c);
  171. }
  172. Item *create_func_ltrim(Item* a)
  173. {
  174.   return new Item_func_ltrim(a,new Item_string(" ",1));
  175. }
  176. Item *create_func_md5(Item* a)
  177. {
  178.   return new Item_func_md5(a);
  179. }
  180. Item *create_func_mod(Item* a, Item *b)
  181. {
  182.   return new Item_func_mod(a,b);
  183. }
  184. Item *create_func_monthname(Item* a)
  185. {
  186.   return new Item_func_monthname(a);
  187. }
  188. Item *create_func_month(Item* a)
  189. {
  190.   return new Item_func_month(a);
  191. }
  192. Item *create_func_oct(Item *a)
  193. {
  194.   return new Item_func_conv(a,new Item_int((int32) 10,2),
  195.     new Item_int((int32) 8,1));
  196. }
  197. Item *create_func_period_add(Item* a, Item *b)
  198. {
  199.   return new Item_func_period_add(a,b);
  200. }
  201. Item *create_func_period_diff(Item* a, Item *b)
  202. {
  203.   return new Item_func_period_diff(a,b);
  204. }
  205. Item *create_func_pi(void)
  206. {
  207.   return new Item_real("PI()",M_PI,6,8);
  208. }
  209. Item *create_func_pow(Item* a, Item *b)
  210. {
  211.   return new Item_func_pow(a,b);
  212. }
  213. Item *create_func_quarter(Item* a)
  214. {
  215.   return new Item_func_quarter(a);
  216. }
  217. Item *create_func_radians(Item *a)
  218. {
  219.   return new Item_func_units((char*) "radians",a,M_PI/180,0.0);
  220. }
  221. Item *create_func_release_lock(Item* a)
  222. {
  223.   return new Item_func_release_lock(a);
  224. }
  225. Item *create_func_repeat(Item* a, Item *b)
  226. {
  227.   return new Item_func_repeat(a,b);
  228. }
  229. Item *create_func_reverse(Item* a)
  230. {
  231.   return new Item_func_reverse(a);
  232. }
  233. Item *create_func_rpad(Item* a, Item *b, Item *c)
  234. {
  235.   return new Item_func_rpad(a,b,c);
  236. }
  237. Item *create_func_rtrim(Item* a)
  238. {
  239.   return new Item_func_rtrim(a,new Item_string(" ",1));
  240. }
  241. Item *create_func_sec_to_time(Item* a)
  242. {
  243.   return new Item_func_sec_to_time(a);
  244. }
  245. Item *create_func_sign(Item* a)
  246. {
  247.   return new Item_func_sign(a);
  248. }
  249. Item *create_func_sin(Item* a)
  250. {
  251.   return new Item_func_sin(a);
  252. }
  253. Item *create_func_space(Item *a)
  254. {
  255.   return new Item_func_repeat(new Item_string(" ",1),a);
  256. }
  257. Item *create_func_soundex(Item* a)
  258. {
  259.   return new Item_func_soundex(a);
  260. }
  261. Item *create_func_sqrt(Item* a)
  262. {
  263.   return new Item_func_sqrt(a);
  264. }
  265. Item *create_func_strcmp(Item* a, Item *b)
  266. {
  267.   return new Item_func_strcmp(a,b);
  268. }
  269. Item *create_func_tan(Item* a)
  270. {
  271.   return new Item_func_tan(a);
  272. }
  273. Item *create_func_time_format(Item *a, Item *b)
  274. {
  275.   return new Item_func_date_format(a,b,1);
  276. }
  277. Item *create_func_time_to_sec(Item* a)
  278. {
  279.   return new Item_func_time_to_sec(a);
  280. }
  281. Item *create_func_to_days(Item* a)
  282. {
  283.   return new Item_func_to_days(a);
  284. }
  285. Item *create_func_ucase(Item* a)
  286. {
  287.   return new Item_func_ucase(a);
  288. }
  289. Item *create_func_version(void)
  290. {
  291.   return new Item_string(NullS,server_version, (uint) strlen(server_version));
  292. }
  293. Item *create_func_weekday(Item* a)
  294. {
  295.   return new Item_func_weekday(new Item_func_to_days(a),0);
  296. }
  297. Item *create_func_year(Item* a)
  298. {
  299.   return new Item_func_year(a);
  300. }
  301. Item *create_load_file(Item* a)
  302. {
  303.   return new Item_load_file(a);
  304. }
  305. Item *create_wait_for_master_pos(Item* a, Item* b)
  306. {
  307.   return new Item_master_pos_wait(a, b);
  308. }