00001 /***************************************************************************** 00002 00003 Copyright (C) 1995, 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 buf0rea_h 00028 #define buf0rea_h 00029 00030 #include "univ.i" 00031 #include "buf0types.h" 00032 00033 /********************************************************************/ 00039 UNIV_INTERN 00040 ibool 00041 buf_read_page( 00042 /*==========*/ 00043 ulint space, 00044 ulint zip_size, 00045 ulint offset); 00046 /********************************************************************/ 00070 UNIV_INTERN 00071 ulint 00072 buf_read_ahead_linear( 00073 /*==================*/ 00074 ulint space, 00075 ulint zip_size, 00076 ulint offset); 00078 /********************************************************************/ 00082 UNIV_INTERN 00083 void 00084 buf_read_ibuf_merge_pages( 00085 /*======================*/ 00086 ibool sync, 00091 const ulint* space_ids, 00092 const ib_int64_t* space_versions, 00099 const ulint* page_nos, 00103 ulint n_stored); 00105 /********************************************************************/ 00107 UNIV_INTERN 00108 void 00109 buf_read_recv_pages( 00110 /*================*/ 00111 ibool sync, 00116 ulint space, 00117 ulint zip_size, 00119 const ulint* page_nos, 00123 ulint n_stored); 00128 #define BUF_READ_AHEAD_AREA(b) \ 00129 ut_min(64, ut_2_power_up((b)->curr_size / 32)) 00130 00133 #define BUF_READ_IBUF_PAGES_ONLY 131 00134 00135 #define BUF_READ_ANY_PAGE 132 00136 /* @} */ 00137 00138 #endif