MySQL 8.4.0
Source Code Documentation
PT_hint Class Reference

The class is a base class for representation of the different types of the hints. More...

#include <parse_tree_hints.h>

Inheritance diagram for PT_hint:
[legend]

Public Member Functions

 PT_hint (opt_hints_enum hint_type_arg, bool switch_state_arg)
 
opt_hints_enum type () const
 
bool switch_on () const
 
virtual void print_warn (THD *thd, uint err_code, const LEX_CSTRING *qb_name_arg, LEX_CSTRING *table_name_arg, LEX_CSTRING *key_name_arg, PT_hint *hint) const
 Print warning issuing in processing of the hint. More...
 
virtual void append_args (const THD *thd, String *str) const
 Append additional hint arguments. More...
 
bool supports_view ()
 
- Public Member Functions inherited from Parse_tree_node_tmpl< Context >
virtual ~Parse_tree_node_tmpl ()=default
 
bool is_contextualized () const
 
virtual bool contextualize (Context *pc) final
 
void error (Context *pc, const POS &pos) const
 syntax_error() function replacement for deferred reporting of syntax errors More...
 
void error (Context *pc, const POS &pos, const char *msg) const
 syntax_error() function replacement for deferred reporting of syntax errors More...
 
void errorf (Context *pc, const POS &pos, const char *format,...) const
 syntax_error() function replacement for deferred reporting of syntax errors More...
 

Private Attributes

opt_hints_enum hint_type
 
bool state
 

Additional Inherited Members

- Public Types inherited from Parse_tree_node_tmpl< Context >
typedef Context context_t
 
- Static Public Member Functions inherited from Parse_tree_node_tmpl< Context >
static void * operator new (size_t size, MEM_ROOT *mem_root, const std::nothrow_t &arg=std::nothrow) noexcept
 
static void operator delete (void *ptr, size_t size)
 
static void operator delete (void *, MEM_ROOT *, const std::nothrow_t &) noexcept
 
- Public Attributes inherited from Parse_tree_node_tmpl< Context >
POS m_pos
 
- Protected Member Functions inherited from Parse_tree_node_tmpl< Context >
 Parse_tree_node_tmpl ()=delete
 
 Parse_tree_node_tmpl (const POS &pos)
 
 Parse_tree_node_tmpl (const POS &start_pos, const POS &end_pos)
 
bool begin_parse_tree (Show_parse_tree *tree)
 
bool end_parse_tree (Show_parse_tree *tree)
 
virtual bool do_contextualize (Context *pc)
 Do all context-sensitive things and mark the node as contextualized. More...
 
virtual void add_json_info (Json_object *json_obj)
 Add all the node-specific json fields. More...
 

Detailed Description

The class is a base class for representation of the different types of the hints.

For the complex hints it is also used as a container for additional arguments.

Constructor & Destructor Documentation

◆ PT_hint()

PT_hint::PT_hint ( opt_hints_enum  hint_type_arg,
bool  switch_state_arg 
)
inline

Member Function Documentation

◆ append_args()

virtual void PT_hint::append_args ( const THD thd,
String str 
) const
inlinevirtual

Append additional hint arguments.

Parameters
thdPointer to THD object
strPointer to String object

Reimplemented in PT_hint_max_execution_time, PT_qb_level_hint, PT_key_level_hint, PT_hint_qb_name, and PT_hint_resource_group.

◆ print_warn()

void PT_hint::print_warn ( THD thd,
uint  err_code,
const LEX_CSTRING qb_name_arg,
LEX_CSTRING table_name_arg,
LEX_CSTRING key_name_arg,
PT_hint hint 
) const
virtual

Print warning issuing in processing of the hint.

Parameters
thdPointer to THD object
err_codeError code
qb_name_argQB name
table_name_argtable name
key_name_argkey name
hintPointer to hint object

◆ supports_view()

bool PT_hint::supports_view ( )
inline

◆ switch_on()

bool PT_hint::switch_on ( ) const
inline

◆ type()

opt_hints_enum PT_hint::type ( ) const
inline

Member Data Documentation

◆ hint_type

opt_hints_enum PT_hint::hint_type
private

◆ state

bool PT_hint::state
private

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