如何删除dolphindb中保存到磁盘上的mvccTable?

我有一个mvccTable,并且把它保存到磁盘上。使用完之后,我想要删除硬盘上的这个表。我尝试过删除这个表的文件夹和.tbl文件,但是会报错:log.bin文件被占用无法删除。只有当我把dolphindb服务关闭之后才能删除。有没有不用关闭服务就能删除mvccTable的方法?

def dropMvccTable(WORK_DIR,tableName){
    if(exists(WORK_DIR+"/"+tableName)){
        try{
        rmdir(WORK_DIR+"/"+tableName,true)
        rm(WORK_DIR+"/"+tableName+".tbl")
        rm(WORK_DIR+"/"+tableName+".sym")
        }catch(ex){}
        }
    }
WORK_DIR="H:/DolphinDB/Data"
d=1..10000000
str=take(`ABC`JDK`KILL`PEN,10000000)
price=1.23+0..9999999
temp=table(id,str,price)
tt=mvccTable(1:0,`id`str`price,[INT,SYMBOL,DOUBLE],WORK_DIR,"tt")
tt.append!(temp)

dropMvccTable(WORK_DIR,"tt")
请先 登录 后评论

2 个回答

Jason Tang - 时序数据库技术支持

删除之前,请释放mvcc表。

tt = NULL
//或用下面语句
undef(`tt)

该表的释放将关闭与mvcc表关联的日志文件。

请先 登录 后评论
wfHuang

mvcc drop table是先undef,之后再删除磁盘上的两个文件即可是吗?@龚雨彤  

请先 登录 后评论