1.4.3 克隆表

优质
小牛编辑
127浏览
2023-12-01

void cloneTable(String srcName, String destTable, boolean flushTable)

功能

克隆已存在的表,具有相同的TableSpec和表数据

方法参数

1.srcName : String : required

克隆的源表的表名

2.destTable : String : required

克隆的目标表的表名

3.flushTable : boolean : required

表数据分别存储在服务器端的内存和磁盘中,此选项如果为true,则先将源表在内存中数据刷到磁盘,再克隆源表,目标表和源表数据严格一致;否则,只克隆源表磁盘中数据,操作延迟更小。

方法返回值

void

异常错误码

INTERNAL_ERROR(1) : 服务器异常

ACCESS_DENIED(4) : 不具有克隆表的权限

VALIDATION_FAILED(5): 参数错误

SIZE_EXCEED(6) : 空间配额或者读写配额超过了用户的总配额

RESOURCE_NOT_FOUND(9): 源表不存在

RESOURCE_ALREADY_EXISTS(10) : 已存在与目标表同名的表

RESOURCE_UNAVAILABLE(11) : 该账户下有其它DDL操作正在进行,不允许同时进行DDL操作

限制

只有表的owner才能对表进行克隆

示例

以示例表为例,下面给出克隆表的示例代码

$srcName = 'php-note';
$destName = 'php-note-clone';
$adminClient->cloneTable($srcName, $destName, true);