23#ifndef DD__WEAK_OBJECT_IMPL_INCLUDED
24#define DD__WEAK_OBJECT_IMPL_INCLUDED
37class Entity_object_impl;
40class Open_dictionary_tables_ctx;
46template <
bool use_pfs>
53 void *
operator new(
size_t size,
const std::nothrow_t &nt)
noexcept {
59 return ::operator
new(size, nt);
62 void operator delete(
void *ptr,
const std::nothrow_t &nt)
noexcept {
66 ::operator
delete(ptr, nt);
69 void *
operator new(
size_t size)
noexcept {
75 return ::operator
new(size);
78 void operator delete(
void *ptr)
noexcept {
82 ::operator
delete(ptr);
Definition: entity_object_impl.h:43
Definition: object_key.h:37
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:71
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:75
Definition: raw_record.h:140
Definition: raw_record.h:45
Definition: weak_object_impl.h:47
virtual void fix_has_new_primary_key()
Definition: weak_object_impl.h:147
virtual void set_primary_key_value(const Raw_new_record &)
Definition: weak_object_impl.h:141
virtual bool restore_children(Open_dictionary_tables_ctx *)
Definition: weak_object_impl.h:118
~Weak_object_impl_() override=default
bool check_parent_consistency(Entity_object_impl *parent, Object_id parent_id) const
Definition: weak_object_impl.cc:224
virtual bool restore_attributes(const Raw_record &r)=0
virtual bool store_children(Open_dictionary_tables_ctx *)
Definition: weak_object_impl.h:120
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:58
virtual bool drop_children(Open_dictionary_tables_ctx *) const
Definition: weak_object_impl.h:122
bool drop(Open_dictionary_tables_ctx *otx) const
Drop the DD object from DD table.
Definition: weak_object_impl.cc:177
Base class for all data dictionary objects.
Definition: weak_object.h:41
#define MY_WME
Definition: my_sys.h:125
#define MYF(v)
Definition: my_inttypes.h:96
void * my_malloc(PSI_memory_key key, size_t size, int flags)
Allocates size bytes of memory.
Definition: my_memory.cc:56
void my_free(void *ptr)
Frees the memory pointed by the ptr.
Definition: my_memory.cc:80
Common header for many mysys elements.
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:42
unsigned long long Object_id
Definition: object_id.h:30
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:85
PSI_memory_key key_memory_DD_objects
Definition: psi_memory_key.cc:40