Drizzled Public API Documentation

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
45 /*==================*/
46  que_thr_t* parent,
47  mem_heap_t* heap);
48 /***********************************************************/
63 UNIV_INTERN
64 ibool
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*
77 /*===========*/
78  que_thr_t* thr);
80 /* Purge node structure */
81 
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  ... */
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 */
100  ulint cmpl_info;/* compiler analysis info of an update */
113 };
114 
115 #ifndef UNIV_NONINL
116 #include "row0purge.ic"
117 #endif
118 
119 #endif
byte trx_undo_rec_t
Definition: trx0types.h:112
ib_id_t roll_ptr_t
Definition: trx0types.h:87
mem_heap_t * heap
Definition: row0purge.h:110
dtuple_t * row
Definition: row0purge.h:105
UNIV_INTERN ibool row_purge_poss_sec(purge_node_t *node, dict_index_t *index, const dtuple_t *entry)
Definition: row0purge.cc:254
dict_table_t * table
Definition: row0purge.h:99
UNIV_INTERN que_thr_t * row_purge_step(que_thr_t *thr)
Definition: row0purge.cc:788
dict_index_t * index
Definition: row0purge.h:108
dtuple_t * ref
Definition: row0purge.h:103
btr_pcur_t pcur
Definition: row0purge.h:93
que_common_t common
Definition: row0purge.h:83
UNIV_INTERN purge_node_t * row_purge_node_create(que_thr_t *parent, mem_heap_t *heap)
Definition: row0purge.cc:72
ib_id_t undo_no_t
Definition: trx0types.h:89