38 #ifndef UNIV_HOTBACKUP 
   41 #define BTR_PAGE_MAX_REC_SIZE   (UNIV_PAGE_SIZE / 2 - 200) 
   52 #define BTR_MAX_LEVELS          100 
   77 #define BTR_INSERT              512 
   81 #define BTR_ESTIMATE            1024 
   86 #define BTR_IGNORE_SEC_UNIQUE   2048 
   90 #define BTR_DELETE_MARK         4096 
   94 #define BTR_DELETE              8192 
   98 #define BTR_ALREADY_S_LATCHED   16384 
  100 #define BTR_LATCH_MODE_WITHOUT_FLAGS(latch_mode)        \ 
  101         ((latch_mode) & ~(BTR_INSERT                    \ 
  105                           | BTR_IGNORE_SEC_UNIQUE       \ 
  106                           | BTR_ALREADY_S_LATCHED)) 
  117         UNIV_COLD __attribute__((nonnull));
 
  122 #define btr_assert_not_corrupted(block, index)                  \ 
  123         if ((ibool) !!page_is_comp(buf_block_get_frame(block))  \ 
  124             != dict_table_is_comp((index)->table)) {            \ 
  125                 btr_corruption_report(block, index);            \ 
  129 #ifndef UNIV_HOTBACKUP 
  130 #ifdef UNIV_BLOB_DEBUG 
  133 struct btr_blob_dbg_t
 
  135         unsigned        blob_page_no:32;        
 
  136         unsigned        ref_page_no:32;         
 
  137         unsigned        ref_heap_no:16;         
 
  138         unsigned        ref_field_no:10;        
 
  140         unsigned        always_owner:1;         
 
  152 btr_blob_dbg_add_blob(
 
  159         __attribute__((nonnull));
 
  169         __attribute__((nonnull));
 
  176 btr_blob_dbg_is_empty(
 
  180         __attribute__((nonnull, warn_unused_result));
 
  186 btr_blob_dbg_set_deleted_flag(
 
  192         __attribute__((nonnull));
 
  204         __attribute__((nonnull));
 
  206 # define btr_blob_dbg_assert_empty(index, page_no)      \ 
  207         ut_a(btr_blob_dbg_is_empty(index, page_no)) 
  209 # define btr_blob_dbg_add_blob(rec, field_no, page, index, ctx) ((void) 0) 
  210 # define btr_blob_dbg_set_deleted_flag(rec, index, offsets, del)((void) 0) 
  211 # define btr_blob_dbg_owner(rec, index, offsets, i, val)        ((void) 0) 
  212 # define btr_blob_dbg_assert_empty(index, page_no)              ((void) 0) 
  224         __attribute__((nonnull));
 
  234         __attribute__((nonnull, warn_unused_result));
 
  247         __attribute__((nonnull, warn_unused_result));
 
  261 # ifdef UNIV_SYNC_DEBUG
 
  266 # ifdef UNIV_SYNC_DEBUG 
  275 #  define btr_block_get(space,zip_size,page_no,mode,index,mtr)  \ 
  276         btr_block_get_func(space,zip_size,page_no,mode,         \ 
  277                            __FILE__,__LINE__,index,mtr) 
  287 #  define btr_block_get(space,zip_size,page_no,mode,idx,mtr)            \ 
  288         btr_block_get_func(space,zip_size,page_no,mode,__FILE__,__LINE__,mtr) 
  298 # define btr_page_get(space,zip_size,page_no,mode,idx,mtr)              \ 
  299         buf_block_get_frame(btr_block_get(space,zip_size,page_no,mode,idx,mtr)) 
  309         __attribute__((nonnull, pure, warn_unused_result));
 
  310 #ifndef UNIV_HOTBACKUP 
  319         __attribute__((nonnull, pure, warn_unused_result));
 
  320 #define btr_page_get_level(page, mtr) btr_page_get_level_low(page) 
  330         __attribute__((nonnull, warn_unused_result));
 
  340         __attribute__((nonnull, warn_unused_result));
 
  352         __attribute__((nonnull, warn_unused_result));
 
  364         __attribute__((nonnull, warn_unused_result));
 
  375         __attribute__((nonnull));
 
  389         __attribute__((nonnull, pure, warn_unused_result));
 
  404         __attribute__((nonnull));
 
  427         __attribute__((nonnull));
 
  450         __attribute__((nonnull, warn_unused_result));
 
  476         __attribute__((nonnull, warn_unused_result));
 
  495         __attribute__((nonnull));
 
  508         __attribute__((nonnull, warn_unused_result));
 
  521         __attribute__((nonnull, warn_unused_result));
 
  545         __attribute__((nonnull, warn_unused_result));
 
  560         __attribute__((nonnull));
 
  561 # define btr_insert_on_non_leaf_level(f,i,l,t,m)                        \ 
  562         btr_insert_on_non_leaf_level_func(f,i,l,t,__FILE__,__LINE__,m) 
  572         __attribute__((nonnull));
 
  573 #ifndef UNIV_HOTBACKUP 
  583         __attribute__((nonnull));
 
  595         __attribute__((nonnull, warn_unused_result));
 
  618         __attribute__((nonnull));
 
  630         __attribute__((nonnull));
 
  645         __attribute__((nonnull(1,2), warn_unused_result));
 
  659         __attribute__((nonnull(1,2,3), warn_unused_result));
 
  660 #ifndef UNIV_HOTBACKUP 
  672         __attribute__((nonnull, warn_unused_result));
 
  695         __attribute__((nonnull, warn_unused_result));
 
  706         __attribute__((nonnull));
 
  719         __attribute__((nonnull));
 
  720 #ifdef UNIV_BTR_PRINT 
  728         __attribute__((nonnull));
 
  738         __attribute__((nonnull));
 
  753         __attribute__((nonnull, warn_unused_result));
 
  763         __attribute__((nonnull(1), warn_unused_result));
 
  765 #define BTR_N_LEAF_PAGES        1 
  766 #define BTR_TOTAL_SIZE          2 
  770 #include "btr0btr.ic"