介绍设备的相关信息字典
类。
- 父类
- 子类
- 描述
-
它用于定义和检索数据对象元数据。它还包括创建和删除数据库对象的方法。
- 方法
-
下表列出了该类的公共方法以及每个方法的用途或用途:
表2.11字典类方法和描述
类创建的表和索引等数据库对象
字典::创建
方法不能被MySQL服务器看到。这意味着它们不能被MySQL客户端访问,也不能被复制。由于这些原因,通常最好避免与它们一起工作。*
()这
字典
类没有任何直接处理列的方法。你必须使用列
用于此目的的类方法—参见第2.3.1节,“列类”的细节。 - 类型
- 描述
-
启动一个模式事务。如果事务已经处于活动状态,或者内核元数据被锁定,则会发生错误。属性,可以确定模式事务是否已经存在
hasSchemaTrans ()
方法。一种元数据操作在创建、修改或删除数据对象时发生;这样的操作可以在NDB内核中创建额外的子操作。
这
Ndb
对象及其相关的字典
一次支持一个架构交易。默认情况下,每个元数据操作都单独执行;也就是说,对于每个操作,可以隐式启动架构事务,执行操作(包括任何子程序),并且交易关闭。也可以显式地开始和结束模式事务,并在其边界内原子地执行一组用户定义的操作。在这种情况下,模式事务中的所有操作要么作为一个单元成功,要么被中止和回滚。这可以通过下面列出的步骤来完成:
要开始模式事务,调用
beginSchemaTrans ()
。执行所需的操作(例如
不知道()
)。通过调用结束模式事务
endSchemaTrans
。
每个操作都被发送到NDB内核,由内核解析并保存它。解析失败会导致在返回之前回滚到前一个用户操作,此时用户可以继续执行整个事务,也可以中止整个事务。
在提交了所有的操作之后,
endSchemaTrans ()
处理并提交它们。在出现错误的情况下,事务将立即中止。如果用户在呼叫前退出
endSchemaTrans ()
, NDB内核中止事务。如果用户在呼叫前退出endSchemaTrans ()
返回后,内核继续处理请求,并且它的完成状态报告在集群日志中。 - 签名
-
int beginschematrans(空白)
- 参数
-
没有一个。
- 返回值
-
成功返回0,错误返回-1。
- 描述
-
创建一个
ForeignKey
对象,给定对该对象的引用和对象
ID。 - 签名
-
int createForeignKey (const ForeignKey&, ObjectId* = 0, int旗帜= 0)
- 参数
-
A引用
ForeignKey
对象,和一个对象
ID。一个可选值旗帜
,如果使用,则允许创建外键而不执行任何外键检查。如果设置,则其值必须为CreateFK_NoVerify
(1)。 - 返回值
-
0.
成功。
- 描述
-
创建一个
HashMap
。 - 签名
-
int createHashMap (const HashMap&Hashmap.,ObjectID *id= 0)
- 参数
-
对哈希映射的引用,以及要分配给它的ID(可选)。
- 返回值
-
成功返回0;失败时,返回-1并设置错误。
- 描述
-
的实例,此方法创建一个新的日志文件组
LogfileGroup
。 - 签名
-
int createLogfileGroup (const LogfileGroup&lGroup)
- 参数
-
一个单独的参数,一个对
LogfileGroup
对象,是必需的。 - 返回值
-
0.
成功,1
在失败。
- 描述
-
此方法用于创建
NdbRecord
对象,用于表或索引扫描操作。 - 签名
-
这个方法的签名取决于产生的NdbRecord是用于表操作还是索引操作:
创造一个
NdbRecord
有关表操作,请使用以下内容:NdbRecord* createRecord (const Table*表格,Const Recordspecification *recspec., Uint32长度, Uint32elSize)
创造一个
NdbRecord
对于索引操作,你可以使用以下任意一种:NdbRecord* createRecord (const Index*指数,const表*表格,Const Recordspecification *recspec., Uint32长度, Uint32elSize)
或
NdbRecord* createRecord (const Index*指数,Const Recordspecification *recspec., Uint32长度, Uint32elSize)
- 参数
-
字典:createRecord ()
采用以下参数:如果这
NdbRecord
是要用一个索引、一个指针来对应吗指数
对象。如果NdbRecord
将与表一起使用,省略此参数。(看第2.3.8节“索引类”)。一个指向
表格
表示要扫描的表的对象。如果Ndbrecord
生成的索引将与索引一起使用,然后这个可选地指定包含该索引的表。(看第2.3.27节,“Table类”)。一种
RecordSpecification
用于描述一列。这
长度
的记录。组成这个记录的元素的大小。
- 返回值
-
一个
NdbRecord
用于涉及给定表或索引的操作。 - 例子
- 描述
-
给定一个实例创建表
表格
。使用这种方法创建的表不能被MySQL服务器看到,不能被MySQL客户端更新,不能被复制。
- 签名
-
int createTable (const Table&表格)
- 参数
-
的一个实例
表格
。看第2.3.27节,“Table类”,以获取更多信息。 - 返回值
-
0.
成功,1
在失败。
- 描述
-
给定对事件的引用,此方法将删除事件
事件
对象。 - 签名
-
int dropEvent (const char*的名字,int力= 0)
- 参数
-
此方法需要两个参数:
这
的名字
要删除的事件的字符串。默认情况下,
DropEvent()
如果指定的事件不存在,则失败。您可以通过为(可选)力
参数;在这种情况下,不会检查实际是否存在这样的事件,并且只有当事件存在时才会返回错误,但是由于某种原因不可能删除它。
- 返回值
-
0.
成功,1
在失败。
- 描述
-
给定对元素的引用,此方法将删除外键
ForeignKey
要删除的对象。 - 签名
-
int dropForeignKey (const ForeignKey&)
- 参数
-
A引用
ForeignKey
要删除。 - 返回值
-
0.
成功。
- 描述
-
举出…的例子
LogfileGroup
,此方法删除相应的日志文件组。 - 签名
-
int dropLogfileGroup (const LogfileGroup&lGroup)
- 参数
-
一个单独的参数,一个对
LogfileGroup
对象,是必需的。 - 返回值
-
0.
成功,1
在失败。
- 描述
-
的实例删除表
表格
。在NDB 7.3.5及更高版本中,此方法将所有外部密钥约束丢弃
表格
无论被删除的表是父表还是子表,还是同时作为父表和子表。(错误# 18069680)在NDB 8.0.17之前,an
NDB
使用此方法删除的表在MySQL数据字典中持久化,但不能使用此方法删除下拉表
在mysql客户端。在NDB 8.0.17和更高版本中,这样的“孤儿“可以使用表格删除下拉表
。(Bug #29125206, Bug #93672) - 签名
-
int dropTable (const Table&表格)
- 参数
-
的一个实例
表格
。看第2.3.27节,“Table类”,以获取更多信息。 - 返回值
-
0.
成功,1
在失败。
- 描述
-
结束以开头的模式事务
beginSchemaTrans ()
;导致处理和提交操作,或者中止和回滚操作。该方法结合了事务执行和关闭;这些任务不需要(或实现)单独的方法。即使当前没有模式事务处于活动状态,也可以成功调用此方法。与许多其他NDB API方法一样,它完全有可能用于
endSchemaTrans ()
覆盖任何当前错误代码。出于这个原因,您应该首先检查并保存以前失败操作可能导致的任何错误代码。 - 签名
-
int endSchemaTrans (Uint32)旗帜= 0)
- 参数
-
标志决定了如何处理完成的事务。默认值是0,这将导致提交事务。
字典::SchemaTransFlag。你也可以用with
endSchemaTrans ()
这两个SchemaTransFlag
值所示:SchemaTransAbort
(= 1):导致事务中止Schematransbackground.
(= 2):导致事务在后台执行;结果被写到集群日志中,而应用程序不等待响应继续运行。
- 返回值
-
成功返回0;在发生错误的情况下,返回-1并设置
NdbError
错误代码。
- 描述
-
这个方法用于检索
数据文件
对象,给定数据文件所在的数据节点的节点ID,以及该节点文件系统上的数据文件路径。 - 签名
-
Datafile getDatafile (Uint32nodeid., const char *小路)
- 参数
-
这个方法必须使用两个参数来调用,如下所示:
32位无符号整数
nodeid.
数据文件所在的数据节点这
小路
到节点文件系统上的数据文件(字符串作为字符指针)
- 返回值
-
一种
数据文件
object-see第2.3.2节,“数据文件类”的细节。
- 描述
-
获取一个表的默认散列映射。
- 签名
-
int getDefaultHashMap (HashMap&dst, Uint32片段)
或
int getDefaultHashMap (HashMap&dst, Uint32桶, Uint32片段)
- 返回值
-
成功返回0;失败时,返回-1并设置错误。
- 描述
-
这个方法是用来获取一个新的
事件
给定事件名称,表示事件的对象。getEvent ()
每次成功调用时分配内存。您应该记住,使用相同事件名称连续调用此方法将返回多个不同的对象。NDB API不跟踪分配的事件对象,这意味着用户必须删除每个事件对象
事件
使用getEvent ()
,当对象不再需要时。 - 签名
-
const活动* getevent(const char *eventName)
- 参数
-
这
eventName
,一个字符串(字符指针)。 - 返回值
-
一个指向
事件
对象。看第2.3.5节“事件类”,以获取更多信息。
- 描述
-
这个方法是用来获取一个新的
ForeignKey
对象,该对象表示一个事件,给定对外键及其名称的引用。 - 签名
-
int getForeignKey (ForeignKey&dst, const char *的名字)
- 参数
-
对外键及其的引用
的名字
,一个字符串(字符指针)。 - 返回值
-
一个指向
ForeignKey
对象。
- 描述
-
按名称或表获取哈希映射。
- 签收
-
int getHashMap (HashMap&dst, const char *的名字)
或
int getHashMap (HashMap&dst,const表*表格)
- 参数
-
一个对哈希映射的引用,以及一个名称或
表格
。 - 返回值
-
成功返回0;失败时,返回-1并设置错误。
- 描述
-
给定索引的名称和该表所属的表的名称,此方法检索指向索引的指针。
- 签名
-
const char* . getIndex (const char* . getIndex)iName, const char *tName)常量
- 参数
-
需要设置两个参数:
索引的名称(
iName
)索引所属的表的名称(
tName
)
这两个都是字符串值,由字符指针表示。
- 返回值
-
一个指向
指数
。看第2.3.8节“索引类”,以获取有关此对象的信息。
- 描述
-
这种方法得到了一个
LogfileGroup
对象,给定日志文件组的名称。 - 签名
-
logfilegroup getlogfilegroup(const char *的名字)
- 参数
-
这
的名字
日志文件组。 - 返回值
-
的一个实例
LogfileGroup
;看第2.3.9节,“LogfileGroup类”,以获取更多信息。
- 描述
-
该方法可用于访问a
表格
他的名字已经被知道了。 - 签名
-
const Table* getTable (const char*的名字)常量
- 参数
-
这
的名字
的表。 - 返回值
-
指向表的指针
零
如果没有桌子的名字
提供。
- 描述
-
给定表空间的名称或ID,该方法返回相应的名称或ID
表空间
对象。 - 签收
-
该方法可以通过以下两种方式调用:
使用表空间名:
表空间gettablespace(const char *的名字)
使用表空间ID:
表空间gettablespace(uint32id)
- 参数
-
无论是以下一项:
这
的名字
表空间的一个字符串(作为字符指针)无符号32位整数
id
的表空间
- 返回值
-
一种
表空间
如上所述,对象Section 2.3.28, "表空间类"。
- 描述
-
该方法获得
Undofile
对象,给定撤消文件所在节点的ID和该文件的文件系统路径。 - 签名
-
undofile getundofile(UINT32nodeid., const char *小路)
- 参数
-
此方法需要以下两个参数:
这
nodeid.
撤消文件所在的数据节点的;该值作为32位无符号整数传递这
小路
在节点文件系统上的撤消文件(字符串为字符指针)
- 返回值
-
的一个实例
Undofile
。有关更多信息,请参见第2.3.29节,“Undofile类”。
- 描述
-
初始化表的默认哈希映射。
- 签名
-
int initdefaulthashmap(hashmap&dst,uint32碎片)
或
int initDefaultHashMap (HashMap& dst, Uint32桶数,Uint32碎片数)
- 参数
-
对哈希映射和片段数的引用。可选的桶数。
- 返回值
-
成功返回0;失败时,返回-1并设置错误。
- 描述
-
此方法返回字典中定义的所有事件的列表。
- 签名
-
int listEvents (List&列表)
- 参数
-
A对A的引用
列表
对象。(看第2.3.10节,“List类”)。 - 返回值
-
0.
成功;1
在失败。
- 描述
-
该方法用于获得a
列表
在一个表的所有索引中,给定表的名称。(看第2.3.10节,“List类”)。 - 签名
-
int listIndexes (List&列表, const char *表格)常量
- 参数
-
listIndexes ()
占用两个参数,两者都是必需的:A引用
列表
它包含了方法调用之后的索引的名称
表格
列出谁的索引
- 返回值
-
0.
成功,1
在失败。
- 描述
-
此方法用于获取字典中的对象列表。可以获取字典中的所有对象,也可以将列表限制为单一类型的对象。
- 签名
-
该方法有两个签名:
int listObjects(列表&列表,对象::类型类型= Object::TypeUndefined) const
和
int listObjects(列表&列表,对象::类型类型bool,完全合格)常量
- 参数
-
A对A的引用
列表
对象是必需的 - 这是包含之后包含字典对象的列表listObjects ()
叫做。(看第2.3.10节,“List类”)。可选的第二个参数类型
可以用来限制列表只包含给定类型的对象——也就是指定类型的对象对象:类型
。(看对象:类型)。如果类型
,则该列表包含字典的所有对象。属性中还可以指定对象名称是否为
列表
是完全限定的(即对象名是否包括数据库、模式,可能还包括表名)。如果您指定完全合格
,则还必须指定类型
。笔记设置
完全合格
来错误的
原因listObjects ()
返回使用完全限定名称的对象。 - 返回值
-
0.
成功,1
在失败。
- 描述
-
创建或检索适合改变的哈希图。需要架构交易正在进行中;看字典:beginSchemaTrans (),以获取更多信息。
- 签收
-
下列任何一项:
int prepareHashMap (const Table&oldTable,表newTable)
int prepareHashMap (const Table&oldTable,表newTable, Uint32桶)
- 参数
-
对旧表和新表的引用。可以选择多个桶。
- 返回值
-
成功返回0;失败时,返回-1并设置错误。