MySQL 8.4.0
Source Code Documentation
PT_enum_type_tmpl< enum_type > Class Template Reference

#include <parse_tree_column_attrs.h>

Inheritance diagram for PT_enum_type_tmpl< enum_type >:
[legend]

Public Member Functions

 PT_enum_type_tmpl (const POS &pos, List< String > *interval_list, const CHARSET_INFO *charset, bool force_binary)
 
const CHARSET_INFOget_charset () const override
 
ulong get_type_flags () const override
 
List< String > * get_interval_list () const override
 
- Public Member Functions inherited from PT_type
virtual const char * get_length () const
 
virtual const char * get_dec () const
 
virtual uint get_uint_geom_type () const
 
virtual bool is_serial_type () const
 
- 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 Types

using Parent_type = std::remove_const< decltype(PT_type::type)>::type
 

Private Attributes

List< String > *const interval_list
 
const CHARSET_INFOcharset
 
const bool force_binary
 

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 PT_type
const enum_field_types type
 
- Public Attributes inherited from Parse_tree_node_tmpl< Context >
POS m_pos
 
- Protected Member Functions inherited from PT_type
 PT_type (const POS &pos, enum_field_types type)
 
- 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...
 

Member Typedef Documentation

◆ Parent_type

template<Enum_type enum_type>
using PT_enum_type_tmpl< enum_type >::Parent_type = std::remove_const<decltype(PT_type::type)>::type
private

Constructor & Destructor Documentation

◆ PT_enum_type_tmpl()

template<Enum_type enum_type>
PT_enum_type_tmpl< enum_type >::PT_enum_type_tmpl ( const POS pos,
List< String > *  interval_list,
const CHARSET_INFO charset,
bool  force_binary 
)
inline

Member Function Documentation

◆ get_charset()

template<Enum_type enum_type>
const CHARSET_INFO * PT_enum_type_tmpl< enum_type >::get_charset ( ) const
inlineoverridevirtual

Reimplemented from PT_type.

◆ get_interval_list()

template<Enum_type enum_type>
List< String > * PT_enum_type_tmpl< enum_type >::get_interval_list ( ) const
inlineoverridevirtual

Reimplemented from PT_type.

◆ get_type_flags()

template<Enum_type enum_type>
ulong PT_enum_type_tmpl< enum_type >::get_type_flags ( ) const
inlineoverridevirtual

Reimplemented from PT_type.

Member Data Documentation

◆ charset

template<Enum_type enum_type>
const CHARSET_INFO* PT_enum_type_tmpl< enum_type >::charset
private

◆ force_binary

template<Enum_type enum_type>
const bool PT_enum_type_tmpl< enum_type >::force_binary
private

◆ interval_list

template<Enum_type enum_type>
List<String>* const PT_enum_type_tmpl< enum_type >::interval_list
private

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