![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
Base class for parse tree nodes (excluding the Parse_tree_root hierarchy) More...
#include <parse_tree_node_base.h>
Public Types | |
| typedef Context | context_t | 
Public Member Functions | |
| 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... | |
Static Public Member Functions | |
| 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 | |
| POS | m_pos | 
Protected Member Functions | |
| 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... | |
Private Member Functions | |
| Parse_tree_node_tmpl (const Parse_tree_node_tmpl &) | |
| void | operator= (const Parse_tree_node_tmpl &) | 
Private Attributes | |
| bool | contextualized = false | 
Friends | |
| class | Item | 
Base class for parse tree nodes (excluding the Parse_tree_root hierarchy)
| typedef Context Parse_tree_node_tmpl< Context >::context_t | 
      
  | 
  private | 
      
  | 
  protecteddelete | 
      
  | 
  inlineexplicitprotected | 
      
  | 
  inlineexplicitprotected | 
      
  | 
  virtualdefault | 
      
  | 
  inlineprotectedvirtual | 
Add all the node-specific json fields.
Any class that needs to add such info should override this function rather than doing it in do_contextualize(). E.g. the parse tree node for AVG() may have "distinct" field to indicate if AVG(DISTINCT ...) is used or not.
| json_obj | Json object for this parse tree node. | 
Reimplemented in Item_func_opt_neg, Item_func_case, Item_typecast_decimal, Item_typecast_real, Item_func_match, Item_func_array_cast, Item_str_func, Item_func_char, Item_charset_conversion, Item_typecast_char, Item_func_set_collation, Item_sum, Item_temporal_func, Item_temporal_hybrid_func, Item_func_curtime, Item_func_now, Item_date_add_interval, PTI_truth_transform, PTI_comp_op, PTI_comp_op_all, PTI_function_call_generic_ident_sys, PTI_function_call_generic_2d, PTI_odbc_date, PTI_handle_sql2003_note184_exception, PTI_expr_with_alias, PT_order_expr, PT_common_table_expr, PT_with_clause, PT_limit_clause, PT_table_factor_table_ident, PT_derived_table, PT_joined_table, PT_joined_table_using, PT_group, PT_query_specification, PT_set_operation, and PT_window.
      
  | 
  protected | 
      
  | 
  inlinefinalvirtual | 
      
  | 
  inlineprotectedvirtual | 
Do all context-sensitive things and mark the node as contextualized.
| pc | current parse context | 
| false | success | 
| true | syntax/OOM/etc error | 
Reimplemented in PT_check_constraint_column_attr, PT_default_column_attr, PT_on_update_column_attr, PT_auto_increment_column_attr, PT_serial_default_value_column_attr, PT_column_format_column_attr, PT_storage_media_column_attr, and PT_generated_default_val_column_attr.
      
  | 
  protected | 
      
  | 
  inline | 
syntax_error() function replacement for deferred reporting of syntax errors
| pc | Current parse context. | 
| pos | Location of the error in lexical scanner buffers. | 
      
  | 
  inline | 
syntax_error() function replacement for deferred reporting of syntax errors
| pc | Current parse context. | 
| pos | Location of the error in lexical scanner buffers. | 
| msg | Error message. | 
      
  | 
  inline | 
syntax_error() function replacement for deferred reporting of syntax errors
| pc | Current parse context. | 
| pos | Location of the error in lexical scanner buffers. | 
| format | Error message format string with optional argument list. | 
      
  | 
  inline | 
      
  | 
  inlinestaticnoexcept | 
      
  | 
  inlinestatic | 
      
  | 
  inlinestaticnoexcept | 
      
  | 
  private | 
      
  | 
  friend | 
      
  | 
  private | 
| POS Parse_tree_node_tmpl< Context >::m_pos |