MySQL  8.0.16
Source Code Documentation
Opt_hints_table Class Reference

Table level hints. More...

#include <opt_hints.h>

Inheritance diagram for Opt_hints_table:

Public Member Functions

 Opt_hints_table (const LEX_CSTRING *table_name_arg, Opt_hints_qb *qb_hints_arg, MEM_ROOT *mem_root_arg)
void append_name (const THD *thd, String *str) override
 Append table name. More...
void adjust_key_hints (TABLE_LIST *table)
 Function sets correlation between key hint objects and appropriate KEY structures. More...
virtual PT_hintget_complex_hints (opt_hints_enum type) override
 Returns pointer to complex hint for a given type. More...
void set_resolved () override
void set_unresolved (opt_hints_enum type_arg) override
 Set hint to unresolved state. More...
bool is_resolved (opt_hints_enum type_arg) override
 Returns 'resolved' flag value for depending on hint type. More...
void set_compound_key_hint_map (Opt_hints *hint, uint arg)
Compound_key_hintget_compound_key_hint (opt_hints_enum type_arg)
bool is_compound_key_hint (opt_hints_enum type_arg)
- Public Member Functions inherited from Opt_hints
 Opt_hints (const LEX_CSTRING *name_arg, Opt_hints *parent_arg, MEM_ROOT *mem_root_arg)
virtual ~Opt_hints ()
bool is_specified (opt_hints_enum type_arg) const
bool set_switch (bool switch_state_arg, opt_hints_enum type_arg, bool check_parent)
 Function sets switch hint state. More...
bool get_switch (opt_hints_enum type_arg) const
 Function returns switch hint state. More...
virtual const LEX_CSTRINGget_name () const
void set_name (const LEX_CSTRING *name_arg)
Opt_hintsget_parent () const
virtual bool ignore_print (opt_hints_enum type_arg) const
 If ignore_print() returns true, hint is not printed in Opt_hints::print() function. More...
void incr_resolved_children ()
Mem_root_array< Opt_hints * > * child_array_ptr ()
bool is_all_resolved () const
void register_child (Opt_hints *hint_arg)
Opt_hintsfind_by_name (const LEX_CSTRING *name_arg, const CHARSET_INFO *cs) const
 Find hint among lower-level hint objects. More...
void print (const THD *thd, String *str, enum_query_type query_type)
 Print all hints except of QB_NAME hint. More...
void check_unresolved (THD *thd)
 Check if there are any unresolved hint objects and print warnings for them. More...

Public Attributes

Mem_root_array< Opt_hints_key * > keyinfo_array
Compound_key_hint index_merge
Compound_key_hint skip_scan

Detailed Description

Table level hints.

Constructor & Destructor Documentation

◆ Opt_hints_table()

Opt_hints_table::Opt_hints_table ( const LEX_CSTRING table_name_arg,
Opt_hints_qb qb_hints_arg,
MEM_ROOT mem_root_arg 

Member Function Documentation

◆ adjust_key_hints()

void Opt_hints_table::adjust_key_hints ( TABLE_LIST table)

Function sets correlation between key hint objects and appropriate KEY structures.

tablePointer to TABLE_LIST object

◆ append_name()

void Opt_hints_table::append_name ( const THD thd,
String str 

Append table name.

thdpointer to THD object
strpointer to String object

Implements Opt_hints.

◆ get_complex_hints()

PT_hint * Opt_hints_table::get_complex_hints ( opt_hints_enum  type)

Returns pointer to complex hint for a given type.

A complex hint is a hint that has arguments. (It is not just an on/off switch.)

typehint type
pointer to complex hint for a given type.

Reimplemented from Opt_hints.

◆ get_compound_key_hint()

Compound_key_hint* Opt_hints_table::get_compound_key_hint ( opt_hints_enum  type_arg)

◆ is_compound_key_hint()

bool Opt_hints_table::is_compound_key_hint ( opt_hints_enum  type_arg)

◆ is_resolved()

bool Opt_hints_table::is_resolved ( opt_hints_enum  type_arg)

Returns 'resolved' flag value for depending on hint type.

type_arghint type
true if all hint objects are resolved, false otherwise.

Reimplemented from Opt_hints.

◆ set_compound_key_hint_map()

void Opt_hints_table::set_compound_key_hint_map ( Opt_hints hint,
uint  arg 

◆ set_resolved()

void Opt_hints_table::set_resolved ( )

Reimplemented from Opt_hints.

◆ set_unresolved()

void Opt_hints_table::set_unresolved ( opt_hints_enum  type_arg)

Set hint to unresolved state.

type_arghint type

Reimplemented from Opt_hints.

Member Data Documentation

◆ index_merge

Compound_key_hint Opt_hints_table::index_merge

◆ keyinfo_array

Mem_root_array<Opt_hints_key *> Opt_hints_table::keyinfo_array

◆ skip_scan

Compound_key_hint Opt_hints_table::skip_scan

The documentation for this class was generated from the following files: