MySQL 9.1.0
Source Code Documentation

Base class for generated column definition nodes. More...

#include <parse_tree_column_attrs.h>

Inheritance diagram for PT_generated_field_def:
[legend]

Public Member Functions

 PT_generated_field_def (const POS &pos, PT_type *type_node_arg, Item *expr, Virtual_or_stored virtual_or_stored, Mem_root_array< PT_column_attr_base * > *opt_attrs)
 
bool do_contextualize (Parse_context *pc_arg) override
 
- Public Member Functions inherited from PT_field_def_base
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...
 

Private Types

typedef PT_field_def_base super
 

Private Attributes

const Virtual_or_stored virtual_or_stored
 
Itemexpr
 
Mem_root_array< PT_column_attr_base * > * opt_attrs
 

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_field_def_base
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 inherited from PT_field_def_base
 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 inherited from PT_field_def_base
PT_typetype_node
 

Detailed Description

Base class for generated column definition nodes.

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ PT_generated_field_def()

PT_generated_field_def::PT_generated_field_def ( const POS pos,
PT_type type_node_arg,
Item expr,
Virtual_or_stored  virtual_or_stored,
Mem_root_array< PT_column_attr_base * > *  opt_attrs 
)
inline

Member Function Documentation

◆ do_contextualize()

bool PT_generated_field_def::do_contextualize ( Parse_context pc_arg)
inlineoverride

Member Data Documentation

◆ expr

Item* PT_generated_field_def::expr
private

◆ opt_attrs

Mem_root_array<PT_column_attr_base *>* PT_generated_field_def::opt_attrs
private

◆ virtual_or_stored

const Virtual_or_stored PT_generated_field_def::virtual_or_stored
private

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