InnoDB Plugin
1.0
Main Page
Data Structures
Files
File List
Globals
include
row0purge.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (c) 1997, 2012, Oracle and/or its affiliates. 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 Street, Suite 500, Boston, MA 02110-1335 USA
16
17
*****************************************************************************/
18
19
/**************************************************/
26
#ifndef row0purge_h
27
#define row0purge_h
28
29
#include "
univ.i
"
30
#include "
data0data.h
"
31
#include "
btr0types.h
"
32
#include "
btr0pcur.h
"
33
#include "
dict0types.h
"
34
#include "
trx0types.h
"
35
#include "
que0types.h
"
36
#include "
row0types.h
"
37
#include "
row0purge.h
"
38
#include "
ut0vec.h
"
39
40
/********************************************************************/
43
UNIV_INTERN
44
purge_node_t
*
45
row_purge_node_create
(
46
/*==================*/
47
que_thr_t
* parent,
49
mem_heap_t
* heap)
50
__attribute__((nonnull, warn_unused_result));
51
/***********************************************************/
66
UNIV_INTERN
67
bool
68
row_purge_poss_sec
(
69
/*===============*/
70
purge_node_t
* node,
71
dict_index_t
* index,
72
const
dtuple_t
* entry)
73
__attribute__((nonnull, warn_unused_result));
74
/***************************************************************
75
Does the purge operation for a single undo log record. This is a high-level
76
function used in an SQL execution graph.
77
@return query thread to run next or NULL */
78
UNIV_INTERN
79
que_thr_t
*
80
row_purge_step
(
81
/*===========*/
82
que_thr_t
* thr)
83
__attribute__((nonnull, warn_unused_result));
84
85
/* Purge node structure */
86
87
struct
purge_node_t
{
88
que_common_t
common
;
89
/*----------------------*/
90
/* Local storage for this graph node */
91
roll_ptr_t
roll_ptr;
/* roll pointer to undo log record */
92
ib_vector_t
*
undo_recs
;
94
undo_no_t
undo_no;
/* undo number of the record */
95
96
ulint rec_type;
/* undo log record type: TRX_UNDO_INSERT_REC,
97
... */
98
dict_table_t
*
table
;
100
ulint cmpl_info;
/* compiler analysis info of an update */
101
102
upd_t
*
update
;
104
dtuple_t
*
ref
;
106
dtuple_t
*
row
;
109
dict_index_t
*
index
;
111
mem_heap_t
*
heap
;
114
ibool
found_clust;
/* TRUE if the clustered index record
115
determined by ref was found in the clustered
116
index, and we were able to position pcur on
117
it */
118
btr_pcur_t
pcur
;
120
ibool
done;
/* Debug flag */
121
122
};
123
124
#ifndef UNIV_NONINL
125
#include "
row0purge.ic
"
126
#endif
127
128
#endif
Generated on Fri Aug 21 2015 19:14:24 for InnoDB Plugin by
1.8.1.2