流表用defined(name, VAR|DEF)判断为什么总是返回false

如下代码所示,我想在创建DolphinDB database流表之前先清除流表。

stName="mtopst"
if (defined(stName,VAR)){
    clearTablePersistence(objByName(stName));
    undef(stName,SHARED)        
}
colnames = [`ts, `minID,`maxID,`err ]
coltypes = [TIMESTAMP, INT,  INT, STRING]
st1=  streamTable(10000:0, colnames, coltypes)  
enableTableShareAndPersistence(st1,stName, false, true, 1000,100,0);

但defined(stName,VAR)总是返回false,有什么办法?

请先 登录 后评论

1 个回答

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

defined第二个参数值用SHARED,或者用objs函数,代码如下:

stName="mtopst"
if (stName in objs(true).name)
      dropStreamTable(stName)
      
colnames = [`ts, `minID,`maxID,`err ]
coltypes = [TIMESTAMP, INT,  INT, STRING]
st1=  streamTable(10000:0, colnames, coltypes)  
enableTableShareAndPersistence(st1,stName, false, true, 1000,100,0);
请先 登录 后评论