MySQL 8.0.32
Source Code Documentation

The search info struct in an index. More...
#include <btr0sea.h>
Public Attributes  
std::atomic< size_t >  ref_count 
Number of blocks in this index tree that have search index built i.e. More...  
std::atomic< btr_search_prefix_info_t >  prefix_info 
ulint  magic_n 
magic number More...  
buf_block_t *  root_guess 
the root page frame when it was last time fetched, or NULL. More...  
std::atomic< uint64_t >  hash_analysis 
when this exceeds BTR_SEARCH_HASH_ANALYSIS, the hash analysis starts; this is reset if no success noticed. More...  
bool  last_hash_succ 
true if the last search would have succeeded, or did succeed, using the hash index; NOTE that the value here is not exact: it is not calculated for every search, and the calculation itself is not always accurate! More...  
std::atomic< uint64_t >  n_hash_potential 
number of consecutive searches which would have succeeded, or did succeed, using the hash index; the range is 0 . More...  
The search info struct in an index.
std::atomic<uint64_t> btr_search_t::hash_analysis 
when this exceeds BTR_SEARCH_HASH_ANALYSIS, the hash analysis starts; this is reset if no success noticed.
bool btr_search_t::last_hash_succ 
true if the last search would have succeeded, or did succeed, using the hash index; NOTE that the value here is not exact: it is not calculated for every search, and the calculation itself is not always accurate!
ulint btr_search_t::magic_n 
magic number
std::atomic<uint64_t> btr_search_t::n_hash_potential 
number of consecutive searches which would have succeeded, or did succeed, using the hash index; the range is 0 .
. BTR_SEARCH_BUILD_LIMIT + 5.
std::atomic<btr_search_prefix_info_t> btr_search_t::prefix_info 
std::atomic<size_t> btr_search_t::ref_count 
Number of blocks in this index tree that have search index built i.e.
block>ahi.index points to this index.
buf_block_t* btr_search_t::root_guess 
the root page frame when it was last time fetched, or NULL.
The following fields are not protected by any latch. Unfortunately, this means that they must be aligned to the machine word, i.e., they cannot be turned into bitfields.