MySQL 8.0.39
Source Code Documentation
btr_search_t Struct Reference

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_tprefix_info
 
ulint magic_n
 magic number More...
 
buf_block_troot_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...
 

Detailed Description

The search info struct in an index.

Member Data Documentation

◆ hash_analysis

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.

◆ last_hash_succ

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!

◆ magic_n

ulint btr_search_t::magic_n

magic number

See also
BTR_SEARCH_MAGIC_N

◆ n_hash_potential

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.

◆ prefix_info

std::atomic<btr_search_prefix_info_t> btr_search_t::prefix_info

◆ ref_count

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.

◆ root_guess

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 bit-fields.


The documentation for this struct was generated from the following file: