2.3.26 项目等级

本节提供有关 Object类的信息,其中包含有关数据库对象(例如表和索引)的元信息。 Object子类对这些和其他数据库对象建模。

项目等级概览

家长班

NdbDictionary

儿童班

Datafile,,,,,,,,, Event_ Index_ LogfileGroup_ Table_ Tablespace_ Undofile_ HashMap_ ForeignKey

方法

下表列出了 Object该类的公共方法以及每个方法的用途或用途:

表 2.70 对象类方法及说明

姓名 描述
getObjectId() 获取对象的 ID
getObjectStatus() 获取对象的状态
getObjectVersion() 获取对象的版本

所有这 3 个方法都是纯虚方法,并在需要时在TableIndexEvent子类中重新实现。

类型

这些是Object 该类的公共类型:

表 2.71 对象类类型和描述

姓名 描述
FragmentType 对象(表或索引)使用的碎片类型
State 对象的状态(是否可用)
Status 对象的状态(是否可用)
Store 对象是否已被临时或永久存储
Type 对象的类型(代表什么类型的表、索引或其他数据库对象Object

对象::片段类型

本节提供有关 FragmentType类型的信息,它描述了一个实例的碎片类型 Object

描述

该参数指定表或索引中的数据如何分布在集群的数据节点中,即每个节点的分片数。表越大,应使用的片段数就越多。请注意,所有片段副本都算作一个片段。对于表,默认值为FragAllMedium. 对于唯一哈希索引,默认值取自基础表,目前无法更改。

枚举值

下表显示了可能的值FragmentType以及说明:

表 2.72 FragmentType 值和描述

姓名 描述
FragUndefined 碎片类型未定义或默认
FragAllMedium 每个节点两个片段
FragAllLarge 每个节点四个片段
DistrKeyHash 分布式散列键
DistrKeyLin 分布式线性哈希键
UserDefined 用户自定义
HashMapPartition 哈希映射分区

对象::获取对象状态()

描述

此方法检索调用它的对象的状态。

签名
virtual Status getObjectStatus
    (
      void
    ) const
参数

没有

返回值

返回 的 电流 StatusObject

对象::getObjectId()

描述

此方法检索对象的 ID。

签名
virtual int getObjectId
    (
      void
    ) const
参数

没有

返回值

对象 ID,一个整数。

对象::getObjectVersion()

描述

该方法获取对象的当前版本。

签名
virtual int getObjectVersion
    (
      void
    ) const
参数

没有

返回值

对象的版本号,一个整数。

对象::分区平衡

本节提供有关 PartitionBalance数据类型的信息。

描述

此类型枚举分区平衡设置(片段计数类型),使用 setPartitionBalance(). 这也是返回的类型 getPartitionBalance()

枚举值

下表显示了可能的值PartitionBalance以及说明:

表 2.73 Object::PartitionBalance 数据类型值和描述

姓名 描述
PartitionBalance_ForRPByLDM 每个节点每个 LDM 使用一个片段
PartitionBalance_ForRAByLDM 每个节点组的每个 LDM 使用一个片段
PartitionBalance_ForRPByNode 每个节点使用一个片段
PartitionBalance_ForRAByNode 每个节点组使用一个片段
PartitionBalance_Specific 使用设置由 setPartitionBalance()

在 NDB 7.4 及更早版本中,这被称为 FragmentCountType,并且可以采用值FragmentCount_OnePerLDMPerNodeFragmentCount_OnePerLDMPerNodeGroupFragmentCount_OnePerNodeFragmentCount_OnePerNodeGroup或 之一FragmentCount_Specific。这些值对应于上表中显示的值,并按所示顺序排列。

对象::状态

本节提供有关 State类型的信息,该类型对 Object.

描述

该参数为我们提供了对象的状态。所谓 状态,是指对象是否已定义并且是否处于可用状态。数值用于信息数据库 中的 表 的state列中。dict_obj_infohash_mapsndbinfo

枚举值

下表显示了可能的值State以及说明:

表 2.74 对象状态类型值和描述

ID 姓名 描述
1个 StateUndefined 不明确的
StateOffline 离线,无法使用
2个 StateBuilding 建筑(例如恢复?),不可用(?)
3个 StateDropping 掉线或掉线;不可用
4个 StateOnline 在线,可用
5个 StateBackup 在线、正在备份、可用
6个 StateBroken 破碎的; 应该被删除并重新创建

对象::状态

本节提供有关 Status类型的信息,该类型模拟 Object.

描述

读取一个对象可以判断它在 内核 Status中是否可用。NDB

枚举值

下表显示了可能的值Status以及说明:

表 2.75 对象状态数据类型值和说明

姓名 描述
New 该对象只存在于内存中,尚未在 NDB内核中创建
Changed 该对象已在内存中修改,必须在 NDB内核中提交才能使更改生效
Retrieved NDB对象存在,并且已经从内核读入主存
Invalid 该对象已失效,不应再使用
Altered 该表已在NDB内核中更改,但仍可供使用

对象::商店

本节提供有关 Store类型的信息,它描述了Object.

描述

读取这个值告诉我们对象是临时的还是永久的。

枚举值

下表显示了可能的值Store以及说明:

表 2.76 对象存储数据类型值和描述

姓名 描述
StoreUndefined 对象未定义
StoreTemporary 临时存储; 对象或数据将在系统重启时被删除
StorePermanent 对象或数据是永久的;它已被记录到磁盘

对象::类型

本节提供有关 Type类型的信息。

描述

对象的Type可以是几种不同类型的索引、触发器、表空间等之一。

枚举值

下表显示了可能的值Type以及说明:

表 2.77 对象类型数据类型值和描述

姓名 描述
TypeUndefined 不明确的
SystemTable 系统表
UserTable 用户表(可能是临时的)
UniqueHashIndex 唯一(但无序)的哈希索引
OrderedIndex 有序(但不是唯一)索引
HashIndexTrigger 索引维护(内部
IndexTrigger 索引维护(内部
SubscriptionTrigger 备份或复制(内部
ReadOnlyConstraint 触发器(内部
Tablespace 表空间
LogfileGroup 日志文件组
Datafile 数据文件
Undofile 撤消文件
ReorgTrigger 扳机
HashMap 哈希图
ForeignKey 外键
FKParentTrigger 在外键的父表上触发
FKChildTrigger 在外键的子表上触发

有关 、 和 的更多信息ForeignKeyFKParentTriggerFKChildTrigger参阅 第 2.3.6 节“外键类”