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