24#ifndef DD__FOREIGN_KEY_IMPL_INCLUDED 
   25#define DD__FOREIGN_KEY_IMPL_INCLUDED 
   47class Open_dictionary_tables_ctx;
 
  254                          fk2->
name().c_str()) < 0);
 
Definition: collection.h:44
 
Definition: entity_object_impl.h:44
 
void set_name(const String_type &name) override
Definition: entity_object_impl.h:62
 
Object_id id() const override
The unique dictionary object id.
Definition: entity_object_impl.h:49
 
const String_type & name() const override
Definition: entity_object_impl.h:60
 
Entity_object_impl * impl() override
Definition: entity_object_impl.h:68
 
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: entity_object_impl.h:57
 
virtual const String_type & name() const =0
 
Definition: foreign_key_element.h:45
 
Definition: foreign_key_impl.h:57
 
Foreign_key_element * add_element() override
Definition: foreign_key_impl.cc:294
 
static Foreign_key_impl * clone(const Foreign_key_impl &other, Table_impl *table)
Definition: foreign_key_impl.h:219
 
Foreign_key_elements m_elements
Definition: foreign_key_impl.h:239
 
void set_unique_constraint_name(const String_type &name) override
Definition: foreign_key_impl.h:118
 
Entity_object_impl * impl() override
Definition: foreign_key_impl.h:199
 
void set_match_option(enum_match_option match_option) override
Definition: foreign_key_impl.h:128
 
void set_name(const String_type &name) override
Definition: foreign_key_impl.h:210
 
Table_impl * m_table
Definition: foreign_key_impl.h:235
 
String_type m_referenced_table_name
Definition: foreign_key_impl.h:233
 
Foreign_key_elements * elements() override
Definition: foreign_key_impl.h:196
 
bool deserialize(Sdi_rcontext *rctx, const RJ_Value &val) override
Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provide...
Definition: foreign_key_impl.cc:249
 
void set_update_rule(enum_rule update_rule) override
Definition: foreign_key_impl.h:138
 
enum_rule m_update_rule
Definition: foreign_key_impl.h:226
 
bool validate() const override
Definition: foreign_key_impl.cc:123
 
Foreign_key_impl * clone(Table_impl *parent) const
Definition: foreign_key_impl.h:242
 
const String_type & referenced_table_name() const override
Definition: foreign_key_impl.h:180
 
bool store_children(Open_dictionary_tables_ctx *otx) override
Definition: foreign_key_impl.cc:161
 
String_type m_referenced_table_schema_name
Definition: foreign_key_impl.h:232
 
static Foreign_key_impl * restore_item(Table_impl *table)
Definition: foreign_key_impl.h:215
 
bool restore_attributes(const Raw_record &r) override
Definition: foreign_key_impl.cc:175
 
const String_type & unique_constraint_name() const override
Definition: foreign_key_impl.h:114
 
void set_ordinal_position(uint)
Definition: foreign_key_impl.h:93
 
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: foreign_key_impl.h:204
 
String_type m_referenced_table_catalog_name
Definition: foreign_key_impl.h:231
 
void set_delete_rule(enum_rule delete_rule) override
Definition: foreign_key_impl.h:148
 
void set_referenced_table_schema_name(const String_type &name) override
Definition: foreign_key_impl.h:172
 
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: foreign_key_impl.cc:327
 
void set_referenced_table_name(const String_type &name) override
Definition: foreign_key_impl.h:184
 
void debug_print(String_type &outb) const override
Definition: foreign_key_impl.cc:268
 
void set_referenced_table_catalog_name(const String_type &name) override
Definition: foreign_key_impl.h:160
 
enum_rule m_delete_rule
Definition: foreign_key_impl.h:227
 
enum_rule delete_rule() const override
Definition: foreign_key_impl.h:146
 
enum_match_option m_match_option
Definition: foreign_key_impl.h:225
 
bool store_attributes(Raw_record *r) override
Definition: foreign_key_impl.cc:202
 
const String_type & referenced_table_catalog_name() const override
Definition: foreign_key_impl.h:156
 
enum_match_option match_option() const override
Definition: foreign_key_impl.h:126
 
bool restore_children(Open_dictionary_tables_ctx *otx) override
Definition: foreign_key_impl.cc:153
 
const Table & table() const override
Definition: foreign_key_impl.cc:85
 
const String_type & referenced_table_schema_name() const override
Definition: foreign_key_impl.h:168
 
~Foreign_key_impl() override=default
 
const Foreign_key_elements & elements() const override
Definition: foreign_key_impl.h:194
 
virtual uint ordinal_position() const
Definition: foreign_key_impl.h:95
 
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const override
Converts *this into json.
Definition: foreign_key_impl.cc:225
 
const Object_table & object_table() const override
Definition: foreign_key_impl.cc:321
 
String_type m_unique_constraint_name
Definition: foreign_key_impl.h:229
 
const String_type & name() const override
Definition: foreign_key_impl.h:207
 
bool drop_children(Open_dictionary_tables_ctx *otx) const override
Definition: foreign_key_impl.cc:167
 
Object_id id() const override
The unique dictionary object id.
Definition: foreign_key_impl.h:203
 
enum_rule update_rule() const override
Definition: foreign_key_impl.h:136
 
Foreign_key_impl()
Definition: foreign_key_impl.cc:69
 
const Table_impl & table_impl() const
Definition: foreign_key_impl.h:106
 
bool store(Open_dictionary_tables_ctx *otx) override
Store the DD object into DD table.
Definition: foreign_key_impl.cc:108
 
Table_impl & table_impl()
Definition: foreign_key_impl.h:108
 
const Entity_object_impl * impl() const override
Definition: foreign_key_impl.h:200
 
Definition: foreign_key.h:47
 
enum_match_option
Definition: foreign_key.h:62
 
enum_rule
Definition: foreign_key.h:54
 
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:72
 
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:76
 
Definition: raw_record.h:46
 
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:231
 
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:129
 
Definition: table_impl.h:68
 
A better implementation of the UNIX ctype(3) library.
 
int my_strcasecmp(const CHARSET_INFO *cs, const char *s1, const char *s2)
Definition: m_ctype.h:653
 
MYSQL_PLUGIN_IMPORT CHARSET_INFO * system_charset_info
Definition: mysqld.cc:1544
 
Functions related to handling of plugins and other dynamically loaded libraries.
 
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
 
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:64
 
unsigned long long Object_id
Definition: object_id.h:31
 
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:49
 
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
 
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
 
This header provides Rapidjson Type Aliases.
 
Class used to sort Foreign key's by name for the same table.
Definition: foreign_key_impl.h:250
 
bool operator()(const dd::Foreign_key *fk1, const dd::Foreign_key *fk2) const
Definition: foreign_key_impl.h:251