MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sql_update.h
1 /* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
2 
3  This program is free software; you can redistribute it and/or modify
4  it under the terms of the GNU General Public License as published by
5  the Free Software Foundation; version 2 of the License.
6 
7  This program is distributed in the hope that it will be useful,
8  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  GNU General Public License for more details.
11 
12  You should have received a copy of the GNU General Public License
13  along with this program; if not, write to the Free Software
14  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
15 
16 #ifndef SQL_UPDATE_INCLUDED
17 #define SQL_UPDATE_INCLUDED
18 
19 #include "sql_class.h" /* enum_duplicates */
20 
21 class Item;
22 struct TABLE_LIST;
23 class THD;
24 
25 typedef class st_select_lex SELECT_LEX;
26 typedef class st_select_lex_unit SELECT_LEX_UNIT;
27 
28 bool mysql_prepare_update(THD *thd, TABLE_LIST *table_list,
29  Item **conds, uint order_num, ORDER *order);
30 int mysql_update(THD *thd,TABLE_LIST *tables,List<Item> &fields,
31  List<Item> &values,Item *conds,
32  uint order_num, ORDER *order, ha_rows limit,
33  enum enum_duplicates handle_duplicates, bool ignore,
34  ha_rows *found_return, ha_rows *updated_return);
35 bool mysql_multi_update(THD *thd, TABLE_LIST *table_list,
36  List<Item> *fields, List<Item> *values,
37  Item *conds, ulonglong options,
38  enum enum_duplicates handle_duplicates, bool ignore,
39  SELECT_LEX_UNIT *unit, SELECT_LEX *select_lex,
40  multi_update **result);
41 bool records_are_comparable(const TABLE *table);
42 bool compare_records(const TABLE *table);
43 
44 #endif /* SQL_UPDATE_INCLUDED */