Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

DolphinDB发行说明

DolphinDB服务器

版本号: 1.10.0

发行日期: 2020-03-16

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.1

发行日期: 2020-03-24

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.2

发行日期: 2020-03-27

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.3

发行日期: 2020-03-30

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.4

发行日期: 2020-04-08

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.5

发行日期: 2020-04-14

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.6

发行日期: 2020-04-22

Linux64 binary | Linux64 JIT binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.7

发行日期: 2020-05-23

Linux64 binary | Linux64 JIT binary | Linux64 ABI=1 binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.8

发行日期: 2020-06-05

Linux64 binary | Linux64 JIT binary | Linux64 ABI=1 binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.9

发行日期: 2020-06-15

Linux64 binary | Linux64 JIT binary | Linux64 ABI=1 binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.10

发行日期: 2020-06-22

Linux64 binary | Linux64 JIT binary | Linux64 ABI=1 binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.11

发行日期: 2020-07-02

Linux64 binary | Linux64 JIT binary | Linux64 ABI=1 binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.12

发行日期: 2020-07-20

Linux64 binary | Linux64 JIT binary | Linux64 ABI=1 binary | Windows64 binary | Windows64 JIT binary

版本号: 1.10.13

发行日期: 2020-08-15

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.14

发行日期: 2020-08-31

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.15

发行日期: 2020-09-14

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.16

发行日期: 2020-09-27

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.17

发行日期: 2020-10-23

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.18

发行日期: 2020-11-17

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.19

发行日期: 2020-11-26

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

版本号: 1.10.20

发行日期: 2020-12-04

Linux64 binary | Linux64 ABI=1 binary | Windows64 binary |

新功能

  • DolphinDB脚本抛出异常时,显示调用的stack。
  • 允许 context by limit 语句中的limit值为负数,表示取每个组的最后几行数据。
  • 即时编译(JIT)版本增加大量数学函数:支持所有累积分布函数及其反函数,以及sinh, cosh, tanh, asinh, acosh, atanh, deg2rad, rad2deg函数。
  • 新增数学函数:exp2, expm1, log2, log10, log1p, cbrt, square
  • 新增函数:mmad, groups, ifirstNot, ilastNot, kama, trueRange。(1.10.3)
  • 新增segment函数,对向量分组,每组为相邻的相同值。例如,[1,1,2,2,1,1,1]被分为3组:[1,1],[2,2]与[1,1,1]。(1.10.4)
  • 支持在SQL查询中用top/limit 0或在where条件中使用不成立的标量条件譬如1=0获取一个空表。(1.10.4)
  • 新增设置参数remoteHost和remotePort。若启动DolphinDB时指定,DolphinDB程序可以作为远端服务器的终端使用。(1.10.4)
  • 允许对一个矩阵使用lambda函数对其列进行过滤。(1.10.5)
  • 新增数学函数integralderivative,用于计算积分和导数。(1.10.6)
  • 新增函数getEnv,用于获取系统环境变量。例如,在Linux环境下,getEnv("PATH")会返回环境变量PATH的值。(1.10.6)
  • 新增函数conditionalFilter(X,condition,filterMap)。根据给定的字典参数filterMap,若向量condition中某元素为该字典的key,而且向量X中相应位置元素为字典中该key值对应的value中一个元素时,返回true,否则返回false。(1.10.6)
  • SQL语句增加map子句。使用map子句后,SQL将在相应的分区上分别执行,并简单的将每个分区的执行结果合并。(1.10.7)
  • SQL语句增加cgroup by子句。cgroupcumulative group的缩写,表示累计分组。譬如对数据按小时累计分组,并求和,则分别计算第1个小时,前2个小时,前3个小时,..., 直至所有时间之和。(1.10.7)
  • 新增函数covertExcelFormula,将Excel中的公式转化为DolphinDB中的表达式。(1.10.7)
  • 新增函数coevent,统计给定的时间间隔内出现的事件对的次数。(1.10.7)
  • 新增函数signum,返回数据的正负号标志。正数为1,0为0,负数为-1,空值返回空值。(1.10.7)
  • 新增按行处理数据的横向聚合函数: rowAndrowOrrowXorrowProd。(1.10.7)
  • 新增滑动窗口函数:mwavgmwsum。(1.10.7)
  • 新增累计窗口函数:cumavg, cumstd, cumvar, cummed, cumsum2, cumsum3, cumsum4, cumwavg, cumwsum, cumbeta, cumcorrr, cumcovar, cumpercentile。(1.10.7)
  • 新增累计窗口函数: cumrank。(1.10.8)
  • 新增函数getChunkPath:用于获取data source代表的chunk的路径。(1.10.9)
  • 新增机器学习函数:adaBoostClassifieradaBoostRegressor。(1.10.11)
  • 增加新函数closeSessions,允许管理员关闭指定的一个或多个会话,释放连接和内存。(1.10.13)
  • 新增函数getChunksMetagetTabletsMeta,获取数据节点上chunk和tablet的元数据和统计信息,譬如分区占用的磁盘空间、数据表的行数和版本号等。(1.10.13)
  • 新增系统参数warningMemSize (以GB为单位)。默认值为maxMemSize的75%。当使用的内存超过指定值时,系统会自动清理部分数据库的缓存,以降低内存使用量,避免出现OOM异常。(1.10.16)
  • 支持客户端异步连接数据库(windows版本尚不支持)。(1.10.17)
  • 增加了delta压缩算法,并允许用户在创建分布式表(createPartitionedTable)和创建维度表(createTable)的时候为每个字段分别选定压缩算法。delta压缩算法通常在时间/日期类型字段上比lz4算法有更高的压缩比。(1.10.17)
  • compress函数增加了可选参数[method]指定压缩算法。新增解压函数decompress。(1.10.17)
  • 新增函数repmat,用于复制和平铺矩阵。(1.10.17)
  • 新增函数rollingDataSet。(1.10.18)

