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>
25
#include <drizzled/var.h>
29
bool select_dumpvar::send_data(List<Item> &items)
31
std::vector<var *>::const_iterator iter= var_list.begin();
33
List<Item>::iterator it(items.begin());
37
if (unit->offset_limit_cnt)
38
{ // using limit offset,count
39
unit->offset_limit_cnt--;
44
my_message(ER_TOO_MANY_ROWS, ER(ER_TOO_MANY_ROWS), MYF(0));
47
while ((iter != var_list.end()) && (item= it++))
50
if (current_var->local == 0)
52
Item_func_set_user_var *suv= new Item_func_set_user_var(current_var->s, item);
53
suv->fix_fields(session, 0);
59
return(session->is_error());
62
bool select_dumpvar::send_eof()
65
push_warning(session, DRIZZLE_ERROR::WARN_LEVEL_WARN,
66
ER_SP_FETCH_NO_DATA, ER(ER_SP_FETCH_NO_DATA));
68
In order to remember the value of affected rows for ROW_COUNT()
69
function, SELECT INTO has to have an own SQLCOM.
70
@TODO split from SQLCOM_SELECT
72
session->my_ok(row_count);
76
int select_dumpvar::prepare(List<Item> &list, Select_Lex_Unit *u)
80
if (var_list.size() != list.size())
82
my_message(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
83
ER(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT), MYF(0));
89
} // namespace drizzled