Drizzled Public API Documentation

row0vers.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003 Copyright (C) 1997, 2009, Innobase Oy. All Rights Reserved.
00004 
00005 This program is free software; you can redistribute it and/or modify it under
00006 the terms of the GNU General Public License as published by the Free Software
00007 Foundation; version 2 of the License.
00008 
00009 This program is distributed in the hope that it will be useful, but WITHOUT
00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00011 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
00012 
00013 You should have received a copy of the GNU General Public License along with
00014 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
00015 St, Fifth Floor, Boston, MA 02110-1301 USA
00016 
00017 *****************************************************************************/
00018 
00019 /**************************************************/
00026 #pragma once
00027 #ifndef row0vers_h
00028 #define row0vers_h
00029 
00030 #include "univ.i"
00031 #include "data0data.h"
00032 #include "dict0types.h"
00033 #include "trx0types.h"
00034 #include "que0types.h"
00035 #include "rem0types.h"
00036 #include "mtr0mtr.h"
00037 #include "read0types.h"
00038 
00039 /*****************************************************************/
00044 UNIV_INTERN
00045 trx_t*
00046 row_vers_impl_x_locked_off_kernel(
00047 /*==============================*/
00048   const rec_t*  rec,  
00049   dict_index_t* index,  
00050   const ulint*  offsets);
00051 /*****************************************************************/
00055 UNIV_INTERN
00056 ibool
00057 row_vers_must_preserve_del_marked(
00058 /*==============================*/
00059   trx_id_t  trx_id, 
00060   mtr_t*    mtr); 
00063 /*****************************************************************/
00070 UNIV_INTERN
00071 ibool
00072 row_vers_old_has_index_entry(
00073 /*=========================*/
00074   ibool   also_curr,
00077   const rec_t*  rec,  
00079   mtr_t*    mtr,  
00081   dict_index_t* index,  
00082   const dtuple_t* ientry);
00083 /*****************************************************************/
00088 UNIV_INTERN
00089 ulint
00090 row_vers_build_for_consistent_read(
00091 /*===============================*/
00092   const rec_t*  rec,  
00096   mtr_t*    mtr,  
00098   dict_index_t* index,  
00099   ulint**   offsets,
00101   read_view_t*  view, 
00102   mem_heap_t**  offset_heap,
00104   mem_heap_t* in_heap,
00108   rec_t**   old_vers);
00112 /*****************************************************************/
00116 UNIV_INTERN
00117 ulint
00118 row_vers_build_for_semi_consistent_read(
00119 /*====================================*/
00120   const rec_t*  rec,  
00124   mtr_t*    mtr,  
00125   dict_index_t* index,  
00126   ulint**   offsets,
00128   mem_heap_t**  offset_heap,
00130   mem_heap_t* in_heap,
00134   const rec_t** old_vers);
00139 #ifndef UNIV_NONINL
00140 #include "row0vers.ic"
00141 #endif
00142 
00143 #endif