1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems, Inc.
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; version 2 of the License.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
#include <drizzled/select_dumpvar.h>
23
#include <drizzled/sql_lex.h>
24
#include <drizzled/session.h>
28
bool select_dumpvar::send_data(List<Item> &items)
30
std::vector<var *>::const_iterator iter= var_list.begin();
32
List_iterator<Item> it(items);
36
if (unit->offset_limit_cnt)
37
{ // using limit offset,count
38
unit->offset_limit_cnt--;
43
my_message(ER_TOO_MANY_ROWS, ER(ER_TOO_MANY_ROWS), MYF(0));
46
while ((iter != var_list.end()) && (item= it++))
49
if (current_var->local == 0)
51
Item_func_set_user_var *suv= new Item_func_set_user_var(current_var->s, item);
52
suv->fix_fields(session, 0);
58
return(session->is_error());
61
bool select_dumpvar::send_eof()
64
push_warning(session, DRIZZLE_ERROR::WARN_LEVEL_WARN,
65
ER_SP_FETCH_NO_DATA, ER(ER_SP_FETCH_NO_DATA));
67
In order to remember the value of affected rows for ROW_COUNT()
68
function, SELECT INTO has to have an own SQLCOM.
69
@TODO split from SQLCOM_SELECT
71
session->my_ok(row_count);
75
int select_dumpvar::prepare(List<Item> &list, Select_Lex_Unit *u)
79
if (var_list.size() != list.elements)
81
my_message(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
82
ER(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT), MYF(0));
88
} // namespace drizzled