24#ifndef DD__WEAK_OBJECT_IMPL_INCLUDED
25#define DD__WEAK_OBJECT_IMPL_INCLUDED
38class Entity_object_impl;
41class Open_dictionary_tables_ctx;
47template <
bool use_pfs>
54 void *
operator new(
size_t size,
const std::nothrow_t &nt)
noexcept {
60 return ::operator
new(
size, nt);
63 void operator delete(
void *ptr,
const std::nothrow_t &nt)
noexcept {
67 ::operator
delete(ptr, nt);
70 void *
operator new(
size_t size)
noexcept {
76 return ::operator
new(
size);
79 void operator delete(
void *ptr)
noexcept {
83 ::operator
delete(ptr);
Definition: entity_object_impl.h:44
Definition: object_key.h:38
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:141
Definition: raw_record.h:46
Definition: weak_object_impl.h:48
virtual void fix_has_new_primary_key()
Definition: weak_object_impl.h:148
virtual void set_primary_key_value(const Raw_new_record &)
Definition: weak_object_impl.h:142
virtual bool restore_children(Open_dictionary_tables_ctx *)
Definition: weak_object_impl.h:119
~Weak_object_impl_() override=default
bool check_parent_consistency(Entity_object_impl *parent, Object_id parent_id) const
Definition: weak_object_impl.cc:225
virtual bool restore_attributes(const Raw_record &r)=0
virtual bool store_children(Open_dictionary_tables_ctx *)
Definition: weak_object_impl.h:121
Weak_object_impl_()=default
virtual const Object_table & object_table() const =0
virtual bool has_new_primary_key() const =0
Indicates that object is guaranteed to have primary key value which doesn't exist in database (e....
virtual bool validate() const =0
virtual bool store_attributes(Raw_record *r)=0
virtual Object_key * create_primary_key() const =0
virtual bool store(Open_dictionary_tables_ctx *otx)
Store the DD object into DD table.
Definition: weak_object_impl.cc:59
virtual bool drop_children(Open_dictionary_tables_ctx *) const
Definition: weak_object_impl.h:123
bool drop(Open_dictionary_tables_ctx *otx) const
Drop the DD object from DD table.
Definition: weak_object_impl.cc:178
Base class for all data dictionary objects.
Definition: weak_object.h:42
#define MY_WME
Definition: my_sys.h:130
#define MYF(v)
Definition: my_inttypes.h:97
void * my_malloc(PSI_memory_key key, size_t size, int flags)
Allocates size bytes of memory.
Definition: my_memory.cc:57
void my_free(void *ptr)
Frees the memory pointed by the ptr.
Definition: my_memory.cc:81
Common header for many mysys elements.
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
unsigned long long Object_id
Definition: object_id.h:31
size_t size(const char *const c)
Definition: base64.h:46
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
PSI_memory_key key_memory_DD_objects
Definition: psi_memory_key.cc:41