delete all
此函数将移除给定类的所有对象(及其索引项)。
MCO_RET classname_delete_all(
/*IN*/ mco_trans_h trans
);
参数
trans
mco_trans_h
由 mco_trans_start()
函数返回的 MCO_READ_WRITE
事务句柄。
返回
MCO_S_OK
删除对象成功。
MCO_E_ACCESS
事务句柄为MCO_READ_ONLY
。
MCO_E_DELETED
该对象已被删除。
MCO_E_NOMEM
数据库内存分配错误。
MCO_ERR_TRN
封闭事务中出现错误。
示例
以下代码片段展示了如何使用 classname_delete_all()
函数来删除特定类的所有数据库对象。
Snippet from schema file:
class Record
{
uint4 key;
hash <key> hkey;
};
/* 应用程序代码片段 */
int delete_records(mco_db_h db)
{
MCO_RET rc;
mco_trans_h t;
rc = mco_trans_start(db, MCO_READ_WRITE, MCO_TRANS_FOREGROUND, &t);
if ( MCO_S_OK == rc )
{
rc = Record_delete_all(t);
if ( MCO_S_OK == rc )
{
rc = mco_trans_commit(t);
}
else
{
printf("\n\t error(%d) from delete_all", rc);
rc = mco_trans_rollback(t);
}
}
...
}