MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Foreign_key Class Reference
Inheritance diagram for Foreign_key:
Collaboration diagram for Foreign_key:

Public Types

enum  fk_match_opt { FK_MATCH_UNDEF, FK_MATCH_FULL, FK_MATCH_PARTIAL, FK_MATCH_SIMPLE }
enum  fk_option {
  FK_OPTION_UNDEF, FK_OPTION_RESTRICT, FK_OPTION_CASCADE, FK_OPTION_SET_NULL,
  FK_OPTION_NO_ACTION, FK_OPTION_DEFAULT
}
- Public Types inherited from Key
enum  Keytype {
  PRIMARY, UNIQUE, MULTIPLE, FULLTEXT,
  SPATIAL, FOREIGN_KEY
}

Public Member Functions

 Foreign_key (const LEX_STRING &name_arg, List< Key_part_spec > &cols, const LEX_STRING &ref_db_arg, const LEX_STRING &ref_table_arg, List< Key_part_spec > &ref_cols, uint delete_opt_arg, uint update_opt_arg, uint match_opt_arg)
 Foreign_key (const Foreign_key &rhs, MEM_ROOT *mem_root)
virtual Keyclone (MEM_ROOT *mem_root) const
- Public Member Functions inherited from Key
 Key (enum Keytype type_par, const LEX_STRING &name_arg, KEY_CREATE_INFO *key_info_arg, bool generated_arg, List< Key_part_spec > &cols)
 Key (enum Keytype type_par, const char *name_arg, size_t name_len_arg, KEY_CREATE_INFO *key_info_arg, bool generated_arg, List< Key_part_spec > &cols)
 Key (const Key &rhs, MEM_ROOT *mem_root)

Public Attributes

LEX_STRING ref_db
LEX_STRING ref_table
List< Key_part_specref_columns
uint delete_opt
uint update_opt
uint match_opt
- Public Attributes inherited from Key
enum Keytype type
KEY_CREATE_INFO key_create_info
List< Key_part_speccolumns
LEX_STRING name
bool generated
Val m_val
int8 m_flag

Additional Inherited Members

- Static Public Member Functions inherited from Sql_alloc
static void * operator new (size_t size) throw ()
static void * operator new[] (size_t size) throw ()
static void * operator new[] (size_t size, MEM_ROOT *mem_root) throw ()
static void * operator new (size_t size, MEM_ROOT *mem_root) throw ()
static void operator delete (void *ptr, size_t size)
static void operator delete (void *ptr, MEM_ROOT *mem_root)
static void operator delete[] (void *ptr, MEM_ROOT *mem_root)
static void operator delete[] (void *ptr, size_t size)

Detailed Description

Definition at line 296 of file sql_class.h.

Constructor & Destructor Documentation

Foreign_key::Foreign_key ( const Foreign_key rhs,
MEM_ROOT mem_root 
)

Construct an (almost) deep copy of this foreign key. Only those elements that are known to never change are not copied. If out of memory, a partial copy is returned and an error is set in THD.

Definition at line 128 of file sql_class.cc.

Member Function Documentation

virtual Key* Foreign_key::clone ( MEM_ROOT mem_root) const
inlinevirtual

Used to make a clone of this object for ALTER/CREATE TABLE

See Also
comment for Key_part_spec::clone

Reimplemented from Key.

Definition at line 324 of file sql_class.h.


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