改进

  • 函数slice的参数 rowIndex 和 colIndex 新增了对数组的支持。

  • 简单的 context by 语句(select字段中不包含聚合运算或序列相关运算)的性能提升5-10倍。

  • 高阶函数moving的性能提升约20%。

  • 提升了DFS和Raft的稳定性。

  • 优化了查询多字段键值内存表时使用in谓词过滤的性能。(1.10.1)

  • 函数subarray中子数组的起始与结束位置相同,可以指定一个空的子数组。例如:subarray(x, 0:0)。(1.10.2)

  • 函数subarray中子数组允许不指定开始或结束位置。例如:subarray(x, 2:) 或 subarray(x, :5)。(1.10.2)

  • 函数iterate的input参数允许包含空值。空值在计算时视为0处理。(1.10.3)

  • 提高了函数iif的性能。大部分情况下可以提升1倍的性能。(1.10.4)

  • 函数loadText支持以carriage return ('\r')为换行符的文件。(1.10.4)

  • 把空字符串解析为IP地址时,不再抛出异常,而是解析为空IP地址。(1.10.4)

  • 函数char, short, int, long, floatdouble解析字符串时,如果输入的字符串为空或者不是一个数值,返回相应数据类型的空值而不是0。(1.10.4)

  • 函数restore执行过程中,如果出错会抛出异常。(1.10.4)

  • 函数migrate新增支持一次性恢复备份文件夹内所有数据库和表。(1.10.4)

  • 函数dropDatabaseexistsDatabase中表示数据库路径的参数最后一个字符如果是斜杠或反斜杠,会自动删除。(1.10.4)

  • 函数rank的输入为空的向量时,不再抛出异常,而是返回空的向量。(1.10.5)

  • 函数dropPartition的参数forceDelete为true时,即使指定的partition的副本数为0,也允许删除。(1.10.5)

  • 函数dropPartition的partitionPaths参数表示过滤条件时,如果含有空值则抛出异常。(1.10.5)

  • 限制分布式数据库操作相关函数(包括 addValuePartitions, addRangePartitions, append!, createPartitionedTable, createTable, database, dropDatabase, setColumnComment, setRetentionPolicy, tableInsert) 只能在数据节点上运行。(1.10.5)

  • 改进if/else语句错误提示:如果if分支或else分支含有不合法内容,会抛出异常。(1.10.5)

  • 使用函数submitJob提交作业时,若同一个jobId参数值被反复使用,允许自动生成的以该jobId参数值与当日日期为前缀的 job ID 数量从1000个增加到10000个。(1.10.6)

  • 在 SQL 的 update 和 delete 语句中允许使用基于标量的逻辑表达式。例如:1=1,1=0。(1.10.7)

  • getStreamingStat().subWorkers 返回的有关负责订阅的执行线程的数据表中,每个订阅的topic为一行。(1.10.7)

  • 反订阅流数据表(unsubscribeTable)时,会删除执行线程队列中该topic的所有消息。(1.10.7)

  • 若SQL语句涉及一个表的多个分区,禁止在 where 子句中使用对行序敏感的序列函数,例如mavgisDuplicated等。(1.10.7)

  • 函数sqlColAlias增加对 composite column 的支持。(1.10.7)

  • SQL语句分组计算(context by 或 group by)时,如果个别组因为数据的原因导致计算异常(例如对singluar matrix求逆),不再抛出异常中断SQL语句的执行,而是将该组的计算结果设为空值。(1.10.7)

  • 执行函数clearTablePersistence时,不再阻塞其他函数(例如getStreamingStat)访问persistence manager。(1.10.7)

  • 改进函数rankmrank。新增ignoreNAtiesMethod两个可选参数。ignoreNA忽略空值。tiesMethod设定如何对相同数值排序,目前支持三种处理方法: 'min', 'max', 'average'。(1.10.8)

  • 改进dropPartition函数的参数校验。如果输入的分区路径有重复值,系统会提示错误。(1.10.8)

  • 函数convertExcelFormula增加支持Excel函数:countifs, sumifs, averageifs, minifs, maxifs, rank。(1.10.8)

  • 调整了nunique, isDuplicated, ewmMean, ewmStd, ewmVar, ewmCovar, ewmCorr, knn, multinomialNB, gaussianNB, zTest, tTest, fTest等函数中部分参数的名称。调整后与其它函数的参数命名规范保持一致。(1.10.8)

  • 改进run函数,新增一个可选参数'newSession'(默认为false)。设为true时,会在一个新的会话中运行脚本,而不会清理原会话中的变量。(1.10.8)

  • 提高了分布式表的稳定性。特别解决了反复删除某一个分区中的数据表可能导致版本不一致问题。(1.10.9)

  • aj的最后一个连接列(joining column)新增支持数据类型: uuid, ipaddr, int128。(1.10.9)

  • 备份和恢复支持维度表。(1.10.9)

  • 增加了ajwj用于分区表时的校验。若ajwj应用于至少一个分区表,则最后一列以外的连接列(joining columns)必须包含全部分区字段。(1.10.9)

  • 在时间序列聚合引擎中插入数据时,校验字段的个数。(1.10.9)

  • 支持在嵌套关联中使用表别名。(1.10.9)

  • 支持在关联中为维度表设置别名。(1.10.9)

  • 高阶函数moving新增可选参数minPeriods。(1.10.9)

  • 共享的内存表允许添加和删除字段。(1.10.9)

  • 禁止对共享内存表和mvcc内存表通过<tableName>.<colName>的方式直接访问表中的字段。可以使用字段名称作为索引访问表字段,例如 t["col1"]。(1.10.10)

  • 禁止共享的内存分区表通过update语句新增字段。(1.10.10)

  • DolphinDB集群中的节点之间创建TCP连接时启用TCP_KEEPALIVE。(1.10.10)

  • 流数据表的最小缓存数据量从100000行降为1000行。(1.10.11)

  • 函数subscribeTable的参数throttle的最小值从1秒降到0.001秒。(1.10.11)

  • 函数dictUpdate!可以应用于值为ANY类型的字典。(1.10.11)

  • loadTable函数增加了参数校验。加载DFS分布式表时,不允许指定加载部分分区。(1.10.11)

  • SQL UPDATE语句增加了校验,要求更新的对象必须为表(table)类型。(1.10.12)

  • 时间类型转换函数支持使用tuple(元组)作为输入参数,涉及的函数包括:date,month,year,hour,minute,second,time,datetime,datehour,timestamp,nanotime,nanotimestamp,weekday,dayOfWeek,dayOfYear,dayOfMonth,quarterOfYear,monthOfYear,weekOfYear,hourOfDay,minuteOfHour,secondOfMinute,millisecond,microsecond,nanosecond。(1.10.12)

  • 提升分布式数据库的稳定性,包括提升了数据版本不一致时事务决议的稳定性,以及减少了心跳发送延迟的可能性。(1.10.12)

  • contextby函数允许输入的groupingCol参数为空数组。(1.10.12)

  • 使用openblas和lapack改进一下矩阵相关函数的性能:inverse, solve, det和cholesky。在大矩阵下,性能有10~50倍的提升。(1.10.13)

  • 函数lu可以分解一个不是方阵的矩阵。(1.10.13)

  • schema函数的输出中增加一个标签partitionTypeName,用以描述分区类型。(1.10.13)

  • 函数infind支持对keyed table。(1.10.13)

  • 函数syncDict增加一个可选参数sharedName。如果指定参数sharedName,那么创建的字典将被节点上的所有会话共享。(1.10.13)

  • 函数getSessionMemoryStat的输出增加了两个字段createTime和lastActiveTime,分别记录会话创建时间和最近一次访问时间。并且更正了字段remotePort的输出值。(1.10.13)

  • 函数getConsoleJobs的输出增加了两个字段remoteIP和remotePort。(1.10.13)

  • 函数backup支持并行备份,提升效率。(1.10.13)

  • 常量赋值给一个变量时,会复制一个对象,避免在多线程并行计算时因对引用计数进行并发修改导致的系统效率降低。(1.10.13)

  • 提升了raft一致性协议实现的稳定性。(1.10.13)

  • 使用tcmalloc管理内存池。提升了内存分配效率,尤其在多线程并行计算时小内存的分配效率有大幅提升。同时解决了DolphinDB实际占用的内存超过maxMemSize设定值的问题,以及尚有内存剩余时创建字符串出现OOM的问题。(1.10.14)

  • 使用函数saveText双精度浮点数到文件时,保留最高15位的精度。(1.10.14)

  • 横截面聚合引擎(crossSectionalAggregator)引入了可选参数useSystemTime。当该参数为false时,输出的计算时间为event本身的时间,本功能可以更好的支持回放历史数据进行仿真。(1.10.14)

  • 高斯朴素贝叶斯(gaussianNB)模型进行分类预测时,使用likelihood的对数形式,使得高维度的情况下仍然可以使用该模型进行分类。(1.10.14)

  • 主成分分析(pca)改用lapack的svd算法提升性能。(1.10.14)

  • logisticRegression 增加了 regularizationCoeff 参数。(1.10.14)

  • 配置项 dfsReplicaReliabilityLevel 增加了可配置项 =2,在资源允许情况下,副本优先使用多物理机分布策略。(1.10.14)

  • 允许三个以上参数的自定义聚合函数在dolphindb.dos中声明map reduce和running aggregation的实现。(1.10.15)

  • 大幅提升了有问题的数据节点重新接入集群后数据恢复的性能。避免了个别分区由于数据恢复时间过长导致的写入中断。(1.10.15)

  • 支持从外网订阅DolphinDB节点上的流数据表。(1.10.15)

  • 在api和server之间以及server的data node之间的套接字(socket)连接启用了参数TCP_USER_TIMEOUT。在Linux版本的高可用场景下,启用该参数后,客户端和peer server能更快的感知数据节点因为掉电引起的故障。(1.10.16)

  • server端的套接字(socket)连接启用了TCP保活机制(SO_KEEPALIVE),当客户端意外断开时,能更快速的感知,并且释放连接,收回资源。 (1.10.16)

  • 复制矩阵时也复制矩阵的行列标签。(1.10.17)

  • 函数conditionalFilter在支持等值和in过滤的基础上,新增对范围过滤的支持。(1.10.18)

  • 函数temporalAdd支持按时间单位月(M)或年(y)进行操作。(1.10.18)

  • 函数share增加可选参数readonly,允许将普通/键值/索引内存表共享为一个只读的内存表,以提升读取和查询时的性能。(1.10.18)

  • 左表或右表为键值/索引内存表示,优化equal join (ej)的性能。(1.10.18)

  • 对矩阵赋值更新时行列下标允许使用数组。(1.10.19)

  • 提升了windows版本的稳定性。解决了windows版本中容易出现的日志文件访问、改名、sync等被系统拒绝的问题。(1.10.19)

  • pivot函数禁止输入空数据。(1.10.19)

  • 自定义函数禁止输入重复的参数。(1.10.19)

  • 函数dailyAlignedBar增加两个可选参数timeEnd和mergeSessionEnd。如果设置了timeEnd,每个session之外的数据返回空值。mergeSessionEnd为true值,session结束点的数据将合并到最后一个bar中。(1.10.20)

  • 函数contextby的参数groupingCol允许为一个tuple,即可以使用多个列来分组。(1.10.20)

  • 加强对sql update语句的校验,用于更新的值必须是一个标量或向量。(1.10.20)

  • SQL查询支持HINT_NOMERGE。使用该HINT时,从分区表获取的数据不再合并成一个内存表,而是直接返回内存分区表,从而提升查询性能。(1.10.20)

  • replayDS函数允许选择一部分列进行回放。(1.10.20)

  • replayDS函数执行前不再通过实际加载分区来校验SQL语句的正确性。(1.10.20)

  • 时间序列聚合引擎和和异常检测引擎增加了可选参数roundTime。当该参数为true时,窗口长度超过60s仍然按时间整点对齐。(1.10.20)

  • 函数getAggregatorStat,支持显示timeSeriesAggregator的内存使用情况。(1.10.20)

  • 通过submitJob和submitJobEx提交的批处理作业,真正执行时才打开消息文件和对象文件。避免未运行的任务占用打开文件数。(1.10.20)

