NDB Cluster Internals  / NDB Kernel Blocks  /  The DBDICT Block

4.4 The DBDICT Block

This block, the data dictionary block, is found instorage/ndb/src/kernel/blocks/dbdict. Data dictionary information is replicated to allDICT blocks in the cluster. This is the only block other thanDBTC to which applications can send direct requests.

DBDICT is responsible for managing metadata (using the master data node) including the definitions for tables, columns, indexes, tablespaces, log files, log file groups, and other data objects.

This block is implemented in the following files:

  • CreateIndex.txt: Contains notes about processes for creating, altering, and dropping indexes and triggers.

  • Dbdict.cpp: Implements structure for event metadata records (forNDB$EVENTS_0), as well as methods for system start and restart, table and schema file handling, and packing table data into pages. Functionality for determining node status and handling node failures is also found here. In addition, this file implements data and other initialisation routines forDbdict.

  • DictLock.txt: Implementation notes: Describes locking of the master node'sDICT against schema operations.

  • printSchemaFile.cpp: Contains the source for thendb_print_schema_file utility.

  • Slave_AddTable.sfl: A signal log trace of a table creation operation forDBDICT on a nonmaster node.

  • CreateTable.txt: Notes outlining the table creation process (dated).

  • CreateTable.new.txt: Notes outlining the table creation process (updated version ofCreateTable.txt).

  • Dbdict.hpp: Defines theDbdict class; also creates theNDB$EVENTS_0 table. Also defines a number of structures such as table and index records, as well as for table records.

  • DropTable.txt: Implementation notes for the process of dropping a table.

  • Dbdict.txt: Implementation notes for creating and dropping events andNdbEventOperation objects.

  • Event.txt: A copy ofDbdict.txt.

  • Master_AddTable.sfl: A signal log trace of a table creation operation forDBDICT on the master node.

  • SchemaFile.hpp: Defines the structure of a schema file.