MySQL NDB Cluster API Developer Guide
This section provides information about the
Object class, which contains meta-information
about database objects such as tables and indexes.
Object subclasses model these and other database
objects.
Datafile,
Event,
Index,
LogfileGroup,
Table,
Tablespace,
Undofile,
HashMap,
ForeignKey
The following table lists the public methods of the
Object class and the purpose or use of
each method:
Table 2.71 Object class methods and descriptions
| Name | Description |
|---|---|
getObjectId() |
Gets an object's ID |
getObjectStatus() |
Gets an object's status |
getObjectVersion() |
Gets the version of an object |
All 3 of these methods are pure virtual methods, and are
reimplemented in the Table,
Index, and
Event subclasses where
needed.
These are the public types of the Object
class:
Table 2.72 Object class types and descriptions
| Name | Description |
|---|---|
FragmentType |
Fragmentation type used by the object (a table or index) |
State |
The object's state (whether it is usable) |
Status |
The object's state (whether it is available) |
Store |
Whether the object has been temporarily or permanently stored |
Type |
The object's type (what sort of table, index, or other database
object the Object represents) |
This section provides information about the
FragmentType type, which describes the
fragmentation type of an instance of
Object.
This parameter specifies how data in the table or index is
distributed among the cluster's data nodes, that is,
the number of fragments per node. The larger the table, the
larger the number of fragments that should be used. Note
that all fragment replicas count as a single fragment. For a
table, the default is FragAllMedium. For
a unique hash index, the default is taken from the
underlying table and cannot currently be changed.
Possible values for FragmentType are
shown, along with descriptions, in the following table:
Table 2.73 FragmentType values and descriptions
| Name | Description |
|---|---|
FragUndefined |
The fragmentation type is undefined or the default |
FragAllMedium |
Two fragments per node |
FragAllLarge |
Four fragments per node |
DistrKeyHash |
Distributed hash key |
DistrKeyLin |
Distributed linear hash key |
UserDefined |
User defined |
HashMapPartition |
Hash map partition |
This method retrieves the object's ID.
virtual int getObjectId
(
void
) const
None.
The object ID, an integer.
The method gets the current version of the object.
virtual int getObjectVersion
(
void
) const
None.
The object's version number, an integer.
This section provides information about the
PartitionBalance data type.
This type enumerates partition balance settings (fragment
count types) from which to choose when using
setPartitionBalance().
This is also the type returned by
getPartitionBalance()
Possible values for PartitionBalance are
shown, along with descriptions, in the following table:
Table 2.74 Object::PartitionBalance data type values and descriptions
| Name | Description |
|---|---|
PartitionBalance_ForRPByLDM |
Use one fragment per LDM per node |
PartitionBalance_ForRAByLDM |
Use one fragment per LDM per node group |
PartitionBalance_ForRPByNode |
Use one fragment per node |
PartitionBalance_ForRAByNode |
Use one fragment per node group |
PartitionBalance_Specific |
Use setting determined by
setPartitionBalance() |
In NDB 7.4 and earlier, this was known as
FragmentCountType, and could take one of the
values FragmentCount_OnePerLDMPerNode,
FragmentCount_OnePerLDMPerNodeGroup,
FragmentCount_OnePerNode,
FragmentCount_OnePerNodeGroup, or
FragmentCount_Specific. These values correspond
to those shown in the previous table, in the order shown.
This section provides information about the
State type, which models the state of the
Object.
This parameter provides us with the object's state. By
state, we mean whether or not the
object is defined and is in a usable condition. The numeric
values are used in the state columns of
the dict_obj_info and
hash_maps tables in the
ndbinfo information
database.
Possible values for State are shown,
along with descriptions, in the following table:
Table 2.75 Object State type values and descriptions
| ID | Name | Description |
|---|---|---|
| 1 | StateUndefined |
Undefined |
StateOffline |
Offline, not useable | |
| 2 | StateBuilding |
Building (e.g. restore?), not useable(?) |
| 3 | StateDropping |
Going offline or being dropped; not usable |
| 4 | StateOnline |
Online, usable |
| 5 | StateBackup |
Online, being backed up, usable |
| 6 | StateBroken |
Broken; should be dropped and re-created |
This section provides information about the
Status type, which models the status of an
Object.
Reading an object's Status tells
whether or not it is available in the NDB
kernel.
Possible values for Status are shown,
along with descriptions, in the following table:
Table 2.76 Object Status data type values and descriptions
| Name | Description |
|---|---|
New |
The object exists only in memory, and has not yet been created in the
NDB kernel |
Changed |
The object has been modified in memory, and must be committed in the
NDB Kernel for changes to take
effect |
Retrieved |
The object exists, and has been read into main memory from the
NDB Kernel |
Invalid |
The object has been invalidated, and should no longer be used |
Altered |
The table has been altered in the NDB kernel, but is
still available for use |
This section provides information about the
Store type, which describes the persistence of
an Object.
Reading this value tells us is the object is temporary or permanent.
Possible values for Store are shown,
along with descriptions, in the following table:
Table 2.77 Object Store data type values and descriptions
| Name | Description |
|---|---|
StoreUndefined |
The object is undefined |
StoreTemporary |
Temporary storage; the object or data will be deleted on system restart |
StorePermanent |
The object or data is permanent; it has been logged to disk |
This section provides information about the
Type type.
The Type of the object can be one of
several different sorts of index, trigger, tablespace, and
so on.
Possible values for Type are shown, along
with descriptions, in the following table:
Table 2.78 Object Type data type values and descriptions
| Name | Description |
|---|---|
TypeUndefined |
Undefined |
SystemTable |
System table |
UserTable |
User table (may be temporary) |
UniqueHashIndex |
Unique (but unordered) hash index |
OrderedIndex |
Ordered (but not unique) index |
HashIndexTrigger |
Index maintenance (internal) |
IndexTrigger |
Index maintenance (internal) |
SubscriptionTrigger |
Backup or replication (internal) |
ReadOnlyConstraint |
Trigger (internal) |
Tablespace |
Tablespace |
LogfileGroup |
Log file group |
Datafile |
Data file |
Undofile |
Undo file |
ReorgTrigger |
Trigger |
HashMap |
Hash map |
ForeignKey |
Foreign key |
FKParentTrigger |
Trigger on a foreign key's parent table |
FKChildTrigger |
Trigger on a foreign key's child table |
For more information about ForeignKey,
FKParentTrigger, and
FKChildTrigger, see
Section 2.3.6, “The ForeignKey Class”.