MySQL 9.1.0
Source Code Documentation
PT_foreign_key_definition Class Reference

#include <parse_tree_nodes.h>

Inheritance diagram for PT_foreign_key_definition:
[legend]

Public Member Functions

 PT_foreign_key_definition (const POS &pos, const LEX_STRING &constraint_name, const LEX_STRING &key_name, List< PT_key_part_specification > *columns, Table_ident *referenced_table, List< Key_part_spec > *ref_list, fk_match_opt fk_match_option, fk_option fk_update_opt, fk_option fk_delete_opt)
 
bool do_contextualize (Table_ddl_parse_context *pc) override
 
void set_column_name (const LEX_STRING &column_name)
 
- 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_table_constraint_def super
 

Private Attributes

const LEX_STRING m_constraint_name
 
const LEX_STRING m_key_name
 
List< PT_key_part_specification > * m_columns
 
Table_identm_referenced_table
 
List< Key_part_spec > * m_ref_list
 
fk_match_opt m_fk_match_option
 
fk_option m_fk_update_opt
 
fk_option m_fk_delete_opt
 
LEX_STRING m_column_name {nullptr, 0}
 

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 PT_table_constraint_def
 PT_table_constraint_def (const POS &pos)
 
- Protected Member Functions inherited from PT_table_element
 PT_table_element (const POS &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...
 

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ PT_foreign_key_definition()

PT_foreign_key_definition::PT_foreign_key_definition ( const POS pos,
const LEX_STRING constraint_name,
const LEX_STRING key_name,
List< PT_key_part_specification > *  columns,
Table_ident referenced_table,
List< Key_part_spec > *  ref_list,
fk_match_opt  fk_match_option,
fk_option  fk_update_opt,
fk_option  fk_delete_opt 
)
inline

Member Function Documentation

◆ do_contextualize()

bool PT_foreign_key_definition::do_contextualize ( Table_ddl_parse_context pc)
override

◆ set_column_name()

void PT_foreign_key_definition::set_column_name ( const LEX_STRING column_name)
inline

Member Data Documentation

◆ m_column_name

LEX_STRING PT_foreign_key_definition::m_column_name {nullptr, 0}
private

◆ m_columns

List<PT_key_part_specification>* PT_foreign_key_definition::m_columns
private

◆ m_constraint_name

const LEX_STRING PT_foreign_key_definition::m_constraint_name
private

◆ m_fk_delete_opt

fk_option PT_foreign_key_definition::m_fk_delete_opt
private

◆ m_fk_match_option

fk_match_opt PT_foreign_key_definition::m_fk_match_option
private

◆ m_fk_update_opt

fk_option PT_foreign_key_definition::m_fk_update_opt
private

◆ m_key_name

const LEX_STRING PT_foreign_key_definition::m_key_name
private

◆ m_ref_list

List<Key_part_spec>* PT_foreign_key_definition::m_ref_list
private

◆ m_referenced_table

Table_ident* PT_foreign_key_definition::m_referenced_table
private

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