| 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 | bool check_unique_table(THD *thd, TABLE_LIST *table_list); | 
| 31 | int mysql_update(THD *thd,TABLE_LIST *tables,List<Item> &fields, | 
| 32 | 		 List<Item> &values,COND *conds, | 
| 33 | 		 uint order_num, ORDER *order, ha_rows limit, | 
| 34 | 		 enum enum_duplicates handle_duplicates, bool ignore, | 
| 35 |                  ha_rows *found_return, ha_rows *updated_return); | 
| 36 | bool mysql_multi_update(THD *thd, TABLE_LIST *table_list, | 
| 37 |                         List<Item> *fields, List<Item> *values, | 
| 38 |                         COND *conds, ulonglong options, | 
| 39 |                         enum enum_duplicates handle_duplicates, bool ignore, | 
| 40 |                         SELECT_LEX_UNIT *unit, SELECT_LEX *select_lex, | 
| 41 |                         multi_update **result); | 
| 42 | bool records_are_comparable(const TABLE *table); | 
| 43 | bool compare_record(const TABLE *table); | 
| 44 |  | 
| 45 | #endif /* SQL_UPDATE_INCLUDED */ | 
| 46 |  |