MySQL  8.0.20
Source Code Documentation
TABLE_REF Struct Reference

#include <sql_opt_exec_shared.h>

Public Member Functions

 TABLE_REF ()
 
bool impossible_null_ref () const
 
bool has_guarded_conds () const
 Check if there are triggered/guarded conditions that might be 'switched off' by the subquery code when executing 'Full scan on NULL key' subqueries. More...
 

Public Attributes

bool key_err
 
uint key_parts
 num of ... More...
 
uint key_length
 length of key_buff More...
 
int key
 key no More...
 
ucharkey_buff
 value to look for with key More...
 
ucharkey_buff2
 key_buff+key_length More...
 
store_key ** key_copy
 Used to store the value from each keypart field. More...
 
Item ** items
 val()'s for each keypart More...
 
bool ** cond_guards
 
key_part_map null_rejecting
 
table_map depend_map
 Table depends on these tables. More...
 
ucharnull_ref_key
 
ha_rows use_count
 
bool disable_cache
 
ulonglongkeypart_hash = nullptr
 

Constructor & Destructor Documentation

◆ TABLE_REF()

TABLE_REF::TABLE_REF ( )
inline

Member Function Documentation

◆ has_guarded_conds()

bool TABLE_REF::has_guarded_conds ( ) const
inline

Check if there are triggered/guarded conditions that might be 'switched off' by the subquery code when executing 'Full scan on NULL key' subqueries.

Returns
true if there are guarded conditions, false otherwise

◆ impossible_null_ref()

bool TABLE_REF::impossible_null_ref ( ) const
inline
Returns
whether the reference contains NULL values which could never give a match.

Member Data Documentation

◆ cond_guards

bool** TABLE_REF::cond_guards

◆ depend_map

table_map TABLE_REF::depend_map

Table depends on these tables.

◆ disable_cache

bool TABLE_REF::disable_cache

◆ items

Item** TABLE_REF::items

val()'s for each keypart

◆ key

int TABLE_REF::key

key no

◆ key_buff

uchar* TABLE_REF::key_buff

value to look for with key

◆ key_buff2

uchar* TABLE_REF::key_buff2

key_buff+key_length

◆ key_copy

store_key** TABLE_REF::key_copy

Used to store the value from each keypart field.

These values are used for ref access. If key_copy[key_part] == NULL it means that the value is constant and does not need to be reevaluated

◆ key_err

bool TABLE_REF::key_err

◆ key_length

uint TABLE_REF::key_length

length of key_buff

◆ key_parts

uint TABLE_REF::key_parts

num of ...

◆ keypart_hash

ulonglong* TABLE_REF::keypart_hash = nullptr

◆ null_ref_key

uchar* TABLE_REF::null_ref_key

◆ null_rejecting

key_part_map TABLE_REF::null_rejecting
(null_rejecting & (1<<i))

means the condition is '=' and no matching rows will be produced if items[i] IS NULL (see add_not_null_conds())

◆ use_count

ha_rows TABLE_REF::use_count

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