1 /*****************************************************************************
2 
3 Copyright (c) 1997, 2009, Innobase Oy. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************//**
20 @file include/row0uins.h
21 Fresh insert undo
22 
23 Created 2/25/1997 Heikki Tuuri
24 *******************************************************/
25 
26 #ifndef row0uins_h
27 #define row0uins_h
28 
29 #include "univ.i"
30 #include "data0data.h"
31 #include "dict0types.h"
32 #include "trx0types.h"
33 #include "que0types.h"
34 #include "row0types.h"
35 #include "mtr0mtr.h"
36 
37 /***********************************************************//**
38 Undoes a fresh insert of a row to a table. A fresh insert means that
39 the same clustered index unique key did not have any record, even delete
40 marked, at the time of the insert.  InnoDB is eager in a rollback:
41 if it figures out that an index record will be removed in the purge
42 anyway, it will remove it in the rollback.
43 @return	DB_SUCCESS */
44 UNIV_INTERN
45 ulint
46 row_undo_ins(
47 /*=========*/
48 	undo_node_t*	node);	/*!< in: row undo node */
49 
50 #ifndef UNIV_NONINL
51 #include "row0uins.ic"
52 #endif
53 
54 #endif
55