29
30
List<my_var> var_list;
30
31
select_dumpvar() { var_list.empty(); row_count= 0;}
31
32
~select_dumpvar() {}
32
int prepare(List<Item> &list, Select_Lex_Unit *u);
33
bool send_data(List<Item> &items);
34
int prepare(List<Item> &list, Select_Lex_Unit *u)
38
if (var_list.elements != list.elements)
40
my_message(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
41
ER(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT), MYF(0));
53
bool send_data(List<Item> &items)
55
List_iterator_fast<my_var> var_li(var_list);
56
List_iterator<Item> it(items);
60
if (unit->offset_limit_cnt)
61
{ // using limit offset,count
62
unit->offset_limit_cnt--;
67
my_message(ER_TOO_MANY_ROWS, ER(ER_TOO_MANY_ROWS), MYF(0));
70
while ((mv= var_li++) && (item= it++))
74
Item_func_set_user_var *suv= new Item_func_set_user_var(mv->s, item);
75
suv->fix_fields(session, 0);
80
return(session->is_error());
86
push_warning(session, DRIZZLE_ERROR::WARN_LEVEL_WARN,
87
ER_SP_FETCH_NO_DATA, ER(ER_SP_FETCH_NO_DATA));
89
In order to remember the value of affected rows for ROW_COUNT()
90
function, SELECT INTO has to have an own SQLCOM.
91
TODO: split from SQLCOM_SELECT
93
session->my_ok(row_count);
38
99
#endif /* DRIZZLED_SELECT_DUMPVAR_H */