NdbDictionary::Object Class Reference

Meta information about a database object (a table, index, etc). More...

#include <NdbDictionary.hpp>

Inheritance diagram for NdbDictionary::Object:

NdbDictionary::Datafile NdbDictionary::Event NdbDictionary::HashMap NdbDictionary::Index NdbDictionary::LogfileGroup NdbDictionary::ObjectId NdbDictionary::Table NdbDictionary::Tablespace NdbDictionary::Undofile

List of all members.

Public Types

enum  Status {
  New, Changed, Retrieved, Invalid,
  Altered
}
enum  Type {
  TypeUndefined = 0, SystemTable = 1, UserTable = 2, UniqueHashIndex = 3,
  OrderedIndex = 6, HashIndexTrigger = 7, IndexTrigger = 8, SubscriptionTrigger = 9,
  ReadOnlyConstraint = 10, TableEvent = 11, Tablespace = 20, LogfileGroup = 21,
  Datafile = 22, Undofile = 23, ReorgTrigger = 19, HashMap = 24
}
enum  State {
  StateUndefined = 0, StateOffline = 1, StateBuilding = 2, StateDropping = 3,
  StateOnline = 4, StateBackup = 5, StateBroken = 9
}
enum  Store { StoreUndefined = 0, StoreNotLogged = 1, StorePermanent = 2 }
enum  FragmentType {
  FragUndefined = 0, FragSingle = 1, FragAllSmall = 2, FragAllMedium = 3,
  FragAllLarge = 4, DistrKeyHash = 5, DistrKeyLin = 6, UserDefined = 7,
  HashMapPartition = 9
}

Public Member Functions

 Object ()
virtual ~Object ()
virtual Status getObjectStatus () const =0
virtual int getObjectVersion () const =0
virtual int getObjectId () const =0


Detailed Description

Meta information about a database object (a table, index, etc).

Member Enumeration Documentation

Type of fragmentation.

This parameter specifies how data in the table or index will be distributed among the db nodes in the cluster.
The bigger the table the more number of fragments should be used. Note that all replicas count as same "fragment".
For a table, default is FragAllMedium. For a unique hash index, default is taken from underlying table and cannot currently be changed.

Enumerator:
FragUndefined  Fragmentation type undefined or default.
FragSingle  Only one fragment.
FragAllSmall  One fragment per node, default.
FragAllMedium  two fragments per node
FragAllLarge  Four fragments per node.
DistrKeyHash 
DistrKeyLin 
UserDefined 
HashMapPartition 

Object state

Enumerator:
StateUndefined  Undefined.
StateOffline  Offline, not usable.
StateBuilding  Building, not yet usable.
StateDropping  Offlining or dropping, not usable.
StateOnline  Online, usable.
StateBackup  Online, being backuped, usable.
StateBroken  Broken, should be dropped and re-created.

Status of object

Enumerator:
New  The object only exist in memory and has not been created in the NDB Kernel
Changed  The object has been modified in memory and has to be commited in NDB Kernel for changes to take effect
Retrieved  The object exist and has been read into main memory from NDB Kernel
Invalid  The object has been invalidated and should not be used
Altered  Table has been altered in NDB kernel but is still valid for usage

Object store

Enumerator:
StoreUndefined  Undefined.
StoreNotLogged  Object or data deleted on system restart.
StorePermanent  Permanent. logged to disk.

Object type

Enumerator:
TypeUndefined  Undefined.
SystemTable  System table.
UserTable  User table (may be temporary).
UniqueHashIndex  Unique un-ordered hash index.
OrderedIndex  Non-unique ordered index.
HashIndexTrigger  Index maintenance, internal.
IndexTrigger  Index maintenance, internal.
SubscriptionTrigger  Backup or replication, internal.
ReadOnlyConstraint  Trigger, internal.
TableEvent  Table event.
Tablespace  Tablespace.
LogfileGroup  Logfile group.
Datafile  Datafile.
Undofile  Undofile.
ReorgTrigger 
HashMap 

Reimplemented in NdbDictionary::Index.


Constructor & Destructor Documentation

NdbDictionary::Object::Object (  )  [inline]

virtual NdbDictionary::Object::~Object (  )  [inline, virtual]


Member Function Documentation

virtual int NdbDictionary::Object::getObjectId (  )  const [pure virtual]

virtual Status NdbDictionary::Object::getObjectStatus (  )  const [pure virtual]

virtual int NdbDictionary::Object::getObjectVersion (  )  const [pure virtual]


The documentation for this class was generated from the following file:

MySQL Cluster Database Blog

Based on MySQL Cluster 7.0.6.

This page is for information only and is not maintained by MySQL or Sun Microsystems - use at your own risk. For an upto date view of the API refer to the header files included with your MySQL Cluster distribution or check the MySQL Cluster API Developer Guide.