2.00.3
版本下载
发行日期: 2021-11-22
Linux64 binary | Linux64 JIT binary | Linux64 ABI binary | Windows64 binary | Windows64 JIT binary
新功能
-
支持匿名的聚合函数定义。
-
支持 postStart.dos 文件,可用于启动 DolphinDB 时挂载定时任务。
-
新增配置参数 reservedMemSize 和 maxBlockSizeForReservedMemory,当内存占用接近 maxMemSize 的时候,控制能够分配的内存块的最大尺寸,避免因 OOM 导致 crash。
-
增加
cumfirstNot
,cumlastNot
,mfirst
,mlast
等函数,以及在响应式引擎中实现它们的状态函数。 -
新增函数
oneHot
,用于做 one hot(独热)编码。 -
新增
setAtomicLevel
函数,用于修改历史数据库的配置以支持并发写入。
功能改进
-
时序聚合引擎的 forceTriggerTime参 数计算规则修改,设置 updateTime 时,不再限制输出表为 keyedTable。
-
横截面引擎添加是否触发有效计算的开关。
-
响应式引擎中增加支持
mmad
状态函数。 -
时序聚合引擎新增对 nanotimestamp 的规整。
-
共享流数据表新增权限控制。
-
getStreamingStat().subWorkers 的结果表中增加以下参数:msgAsTable, batchSize, throttle, hash, filter, persistOffset, timeTrigger, handlerNeedMsgId, raftGroup, 用于对流数据的监控。
-
sma
,wma
,dema
,tema
,trima
,t3
,ma
,talib
,talibNull
, `linearTimeTrend state function。 -
分布式 join 改进,支持更多的场景,支持的函数包括
lj
,lsj
,ej
,aj
和wj
,可以对不同分区方案的表,分区列不是连接列的表,或者不在同一库中的分布式表做 join。 -
维度表的
delete
支持并发操作。 -
array vector 的 index 支持 slice。
-
STRING 类型支持直接与 NULL 进行比较。
-
提升
stdp
,std
,varp
,var
,skew
,kurtosis
,mskew
,mkurtosis
,tmskew
,tmkurtosis
,以及 window join 中skew
和kurtosis
等函数的精度。 -
支持更多与 array vector 相关计算,包括
groups
,distinct
,nunique
和at
。 -
高阶函数的第一个参数会被强制解析成函数。
-
distinct
函数可与 group by 配合使用,其结果为一个 array vector。 -
nunique
函数支持分布式计算。 -
UDF 函数支持 keyword arguments。
-
新增对
qr
,ols
,dot
函数输入的校验,不允许行数或列数为0的矩阵作为输入。
缺陷修复
-
TSDB 存储引擎下,
compact
和dropPartition
并发会导致元数据错误。 -
TSDB 存储引擎下,有时重启后数据节点无法启动,报 "iotCheckPointFile.meta" 无法初始化。
-
修复了写入、删除、checkpoint、恢复并发的场景下数据库不稳定的问题。
-
高可用集群有时候控制节点无法启动,报错:"Failed to read rsa public key file"。
-
集群 Python API 多并发有时候会出现数据节点死锁。
-
控制节点上关于 chunk 的信息落后于数据节点。
-
系统恢复之后发生了事务决议导致数据错乱。
-
OLAP 存储引擎下,redolog 在系统恢复之后再重放,可能导致数据丢失。
-
时序聚合引擎中 append 的 table 的列数小于 dummyTable 的列数时会 crash。
-
流数据高可用,将发布端的 leader 多次 kill 之后,再往发布端写入数据,订阅端有时收不到新数据。
-
interval
在指定线性填充方式,同时 where 指定的开始时间没有数据,且 group by 多个字段的时候,会出现错误的结果。 -
当特殊字符作为列名时,
sqlCol
会错误地把字段名称当作共享表的引用来处理。 -
当y中的数据为连续的相等数据时,
mslr
计算会产生正无穷。 -
eachPre
函数在计算矩阵时,如果矩阵行数过多,则会导致 crash。 -
mpercentile
计算偶尔会卡住。 -
temporalParse
对时间向量转换失败的情况下,返回的结果不正确,应该为 NULL。 -
对空表进行 update 时,使用 context by 语句,不能产生新的列。
-
where 条件中"!="前面没有空格时解析失败。