renameCS()

语法

db.renameCS( <oldname>, <newname> )

集合空间改名。

参数描述

参数名参数类型描述是否必填
oldname字符串要修改的集合空间名。
newname字符串集合空间新名字。

Note:

  • 改名过程中会阻塞相应数据节点的写操作。
  • 不允许直连数据节点,对集合空间改名。

返回值

无返回值,出错抛异常,并输出错误信息。

错误

常见异常如下:

错误码错误类型描述解决方法
-34SDB_DMS_CS_NOTEXISToldname对应的集合空间不存在。对已存在的集合空间执行rename。
-33SDB_DMS_CS_EXISTnewname对应的集合空间已存在。newname设为不存在的名字。
-67SDB_BACKUP_HAS_ALREADY_START数据节点正在做备份。等待备份完成,再执行改名。
-148SDB_DMS_STATE_NOT_COMPATIBLE数据节点上有其他rename操作正在执行。等待其余rename完成,再执行改名。
-149SDB_REBUILD_HAS_ALREADY_START数据节点正在做rebuild。等待rebuild完成,再执行改名。

当异常抛出时,可以通过 getLastErrObj()getLastErrMsg() 获取错误信息 或 通过 getLastError() 获取错误码。更多错误可以参考常见错误处理指南

版本信息

3.0.1及以上版本

示例

对集合空间foo,改名为foo_new 。

  1. // 连接协调节点
  2. > db = new Sdb( "localhost", 11810 )
  3. > db.renameCS( "foo", "foo_new" )