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, ajwj,可以对不同分区方案的表,分区列不是连接列的表,或者不在同一库中的分布式表做 join。

  • 维度表的 delete 支持并发操作。

  • array vector 的 index 支持 slice。

  • STRING 类型支持直接与 NULL 进行比较。

  • 提升 stdp, std, varp, var, skew, kurtosis, mskew, mkurtosis, tmskew, tmkurtosis,以及 window join 中 skewkurtosis 等函数的精度。

  • 支持更多与 array vector 相关计算,包括 groups, distinct, nuniqueat

  • 高阶函数的第一个参数会被强制解析成函数。

  • distinct 函数可与 group by 配合使用,其结果为一个 array vector。

  • nunique 函数支持分布式计算。

  • UDF 函数支持 keyword arguments。

  • 新增对 qr, ols, dot 函数输入的校验,不允许行数或列数为0的矩阵作为输入。

缺陷修复

  • TSDB 存储引擎下,compactdropPartition 并发会导致元数据错误。

  • 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 条件中"!="前面没有空格时解析失败。