bug 修复

  • 修复backup函数长时间运行性能逐步下降的问题。
  • 修复多个线程并行读取同一个分区表时,若内存不足有可能会导致死锁的问题。
  • 修复bug:在函数createTimeSeriesAggregator中进行sum或者avg运算时,当一组中所有行的某个被计算列均为空值时,应该返回空值而不是返回0。(1.10.1)
  • 修复bug:在SQL语句中,通过哈希算法计算sum或者avg,并且一组中所有行的某个被计算列均为空值时,应该返回空值而不是返回0。(1.10.1)
  • 修复bug:Windows版本中,一个客户端订阅关闭导致同一个节点上其它订阅端无法继续接受消息。(1.10.1)
  • 修复对以字符'\\'结尾的字符串(例如"hello\\")的解析错误,不再抛出异常。(1.10.1)
  • 修复bug:定时作业(scheduled job)中,如果用到了一个module中的函数,server重启后无法使用该module。(1.10.1)
  • 修复bug:线性规划(linprog)中,迭代计算中的舍入误差累积可能会导致计算错误。(1.10.1)
  • 修复bug:字符串数组与非字符串数组先后进行排序后,选择位置最前的指定数量的行的结果有误。这个bug会影响isortTop函数的正确性。(1.10.1)
  • 修复bug:若通过console或者GUI多次运行module文件,系统会重复注册module函数,导致系统crash或者抛出异常。(1.10.1)
  • 删除对矩阵应用slice函数的某些情况下console中不必要的输出。(1.10.1)
  • 修复bug:Windows jit版本因为jit用户自定义函数抛出异常导致系统crash。(1.10.1)
  • 修复bug:函数update!在有多个过滤条件时结果不正确。(1.10.2)
  • 修复bug:对空的维度表插入空表导致查询抛出异常。(1.10.2
  • 修复bug:函数iterate的参数input不含空值时,系统可能会误认为含有空值,导致参数校验失败。(1.10.2
  • 修复bug:对一个FLOAT或DOUBLE向量,当array函数的default参数设为0-0.5之间时,会错误地对该向量元素赋值为0。(1.10.3)
  • 修复bug:若SQL查询语句中列出的字段显式或隐式的使用了相同的别名,会导致系统崩溃。该bug自版本1.10.0中引入。(1.10.3)
  • 修复bug:在context by或group by之后使用order by,如果需要排序的字段已经是用户指定的顺序(不需要重排),产生的查询结果(内存表)若继续用于计算,在对排序字段进行处理时可能产生不正确的结果。(1.10.4)
  • 修复bug: 在context by查询语句中使用trueRange函数结果可能不正确。(1.10.4)
  • 修复bug: 当在API或remoteRun函数中远程调用一个部分应用函数时,如果生成部分应用函数之时抛出异常,会导致系统crash。该bug自版本1.10.0中引入。(1.10.4)
  • 修复bug: 函数loadText, ploadText以及loadText解析以'.'或者'-.'为起始的代表数字的字符串会出现错误。例如,'.12'或者'-.12'会被错误地解析为12。该bug自版本1.00.6中引入。(1.10.4)
  • 修复bug: 函数convertEncode在Linux版本不起作用。(1.10.5)
  • 修复bug: 若流数据订阅函数(subscribeTable)的参数msgAsTable为false,并且最新一批次输入的消息只有一条满足过滤条件时,会把一条不一定满足过滤条件的消息发送给客户端。(1.10.5)
  • 修复bug: 分区表使用聚合函数时可能产生重复字段异常。例如:在分布式表的group by计算过程中,如果用到MapReduce,中间过程产生的临时字段名为col+数字,例如col1,col2,等等。如果恰巧和分组字段名相同,会产生字段重复错误。(1.10.5)
  • 修复bug: 极小概率下函数loadText将DOUBLE类型解析为DATE类型。(1.10.5)
  • 修复bug: 若共享内存表中至少一列为大数组(big array),删除全部数据时会出现内存泄漏。(1.10.6)
  • 修复bug: JIT中若无法确定变量类型,可能会在后续编译时发生错误,导致运行时crash或者执行效率降低等情况。修复bug后,若无法确定变量类型,会中止编译并报告该变量名称。(1.10.6)
  • 修复bug: 在key为LONG类型,value为ANY类型的字典中查找一个key值时可能找不到数据。这是版本1.10.3引入的bug。(1.10.6)
  • 修复bug: 共享内存表进行等值关联(ej)时可能导致crash的bug。若一个线程删除两个共享内存表的全部数据然后添加新数据,而另一个线程对这两个共享内存表按多个字段进行等值关联,并且关联字段中包括字符串类型字段,可能导致系统crash。(1.10.6)
  • 修复bug:流数据横截面聚合引擎按时间间隔定时输出模式下,每次输入数据时均有可能触发计算。(1.10.7)
  • 修复bug:rpc调用时如果部分应用(partial application)的参数不规范可能导致系统crash。(1.10.7)
  • 修复bug: 数据表采用值分区时,SQL的where子句如果使用or连接多个同时包含分区字段和非分区字段的过滤条件,可能导致输出的行数比预期更多。(1.10.7)
  • 修复bug: wsum函数的参数均为空值时返回0,应返回空值。(1.10.7)
  • 修复bug: 使用sql函数动态生成SQL语句时,若同时指定csort和limit参数,csort中指定的字段会无法被辨别。(1.10.8)
  • 修复bug: 使用哈希算法进行group by分组计算时的一个bug。在使用哈希算法分组计算聚合函数时,对结果列中的空值,系统没有设置空值标志,导致对查询结果进一步使用isNull函数过滤时,不能返回正确结果。(1.10.8)
  • 修复bug: 在SQL语句中若使用哈希算法进行wsum聚合函数的分组计算,当所有输入均为空值时,wsum应该返回空值而不是0。(1.10.8)
  • 修复bug: 有多个streaming executors时,执行getStreamingStat会导致系统crash。这是1.10.7引入的bug。(1.10.8)
  • 修复bug: 分配超过2G的连续内存块导致内存泄漏。(1.10.9)
  • 修复bug: 多个调用了mrimr函数的批处理作业并发运行时,如果运行过程中出现异常(譬如,某个分区被其它事务占有导致不能写入),可能导致系统crash。(1.10.9)
  • 修复bug: 时间序列聚合引擎按系统时间(useSystemTime=true)进行分组聚合时,窗口内没有数据也会输出聚合结果的bug。(1.10.9)
  • 修复bug: 内置的并发哈希表的一个bug。这个bug可能导致并发创建与访问共享变量时系统crash。(1.10.9)
  • 修复bug: 路径深度大于等于2的分布式数据库(例如dfs://stock/valueDB)不能正常备份和恢复。(1.10.10)
  • 修复bug: 左表的string列和右表的symbol列进行等值关联(ej)时,若右表只有1行,关联的结果有误,总是产生空表。(1.10.10)
  • 修复bug: 对分布式表和维度表进行关联时,若无符合条件的记录,select子句使用了wildcard(*),分布式表名与关联时引用的别名不一致,左右两表有同名的字段,系统会抛出找不到两表中同名字段的异常。(1.10.10)
  • 修复bug: 大数据量字典在异步序列化数据时结果有误。(1.10.11)
  • 开启控制节点高可用后,若单个事务涉及太多分区导致RAFT消息长度超过64K,重启后重放RAFT消息时,元数据会被截断。(1.10.12)
  • 若SQL语句中启用了 WHERE 子句,GROUP BY 子句包含多个字段,并且第二个或其后的分组字段使用了segment函数,输出的结果不符合预期。(1.10.12)
  • mvar和cumvar出现极小负值以及mstd和cumstd出现空值。(1.10.13)
  • 修复了socket连接时出现的内存泄漏。(1.10.13)
  • 修复了adaBoostRegressor一个运行时崩溃的问题。(1.10.13)
  • 高可用集群在线增加一个数据节点后,创建新的数据库分区到新节点时,可能导致新增节点崩溃。(1.10.13)
  • 使用json进行web调用时,如果没有指定tag 'functionName'会导致节点崩溃。在使用grafana访问DolphinDB时,可能遇到这个问题。(1.10.14)
  • 日期和时间类型函数(date, timestamp等)处理一组字符串时,如果字符串不符合日期和时间类型,那么相应的元素返回空值,但返回的vector内部未设置包含空值元素的标志,导致isValidisNull等函数的返回与预期不符。(1.10.14)
  • 使用fromJson函数处理json字符串时,若没有包含tag 'value',可能导致节点崩溃。(1.10.14)
  • 修复raft的snapshot checkpoint实现中的一个bug。这个可能导致leader切换时耗时特别长。(1.10.14)
  • 若配置项newValuePartitionPolicy=add(允许系统自动增加值分区),当有多个并发写入线程在短时间内快速增加大量新分区时(通常是在压力测试或开发环境中),有可能出现分区丢失的现象,即无法查询到写入数据库的数据。(1.10.15)
  • replace和replace!函数的新值为浮点数时,小数部分会被忽略,造成错误结果。(1.10.15)
  • 使用内存分区表作为mr和imr函数的数据源会导致系统crash。。(1.10.15)
  • SQL分组计算(group by)的排序后增量计算算法不支持在时间/日期类型数据上计算min和max。修复后的版本已经支持时间/日期类型。当分组个数较多时,系统会选择采用排序后增量计算算法。(1.10.16)
  • 修复了从集群管理器 dfs explorer 中浏览数据时,不受数据读取权限控制的问题。(1.10.16)
  • 修复了在window join中使用median函数,如果输入数据有空值,可能导致系统崩溃的问题。(1.10.17)
  • 修复了在window join中使用多个指标函数时,当优化过的指标函数(包括avg, sum, min, max, last, first, med, beta等)排在未优化的函数之后,会引起系统崩溃的问题。(1.10.17)
  • 修复了使用cumrank函数可能导致系统崩溃的bug。(1.10.17)
  • 修复了split函数最后一个字符为分隔符时,没有包括最后一个空字符串的问题。(1.10.17)
  • 修复了使用SQL查询只有单分区的分布式表并且指定map子句,会错误的返回一个空表的问题。(1.10.17)
  • 修复了利用sqlDS函数对一个刚创建尚未写入数据的维度表产生数据源(Data Source),并用于mr函数,会导致系统崩溃的问题。(1.10.17)
  • 修复了系统初始化时偶发的一个并发问题,这个问题会抛出类似 "No corresponding BinaryBooleanOperator defined for gt"的异常。(1.10.17)
  • 修复了loadText和loadTextEx等函数不能正确解析带微秒的时间戳,例如 2012.12.10T10:00:00.123456。(1.10.18)
  • 修复了在极端的内存不足情况下可能导致系统崩溃。(1.10.18)
  • 修复了loop函数第二个开始的参数如果为标量(scalar)导致系统崩溃。(1.10.18)
  • 修复了SQL语句中无法识别模块中的自定义函数。(1.10.18)
  • 修复了windows中文版不能正确显示操作系统报告的异常。(1.10.18)
  • 修复了windows版本重启后日志重放时某些数据文件无法修改,导致重启失败。(1.10.18)
  • 修复了使用createTimeSeriesAggregator创建时间序列聚合引擎时,如果输入数据的key的类型与输出表第二个字段的数据类型不一致,肯能会导致系统崩溃。(1.10.18)
  • 修复了创建symbol类型的vector或matrix时,没有设置空值标志问题。(1.10.18)
  • 修复了系统启用dataSync时,数据还在cache中未进入分布式文件系统时,读取symbol类型数据与预期不符的问题。(1.10.18)
  • 修复了函数weekend内存越界导致的系统崩溃问题。(1.10.19)
  • files函数对包含超多文件数(几十万)的目录读取文件列表时导致系统崩溃。(1.10.19)
  • 修复下列场景潜在的内存越界访问:(1)0行或0列的矩阵数据读取。(2)timeminuteseconddatetimetimestampnanotimestamp等函数解析非法的时间/日期类型字符串。(3)iif函数中输出结果为长度为1的vector,输入条件为长度超过1的vector。(4)update语句中使用了full join。(5)时间序列聚合引擎采用系统时间。(6)历史数据回放设置的时间段比较多时。(1.10.19)
  • power函数的计算结果出现浮点数的NaN值,作为DolphinDB的null值处理。(1.10.19)
  • 关联函数(lj等)左右表出现重名字段无法解决时抛出异常。新的解决方案是,如果加上表名修饰后仍然重名,不显示右表字段。(1.10.20)
  • SQL语句的pivot by子句如果有多个标签字段,而且前若干个标签字段的值在所有行中完全相同,会出现结果不正确。(1.10.20)

DolphinDB GUI

改进

  • 增加关键字cgroup和map。(1.10.7)

bug 修复

  • GUI中选择部分代码执行后,log窗口未能正确显示代码的起始及结束行号。

DolphinDB plugin binary files

  • 插件源码

  • MySQL

    • 修复含有LONGTEXT类型字段的数据无法成功导入的bug。(1.10.7)
  • 发布Support Vector Machine(SVM)插件 (1.10.9)

  • 发布XGBoost插件 (1.10.9)

  • HDF5插件

    • LoadHDF5EX 函数增加了transform 参数,支持在导入时自定义数据转换逻辑。(1.10.15)

Java API

改进

  • 对于大的查询结果,支持客户端API使用fetchSize参数分块传输。(1.10.16)

Python API 和 orca

  • 增加检查DataFrame的column label是否合法。(0.1.15.20)
  • 修复了上传numpy.matrix导致crash的bug。(0.1.15.20)
  • 修复使用session.loadTable加载指定分区抛出异常。(0.1.15.23)
  • 增加支持 ipaddr, uuid, int128类型。(0.1.15.23)
  • 增加支持 month 数组。(0.1.15.23)
  • 增加hashBucket函数。(0.1.15.23)
  • Orca:修复了rolling函数当输入类型为float32并存在nan时,计算出错的问题。(0.1.15.23)
  • Orca: 修复了read_table加载分布式表报参数异常的问题。(0.1.15.23)
  • 发布1.20.2.0对应DolphinDB 1.20.2,1.10.12.0对应DolphinDB 1.10.12,1.0.24.1对应DolphinDB 1.00.24。
  • 增加对Python3.8的支持。(1.20.4.0, 1.10.15.0, 1.0.24.2)
  • 增加创建数据库以及分区表的Python原生方法。(1.20.4.0, 1.10.15.0, 1.0.24.2)
  • 提高DolphinDB的table对象到Pandas的dataframe对象的转换效率。(1.30.0.0, 1.20.5.0, 1.10.16.0)
  • 进一步提高DolphinDB的table对象到Pandas的dataframe对象的转换效率。(1.30.0.1, 1.20.6.0, 1.10.17.0)
  • Session类的构造函数增加可选参数:enableSSL(加密)和enableASYN(异步),默认值为False。例如: s=ddb.Session(enableSSL=True, enableASYN=True)。 enableSSL为True时,server端需要添加enableHTTPS=true参数(Linux64稳定版>=1.10.17, 最新版>=1.20.6),才能成功建立连接。 异步通讯为true时,只支持session.run方法,并且无返回值。 适用于异步写入数据。(1.30.0.1, 1.20.6.0, 1.10.17.0)

C++ API

新功能

  • 发布Visual Studio 2017版本的C++ API。(1.10.9)
  • DBConnection 初始化变量时,增加可选参数:enableSSL(加密)taskAsyn(异步),默认值为false。例如DBConnection conn(enableSSL=true,taskAsyn=false)将启动加密通讯。 enableSSL为True时,server端需要添加enableHTTPS=true参数(Linux64稳定版>=1.10.17, 最新版>=1.20.6),才能成功建立连接。异步通讯为true时,只支持conn.run方法,并且无返回值。 适用于异步写入数据。(1.10.17)
  • conn.run添加可选参数fetchSize支持分块读取(server版本>=1.10.16)。(1.10.17)

bug 修复

  • 开启TCP_KEEPALIVE:用于解决发布端已经断开连接,但是订阅端无感知,导致后续订阅端收不到数据,却又不主动重连的问题。(1.10.9)

JDBC插件

新功能

  • 支持用分号(;)分隔多行脚本。(1.10.9)

OPC插件

改进

  • 新增对中文tag的支持。中文tag必须使用utf-8编码。(1.10.10)