944
943
Item* Create_udf_func::create(Session *session, const plugin::Function *udf, List<Item> *item_list)
947
int arg_count= item_list ? item_list->size() : 0;
948
946
Item_func* func= (*udf)(&session->mem);
949
if (!func->check_argument_count(arg_count))
947
if (!func->check_argument_count(item_list ? item_list->size() : 0))
951
949
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), func->func_name());
1159
1157
Item* Create_func_last_insert_id::create_native(Session *session, str_ref name, List<Item> *item_list)
1161
1159
int arg_count= item_list ? item_list->size() : 0;
1162
switch (arg_count) {
1165
1164
return new (session->mem) Item_func_last_insert_id();
1169
1168
Item *param_1= item_list->pop();
1170
1169
return new (session->mem) Item_func_last_insert_id(param_1);
1173
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1172
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1179
1176
Create_func_lcase Create_func_lcase::s_singleton;
1180
1177
Create_func_least Create_func_least::s_singleton;
1182
1179
Item* Create_func_least::create_native(Session *session, str_ref name, List<Item> *item_list)
1184
int arg_count= item_list ? item_list->size() : 0;
1187
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1191
return new (session->mem) Item_func_min(*item_list);
1181
if (item_list && item_list->size() >= 2)
1182
return new (session->mem) Item_func_min(*item_list);
1183
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1194
1187
Create_func_load_file Create_func_load_file::s_singleton;
1195
1188
Create_func_locate Create_func_locate::s_singleton;
1198
Create_func_locate::create_native(Session *session, str_ref name,
1199
List<Item> *item_list)
1190
Item* Create_func_locate::create_native(Session *session, str_ref name, List<Item> *item_list)
1201
int arg_count= item_list ? item_list->size() : 0;
1192
switch (item_list ? item_list->size() : 0)
1216
1206
/* Yes, parameters in that order : 2, 1, 3 */
1217
1207
return new (session->mem) Item_func_locate(param_2, param_1, param_3);
1220
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1210
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1225
1214
Create_func_make_set Create_func_make_set::s_singleton;
1228
Create_func_make_set::create_native(Session *session_arg, str_ref name,
1229
List<Item> *item_list)
1216
Item* Create_func_make_set::create_native(Session *session_arg, str_ref name, List<Item> *item_list)
1231
int arg_count= item_list ? item_list->size() : 0;
1218
if (not item_list || item_list->size() < 2)
1234
1220
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1242
1228
Create_func_oct Create_func_oct::s_singleton;
1245
Create_func_oct::create(Session *session, Item *arg1)
1230
Item* Create_func_oct::create(Session *session, Item *arg1)
1247
1232
Item *i10= new (session->mem) Item_int((int32_t) 10,2);
1248
1233
Item *i8= new (session->mem) Item_int((int32_t) 8,1);
1260
1245
switch (item_list ? item_list->size() : 0)
1264
Item *param_1= item_list->pop();
1265
Item *i0 = new (session->mem) Item_int("0", 0, 1);
1266
return new (session->mem) Item_func_round(param_1, i0, 0);
1249
Item *param_1= item_list->pop();
1250
Item *i0 = new (session->mem) Item_int("0", 0, 1);
1251
return new (session->mem) Item_func_round(param_1, i0, 0);
1270
Item *param_1= item_list->pop();
1271
Item *param_2= item_list->pop();
1272
return new (session->mem) Item_func_round(param_1, param_2, 0);
1275
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1255
Item *param_1= item_list->pop();
1256
Item *param_2= item_list->pop();
1257
return new (session->mem) Item_func_round(param_1, param_2, 0);
1260
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1280
1264
Create_func_space Create_func_space::s_singleton;
1283
Create_func_space::create(Session *session, Item *arg1)
1266
Item* Create_func_space::create(Session *session, Item *arg1)
1286
1269
TODO: Fix Bug#23637
1313
1296
return new (session->mem) Item_func_unix_timestamp();
1315
1298
return new (session->mem) Item_func_unix_timestamp(item_list->pop());
1317
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());
1300
my_error(ER_WRONG_PARAMCOUNT_TO_FUNCTION, MYF(0), name.data());