mariadb/sql/sql_do.cc
unknown 0f81ecf501 fixed error handling in SET and DO operators (BUG#1484)
mysql-test/r/subselect.result:
  test for BUG#1484
mysql-test/t/subselect.test:
  layout fix
  test for BUG#1484
sql/set_var.cc:
  value evaluating can fail (because of subqueries for example) => we should check result of operartion and prevent assigning incorrect value
sql/sql_do.cc:
  DO should ignore all errors
2003-10-08 11:19:09 +03:00

35 lines
1.2 KiB
C++

/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Execute DO statement */
#include "mysql_priv.h"
#include "sql_acl.h"
int mysql_do(THD *thd, List<Item> &values)
{
List_iterator<Item> li(values);
Item *value;
DBUG_ENTER("mysql_do");
if (setup_fields(thd, 0, 0, values, 0, 0, 0))
DBUG_RETURN(-1);
while ((value = li++))
value->val_int();
thd->clear_error(); // DO always is OK
send_ok(thd);
DBUG_RETURN(0);
}