Documentation Home
MySQL NDB Cluster API Developer Guide
Download this Manual

2.3.19 The NdbDictionary Class


This class provides meta-information about database objects, such as tables, columns, and indexes.

While the preferred method of database object creation and deletion is through the MySQL Server, NdbDictionary also permits the developer to perform these tasks through the NDB API.

Parent class.  None

Child classes.  Dictionary, Column, Object

Description.  This is a data dictionary class that supports enquiries about tables, columns, and indexes. It also provides ways to define these database objects and to remove them. Both sorts of functionality are supplied using inner classes that model these objects. These include the following inner classes:

  • Table for working with tables

  • Column for creating table columns

  • Index for working with secondary indexes

  • Dictionary for creating database objects and making schema enquiries

  • Event for working with events in the cluster.

Additional Object subclasses model the tablespaces, logfile groups, datafiles, and undofiles required for working with NDB Cluster Disk Data tables (introduced in MySQL 5.1), as well as foreign keys (NDB Cluster 7.3 and later).


Tables and indexes created using NdbDictionary cannot be viewed from the MySQL Server.

Dropping indexes through the NDB API that were created originally from an NDB Cluster causes inconsistencies. It is possible that a table from which one or more indexes have been dropped using the NDB API will no longer be usable by MySQL following such operations. In this event, the table must be dropped, and then re-created using MySQL to make it accessible to MySQL once more.

Methods.  NdbDictionary itself has no public instance methods, only static methods that are used for working with NdbRecord objects. Operations not using NdbRecord are accomplished by means of NdbDictionary subclass instance methods. The following table lists the public methods of NdbDictionary and the purpose or use of each method:

Table 2.35 NdbDictionary class methods and descriptions

Name Description
getEmptyBitmask() Returns an empty column presence bitmask which can be used with NdbRecord
getFirstAttrId() Get the first attribute ID specified by a given NdbRecord object
getRecordIndexName() Gets the name of the index object referred to by an NdbRecord
getRecordRowLength() Get the number of bytes needed to store one row of data using a given NdbRecord
getRecordTableName() Gets the name of the table object referred to by an NdbRecord
getRecordType() Gets the RecordType of an NdbRecord
getValuePtr() Returns a pointer to the beginning of stored data specified by attribute ID, using NdbRecord
isNull() Show whether the null bit for a column is true or false
setNull() Set a column's null bit


For the numeric equivalents to enumerations of NdbDictionary subclasses, see the file /storage/ndb/include/ndbapi/NdbDictionary.hpp in the NDB Cluster source tree.