此块,即数据字典块,位于 storage/ndb/src/kernel/blocks/dbdict
中。数据字典信息被复制到集群中的所有 DICT
块。这是除 DBTC
之外唯一可以接收应用程序直接请求的块。
DBDICT
负责管理元数据(使用主数据节点),包括表、列、索引、表空间、日志文件、日志文件组和其他数据对象的定义。
此块在以下文件中实现
CreateIndex.txt
:包含有关创建、更改和删除索引和触发器的过程的说明。Dbdict.cpp
:实现了事件元数据记录的结构(用于NDB$EVENTS_0
),以及用于系统启动和重启、表和模式文件处理以及将表数据打包到页面中的方法。此处还提供了确定节点状态和处理节点故障的功能。此外,此文件还实现了Dbdict
的数据和其他初始化例程。DictLock.txt
:实现说明:描述了针对模式操作锁定主节点的DICT
。printSchemaFile.cpp
:包含 ndb_print_schema_file 实用程序的源代码。Slave_AddTable.sfl
:在非主节点上为DBDICT
创建表的信号日志跟踪。CreateTable.txt
:概述表创建过程的注释(已过时)。CreateTable.new.txt
:概述表创建过程的注释(CreateTable.txt
的更新版本)。Dbdict.hpp
:定义了Dbdict
类;还创建了NDB$EVENTS_0
表。还定义了许多结构,例如表和索引记录,以及表记录。DropTable.txt
:删除表过程的实现说明。Dbdict.txt
:有关创建和删除事件和NdbEventOperation
对象的实现说明。Event.txt
:Dbdict.txt
的副本。Master_AddTable.sfl
:在主节点上为DBDICT
创建表的信号日志跟踪。SchemaFile.hpp
:定义模式文件的结构。