MySQL 8.4.2
Source Code Documentation

Base class for both generated and regular column definitions. More...

#include <parse_tree_column_attrs.h>

Inheritance diagram for PT_field_def_base:
[legend]

Public Member Functions

bool do_contextualize (Parse_context *pc) override
 
- 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...
 

Public Attributes

enum_field_types type = MYSQL_TYPE_INVALID
 
ulong type_flags = 0
 
const char * length = nullptr
 
const char * dec = nullptr
 
const CHARSET_INFOcharset = nullptr
 
bool has_explicit_collation = false
 
uint uint_geom_type = 0
 
List< String > * interval_list = nullptr
 
alter_info_flags_t alter_info_flags = 0
 
LEX_CSTRING comment = EMPTY_CSTR
 
Itemdefault_value = nullptr
 
Itemon_update_value = nullptr
 
Value_generatorgcol_info = nullptr
 
Value_generatordefault_val_info = nullptr
 Holds the expression to generate default values. More...
 
std::optional< gis::srid_tm_srid {}
 
Sql_check_constraint_spec_listcheck_const_spec_list = nullptr
 
- Public Attributes inherited from Parse_tree_node_tmpl< Context >
POS m_pos
 

Protected Member Functions

 PT_field_def_base (const POS &pos, PT_type *type_node)
 
template<class T >
bool contextualize_attrs (Column_parse_context *pc, Mem_root_array< T * > *attrs)
 
- 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...
 

Protected Attributes

PT_typetype_node
 

Private Types

typedef Parse_tree_node super
 
typedef decltype(Alter_info::flagsalter_info_flags_t
 

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
 

Detailed Description

Base class for both generated and regular column definitions.

Member Typedef Documentation

◆ alter_info_flags_t

◆ super

Constructor & Destructor Documentation

◆ PT_field_def_base()

PT_field_def_base::PT_field_def_base ( const POS pos,
PT_type type_node 
)
inlineexplicitprotected

Member Function Documentation

◆ contextualize_attrs()

template<class T >
bool PT_field_def_base::contextualize_attrs ( Column_parse_context pc,
Mem_root_array< T * > *  attrs 
)
inlineprotected

◆ do_contextualize()

bool PT_field_def_base::do_contextualize ( Parse_context pc)
inlineoverride

Member Data Documentation

◆ alter_info_flags

alter_info_flags_t PT_field_def_base::alter_info_flags = 0

◆ charset

const CHARSET_INFO* PT_field_def_base::charset = nullptr

◆ check_const_spec_list

Sql_check_constraint_spec_list* PT_field_def_base::check_const_spec_list = nullptr

◆ comment

LEX_CSTRING PT_field_def_base::comment = EMPTY_CSTR

◆ dec

const char* PT_field_def_base::dec = nullptr

◆ default_val_info

Value_generator* PT_field_def_base::default_val_info = nullptr

Holds the expression to generate default values.

◆ default_value

Item* PT_field_def_base::default_value = nullptr

◆ gcol_info

Value_generator* PT_field_def_base::gcol_info = nullptr

◆ has_explicit_collation

bool PT_field_def_base::has_explicit_collation = false

◆ interval_list

List<String>* PT_field_def_base::interval_list = nullptr

◆ length

const char* PT_field_def_base::length = nullptr

◆ m_srid

std::optional<gis::srid_t> PT_field_def_base::m_srid {}

◆ on_update_value

Item* PT_field_def_base::on_update_value = nullptr

◆ type

enum_field_types PT_field_def_base::type = MYSQL_TYPE_INVALID

◆ type_flags

ulong PT_field_def_base::type_flags = 0

◆ type_node

PT_type* PT_field_def_base::type_node
protected

◆ uint_geom_type

uint PT_field_def_base::uint_geom_type = 0

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