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