Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
row0purge.h
Go to the documentation of this file.
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., 51 Franklin
15
St, Fifth Floor, Boston, MA 02110-1301 USA
16
17
*****************************************************************************/
18
19
/**************************************************/
26
#pragma once
27
#ifndef row0purge_h
28
#define row0purge_h
29
30
#include "univ.i"
31
#include "
data0data.h
"
32
#include "
btr0types.h
"
33
#include "
btr0pcur.h
"
34
#include "
dict0types.h
"
35
#include "
trx0types.h
"
36
#include "
que0types.h
"
37
#include "
row0types.h
"
38
39
/********************************************************************/
42
UNIV_INTERN
43
purge_node_t
*
44
row_purge_node_create
(
45
/*==================*/
46
que_thr_t
* parent,
47
mem_heap_t
* heap);
48
/***********************************************************/
63
UNIV_INTERN
64
ibool
65
row_purge_poss_sec
(
66
/*===============*/
67
purge_node_t
* node,
68
dict_index_t
* index,
69
const
dtuple_t
* entry);
70
/***************************************************************
71
Does the purge operation for a single undo log record. This is a high-level
72
function used in an SQL execution graph.
73
@return query thread to run next or NULL */
74
UNIV_INTERN
75
que_thr_t
*
76
row_purge_step
(
77
/*===========*/
78
que_thr_t
* thr);
80
/* Purge node structure */
81
82
struct
purge_node_struct
{
83
que_common_t
common
;
84
/*----------------------*/
85
/* Local storage for this graph node */
86
roll_ptr_t
roll_ptr;
/* roll pointer to undo log record */
87
trx_undo_rec_t
* undo_rec;
/* undo log record */
88
trx_undo_inf_t
* reservation;
/* reservation for the undo log record in
89
the purge array */
90
undo_no_t
undo_no;
/* undo number of the record */
91
ulint rec_type;
/* undo log record type: TRX_UNDO_INSERT_REC,
92
... */
93
btr_pcur_t
pcur
;
95
ibool found_clust;
/* TRUE if the clustered index record
96
determined by ref was found in the clustered
97
index, and we were able to position pcur on
98
it */
99
dict_table_t
*
table
;
100
ulint cmpl_info;
/* compiler analysis info of an update */
101
upd_t
*
update
;
103
dtuple_t
*
ref
;
105
dtuple_t
*
row
;
108
dict_index_t
*
index
;
110
mem_heap_t
*
heap
;
113
};
114
115
#ifndef UNIV_NONINL
116
#include "row0purge.ic"
117
#endif
118
119
#endif
plugin
innobase
include
row0purge.h
Generated on Mon Jun 10 2013 09:48:17 for drizzle by
1.8.1.2