MySQL 源码解读 -- 基础结构之Schema

Schema

1
2
3
Schema 是接口函数, 依赖实现
class Schema : virtual public Entity_object {
}

Schema_impl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Schema_impl : public Entity_object_impl, public Schema {
// Fields
ulonglong m_created;
ulonglong m_last_altered;
enum_encryption_type m_default_encryption;

// The se_private_data column of a schema might be used by several storage
// engines at the same time as the schema is not associated with any specific
// engine. So to avoid any naming conflicts, we have the convention that the
// keys should be prefixed with the engine name.
Properties_impl m_se_private_data;

// References to other objects
Object_id m_default_collation_id;
}

Schemata

1
2
3
4
5
class Schemata : public Entity_object_table_impl {
virtual Schema *create_entity_object(const Raw_record &) const;
static Object_key *create_key_by_catalog_id(Object_id catalog_id);

}