5 Star 1 Fork 0

浙江智臾科技有限公司/release

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_CN.md 134.65 KB
一键复制 编辑 原始数据 按行查看 历史
jiajia.xu@dolphindb.com 提交于 2023-12-14 15:33 . update

DolphinDB发行说明

版本兼容性说明列表

详见 版本兼容性说明列表

DolphinDB服务器

版本号: 2.00.10     一级兼容 2.00.9 和 1.30.21

发行日期: 2023-07-20

Linux64 binary | Linux64 JIT binary | Linux64 ABI binary | Windows64 binary | Windows64 JIT binary | Linux ARM64|

版本号: 2.00.9     二级兼容 2.00.8 和 1.30.20

发行日期: 2023-02-15

Linux64 binary | Linux64 JIT binary | Linux64 ABI binary | Windows64 binary | Windows64 JIT binary | Linux ARM64|

版本号: 2.00.8     二级兼容 2.00.7 和 1.30.19

发行日期: 2022-09-30

Linux64 binary | Linux64 JIT binary | Linux64 ABI binary | Windows64 binary | Windows64 JIT binary | Linux ARM64|

版本号: 2.00.7     一级兼容 2.00.6

发行日期: 2022-07-14

Linux64 binary | Linux64 JIT binary | Linux64 ABI binary | Windows64 binary | Windows64 JIT binary | Linux ARM64|

版本号: 2.00.6     二级兼容 2.00.5

发行日期: 2022-05-09

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

版本号: 2.00.5     二级兼容 2.00.4, 1.30.16 和 2.00.5

发行日期: 2022-03-29

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

版本号: 2.00.4

发行日期: 2022-01-10

Linux64 binary | Linux64 JIT binary | Linux64 ABI binary |

版本号: 2.00.3

发行日期: 2021-11-22

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

版本号: 2.00.2

发行日期: 2021-11-05

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

版本号: 2.00.1

发行日期: 2021-08-25

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

版本号: 2.00.0

发行日期: 2021-07-31

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

新功能

  • 新增函数 appendTuple!,用于将一个元组追加到另一个元组中,同时新增配置项 appendTupleAsAWhole,用于设置元组是作为整体还是展开后进行追加/合并。(2.00.10.4
  • 新增配置项 parseDecimalAsFloatingNumber,用于设置系统解析小数常量类型的默认行为。(2.00.10.4
  • 支持直接对分区 MVCC 内存表进行更新、插入和删除操作。(2.00.10.4
  • 支持中途快速取消耗时长的分布式表 select 查询任务或随时快速取消 pivot by 重组任务。(2.00.10.4
  • 新增函数 cumdenseRank,支持计算元素在累计窗口内的密集排序。(2.00.10.4
  • 日志中新增登入、登出相关信息包括登录用户、IP、端口、登录状态等。(2.00.10.4
  • 支持中途快速取消后台长时间执行的全速或高倍速回放任务。(2.00.10.4
  • 新增 VIEW_OWNER 权限,支持为普通用户(组)赋予该权限以允许用户通过 addFunctionView 创建函数视图。(2.00.10.4
  • 支持 pivot by 语句搭配 asis 函数保留所有原始数据。(2.00.10.4
  • pivot by 支持搭配 select/exec 子句查询表中的数组向量列。(2.00.10.4
  • 分区列类型为 NANOTIMESTAMP 时,在查询时支持分区剪枝。(2.00.10.4
  • 支持在插件信息 .txt 文件中增加参数 isSequential,用于标记函数是否为序列函数。(2.00.10.4
  • createCrossSectionalEngine 的参数 triggeringPattern 新增选项 "dataInterval",支持按照数据时间间隔触发引擎的计算。(2.00.10.3
  • 新增函数 parseJsonTable,用于将 JSON 对象解析为内存表。(2.00.10.2
  • 新增函数 loadModuleFromScript,用于通过脚本自动解析包含模块定义的字符串并加载模块。(2.00.10.2
  • transaction 语句支持 MVCC 表。(2.00.10.2
  • 新增配置 tcpUserTimeout,可以设置套接字选项 TCP_USER_TIMEOUT。(2.00.10.2
  • 删除 getClusterReplicationMetrics 函数,引入新的 getSlaveReplicationQueueStatus 函数,用于检索从集群中每个执行队列的任务执行状态,并继承了 getClusterReplicationMetrics 函数的功能。(2.00.10.2
  • 新增配置项 clusterReplicationQueue,用于设置从集群的控制节点上执行队列的数量。(2.00.10.2
  • 新增配置项 clusterReplicationWorkerNum,用于设置每个数据节点上执行任务的工作线程数。(2.00.10.2
  • 支持多个分布式表进行右连接(right join)。(2.00.10
  • 新增配置项 memLimitOfTempResult 及函数 setMemLimitOfTempResult,设置表连接操作中产生的每个临时数据表允许占用的内存上限。(2.00.10
  • 新增配置项 tempResultsSpillDir,指定计算过程中产生的中间结果表的临时存储目录。(2.00.10
  • 新增配置项 enableCoreDump,设置是否生成 coredump。仅支持 Linux 系统。(2.00.10
  • 新增配置项 disableCoreDumpOnShutdown,设置安全关机时是否产生 coredump。仅支持 Linux 系统。(2.00.10
  • 新增配置项 allowMissingPartitions,设置是否忽略新增数据中所包含的分区方案外的数据。(2.00.10
  • 新增配置项 volumeUsageThreshold,设置数据节点磁盘卷的可使用率。(2.00.10
  • 新增函数 listRemotePluginsinstallPlugin,分别用于查询可用的插件信息和下载插件。(2.00.10
  • 新增函数 writeLogLevel,能够将指定级别的文本写入日志文件中。(2.00.10
  • 新增函数 sessionWindow,对一个时间序列根据会话时间间隔进行分组。(2.00.10
  • 新增函数 summary,生成输入数据的汇总统计信息,包含最小值、最大值、计数、均值、标准差和指定的百分位数。(2.00.10
  • 新增函数 encodeShortGenomeSeq, decodeShortGenomeSeq 分别用于对 DNA 序列进行编解码。同时新增函数 genShortGenomeSeq,可在滑动窗口内进行编码。(2.00.10
  • 新增函数 gramSchmidt,实现施密特正交化计算。(2.00.10
  • 新增与 lasso 功能等价的函数 lassoBasic,其参数支持输入向量。(2.00.10
  • 新增26个 TopN 系列函数(2.00.10
    • m 系列:mskewTopN, mkurtosisTopN
    • cum 系列:cumsumTopN, cumavgTopN, cumstdTopN, cumstdpTopN, cumvarTopN, cumvarpTopN, cumbetaTopN, cumcorrTopN, cumcovarTopN, umwsumTopN, cumskewTopN, cumkurtosisTopN
    • tm 系列:tmsumTopN, tmavgTopN, tmstdTopN, tmstdpTopN, tmvarTopN, tmvarpTopN, tmbetaTopN, tmcorrTopN, tmcovarTopN, tmwsumTopN, tmskewTopN, tmkurtosisTopN
  • 新增 initcap 函数,将字符串的第一个字母变成大写,其他字母变小写。(2.00.10
  • 新增三次样条插值函数 splrepsplev。(2.00.10
  • 新增函数 scs,用于求解一次或二次规划函数在线性约束条件下的最优解。(2.00.10
  • 支持 DECIMAL128 类型。(2.00.10
  • 新增函数 rowPrev, rowNext, rowMove, rowCumsum, rowCumprod, rowCummax, rowCumminrowCumwsum,支持按行进行计算。(2.00.10
  • 新增函数 temporalSeq,按指定的间隔生成时间序列。(2.00.10
  • 新增函数 ungroup,将表中的 Fast Array Vector 列或 Columnar Tuple 列进行平铺。(2.00.10
  • 新增函数 decimalMultiply,用于 DECIMAL 类型数据进行乘法运算。(2.00.10
  • 新增函数 base64Encode和base64Decode,支持 base64 加密与解密。(2.00.10
  • 新增函数 addFunctionTypeInferenceRule,用于在 JIT 中添加自定义函数类型推导规则。(2.00.10
  • JIT 支持 COMPLEX 类型。
  • 新增配置项 localSubscriberNum,用于设置本地订阅分发发布队列中消息的线程数量。(2.00.10
  • 新增创建流数据多线程分发引擎的函数 createStreamDispatchEngine。(2.00.10
  • 流计算引擎 createTimeSeriesEnginecreateReactiveStateEngine 中使用以下函数时,支持计算 DECIMAL 类型数据:(2.00.10
    • createTimeSeriesEnginecorr, covar, first, last, max, med, min, percentile, quantile, std, var, sum, sum2, sum3, sum4, wavg, wsum, count, firstNot, ifirstNot, lastNot, ilastNot, imax, imin, nunique, prod, sem, mode, searchK
    • createReactiveStateEnginecumsum, cumavg, cumstd, cumstdp, cumvar, cumvarp, cumcorr, cumbeta, cumcovar, cumwsum, cumwavg, msum, mavg, mstd, mstdp, mvar, mvarp, mcorr, mbeta, mcovar, mwsum, mwavg, tmsum, tmavg, tmstd, tmstdp, tmvar, tmvarp, tmcorr, tmbeta, tmwsum, tmwavg
  • 支持使用数据类型符号 P 声明 DECIMAL 类型的常量数据。(2.00.9.4
  • 新增配置项 logicOrIgnoreNull,设置 or 函数在操作数中包含 NULL 时的处理方式。默认值为 true:当另一个操作数非零或为零时,返回 true 或 false。若需要 or 函数的行为和旧版本保持一致,则应该将该配置设置为 false。(2.00.9.4
  • case when 语句后支持使用 is null 判断。(2.00.9.4
  • 对 MVCC 表,新增配置项 mvccCheckpointThreshold 用于设置创建检查点的操作次数阈值;新增函数 forceMvccCheckpoint,用于手动触发创建 MVCC 表的检测点。(2.00.9.3
  • 新增功能 License Server,用于根据 license 的限制分配节点的硬件资源。新增相关函数 getLicenseServerResourceInfogetRegisteredNodeInfo,相关配置项 licenseServerSitebindCores。(2.00.9
  • 新增配置项 thirdPartyAuthenticator,用于第三方系统校验用户权限。通过指定该参数,在用户登录时,系统会通过第三方系统进行权限验证。(2.00.9
  • 插件启动时会自动检查版本。(2.00.9
  • 新增集群间数据异步复制功能,将主集群数据复制到从集群,且保证主、从集群数据一致,实现了集群异地容灾。(2.00.9
  • 新增对 arrow 格式的支持。(2.00.9
  • 新增函数 getTSDBSortKeyEntry 支持查看每个分区的 sort key 信息。(2.00.9
  • 新增命令 setMaxConnections 用于在线修改当前节点的最大连接数。(2.00.9
  • 新增函数 demean,用于对数据去均值化处理。同时在响应式状态引擎中支持该函数。(2.00.9
  • 函数 dictsyncDict 新增参数 ordered 用于创建有序字典,支持键值对的顺序与输入顺序保持一致;支持两个字典的二元操作,以及字典和 scalar, vector的二元操作。(2.00.9
  • 新增累计窗口函数 cumnunique,用于统计元素累积的唯一值数量。同时在响应式状态引擎中支持该函数。 (2.00.9
  • 新增函数 stringFormat,用于动态字符串的构建。(2.00.9
  • 新增函数 rowAlign 用于进行数据对齐,主要适用于金融场景的计算。(2.00.9
  • 新增函数 nanInfFill 用于替换 NaN 和 Inf 值。(2.00.9
  • 新增函数 byColumn,使高阶函数支持列内竖向计算。同时在流计算中支持该函数。(2.00.9
  • 新增函数 volumeBar 用于数据的累积分组。(2.00.9
  • 新增函数 enlist 用于将标量或向量,转化为由其作为元素值的向量或元组。(2.00.9
  • 新增运算符 eachAt(@),支持访问向量、矩阵、表、数组向量、元组、字典和函数。(2.00.9
  • 新增函数 latestKeyedTable, latestIndexedTable,用于创建时间序列相关的键值表和索引表。支持按时间列进行条件更新,只有值更大的新记录才会更新具有相同主键的原表中的记录。(2.00.9
  • 新增数据形式列式元组(columnar tuple),新增相关函数 isColumnarTuple, setColumnarTuple!。(2.00.9
  • 新增部分兼容标准 SQL 的功能。包括(2.00.9):
    • 新增语句:drop(支持删库,删表操作),create local temporary table(支持创建本地临时内存表),alter(新增支持列名重命名,删除列),case when, union/union all, join on, with as(支持 with 关键字使用参数对列重命名)
    • 新增谓词:(not) between and, is null/is not null, (not) exists/not exist, any/all
    • 新增函数:nullIf, coalesce
    • 新增关键字:distinct(单个或多个字段去重),nulls first/nulls lastorder by 关键字)
  • 支持多表 join 语句,join 语法支持使用别名,且支持 join 的对象是一个 SQL 子查询。(2.00.9
  • 支持 select 常量时不指定别名,此时常量值将作为列名。(2.00.9
  • 支持条件语句中 in 等谓词以及运算符对 SQL 子查询返回的结果表进行操作。 (2.00.9
  • 每次对 DFS 表进行 update/upsert/delete 操作,都会产生一个版本。系统会回收历史版本,回收时间由新增配的置项 oldChunkVersionRetentionTime 控制。用于设置历史版本 chunk 的保存时间。(2.00.9
  • 提供各大交易所的交易日历及用户自定义交易日历的功能,支持在函数 temporalAdd, resample, asFreq, transFreq 中根据用户及定义的交易日历进行计算。新增相关置项 marketHolidayDir,新增相关函数 addMarketHoliday, updateMarketHoliday, getMarketCalendar 用于增加更新和获取自定义交易日历信息。(2.00.9
  • 新增函数 genericStateIterate, genericTStateIterate 流数据中窗口迭代计算。(2.00.9
  • createWindowJoinEngine 支持数组向量的计算。(2.00.9
  • 新增函数 movingWindowDatatmovingWindowData,用于获取流计算中历史滑动窗口的数据。(2.00.9
  • 响应式状态引擎中支持 if-else 语句的计算。(2.00.9
  • 增加 SQL Trace 工具,用于监测 SQL 执行全流程耗时。并新增配置项 traceLogDir 用于配置 Trace 日志的存储路径。(2.00.8
  • 新增函数 truncate 用于清空分布式表数据,但仍保留表结构。(2.00.8
  • 新增函数 checkBackup 检查备份文件的完整性和正确性;新增函数 getBackupStatus 查询数据库备份和恢复任务详情。(2.00.8
  • 新增函数 backupDB/restoreDB/backupTable/restoreTable,用于备份恢复整库/表。(2.00.8
  • 新增配置项 logRetentionTime,设置系统日志的保留时间。(2.00.8
  • 新增函数 triggerNodeReport,强制触发 datanode 向 controller 汇报分区信息。(2.00.8
  • 新增函数 getUnresolvedTxn 查看当前进行中的事务决议任务状态。(2.00.8
  • streamEngineParser 支持用户自定义函数中嵌套因子的解析。(2.00.8
  • 新增函数 conditionalIterate,可通过条件迭代实现因子中的递归。仅可用于响应式状态引擎 (createReactiveStateEngine) 。(2.00.8
  • 新增函数 stateMavg,可计算基于历史结果的移动平均。仅可用于响应式状态引擎 (createReactiveStateEngine) 。(2.00.8
  • 新增函数 stateIterate,通过线性迭代实现线性递归。仅可用于响应式状态引擎 (createReactiveStateEngine) 。(2.00.8
  • 响应式状态引擎 (createReactiveStateEngine) 支持 mmaxPositiveStreak。(2.00.8
  • createWindowJoinEngine 参数 window=0:0 时,右表的计算窗口由左表相连两条数据的时间戳确定。(2.00.8
  • 新增数据类型 DECIMAL。同时在 OLAP/TSDB 存储引擎及部分函数中支持 DECIMAL 存储及计算。新增函数 decimal32decimal64。需要注意:(2.00.8
    1. DECIMAL 类型字段不可作为分区列或 sortColumn (仅 TSDB 引擎),且不能使用 delta 压缩方式。
    2. 不支持通过 addColumn/replaceColumn!/dropColumns!/rename! 修改或删除 DECIMAL 类型列。
    3. DECIMAL 类型暂不支持流订阅及流计算。
    4. loadText 不支持导入包含 DECIMAL 类型的列数据。
  • 新增函数 sumbars,支持统计向前累加到指定值的周期数。(2.00.8
  • 新增函数 regroup,按给定的行/列标签对矩阵进行分组聚合的操作。(2.00.8
  • 新增滑动窗口函数 mifirstNotmilastNot,用于计算窗口内第一个和最后一个非空值。(2.00.8
  • 新增函数 loc,通过标签或布尔向量获取矩阵指定的行和列的元素。(2.00.8
  • 新增函数 til,用于生成一个从 0 开始的连续整型序列。(2.00.8
  • 新增函数 pack/unpack,用于二进制字节流间的打包/解包。(2.00.8
  • 新增函数 align,将两个矩阵按照两个指定方式连接,并根据行列标签对齐。(2.00.8
  • 支持分布式 full join。(2.00.8
  • JIT 支持使用索引向量或数据对访问向量。(2.00.8
  • 新增配置项 memLimitOfQueryResultmemLimitOfTaskGroupResult 以限制查询结果和子查询结果的内存占用;新增函数getQueryStatus 用于监控查询过程的内存占用及执行进度等信息。(2.00.7
  • 新增函数 getTSDBCompactionTaskStatus,用于获取 TSDB 引擎 level file 合并任务的状态。(2.00.7
  • 新增函数 isPeakisValley,判断当前元素是否是相邻元素中的峰值/谷值。(2.00.7
  • 新增函数 rowAt(X, Y),以 Y 为索引,逐行获取 X 中对应索引的元素。(2.00.7
  • 新增函数 rowIminrowImax,逐行获取最值点的索引。(2.00.7
  • 新增机器学习相关函数 gmm,支持通过高斯混合模型来实现聚类算法。(2.00.7
  • 新增函数 valueChanged,通过比较当前元素和相邻元素,计算元素间的变化。(2.00.7
  • 新增函数 msum2tmsum2,支持在滑动窗口内计算平方和。(2.00.7
  • 新增函数 prevStatenextState,以连续且值相同的元素作为状态标识,寻找当前元素相邻前/后一个状态的元素值。(2.00.7
  • 新增函数 getSupportBundle,返回系统基本的配置信息和数据库信息。(2.00.7
  • 新增函数 topRangelowRange,统计序列中的当前值是前多少周期内的最大/小值。并在 ReactiveStateEngine 中支持了该函数。(2.00.7
  • 新增 spline, neville, dividedDifference, loess插值函数。(2.00.7
  • ReactiveStateEngine 支持 cumPositiveStreak 函数。(2.00.7
  • 新增流数据引擎 dual-ownership reactive state engine (createDualOwnershipReactiveStateEngine),支持按两种不同的分组方式分别应用不同的指标进行并行计算。(2.00.7
  • 引入新的表对象:跨进程共享内存表 IPCInMemoryTable,并新增四个相关函数 createIPCInMemoryTable, loadIPCInMemoryTable, dropIPCInMemoryTable,分别用于创建跨进程共享内存表,加载跨进程共享内存表,销毁跨进程共享内存表。跨进程共享内存表可用于在流计算场景下,使 DolphinDB 服务端与同一个物理机上的客户端程序间能够高效地传递数据。(2.00.7
  • 新增函数 stretch,将向量拉伸到指定长度。(2.00.7
  • 新增函数 getTransactionStatus,获取事务的状态。新增命令 imtForceGCRedolog,取消等待指定编号的事务回收。(2.00.7
  • 新增数据库运维模块 ops,包含一些用户常用的运维脚本,如:取消集群中未完成的作业,查看内存占用,删除未完成恢复的分区,关闭不活跃的会话等。(2.00.7
  • 新增函数 setLogLevel 动态调整 server log 级别。(2.00.7
    • 新增函数 getRedoLogGCStat 用于获取 redo log 垃圾回收的状态。(2.00.7
  • ReactiveStateEngine 支持 cumPositiveStreak 函数。(2.00.7
  • 新增 mmaxPositiveStreak 函数,计算在给定长度(以元素个数衡量)的滑动窗口内统计 X 中连续正数之和的最大值,并在响应式状态引擎中增加了对应的状态函数。(2.00.7
  • 新增函数 cells,使矩阵输出由参数 row 和 col 指定位置的元素值。(2.00.6
  • 新增函数 randDiscrete,支持按指定概率分布离散抽样。(2.00.6
  • 新增计算函数 dynamicGroupCumsumdynamicGroupCumcount,并在响应式状态引擎中增加了对应的状态函数。(2.00.6
  • 新增函数 createDistributedInMemoryTable 支持创建分布式共享内存表。(2.00.6
  • 新增分级存储功能,可以将冷数据存储到低速硬盘或者对象存储(比如 Amazon S3)上,且这些冷数据只读不可写。(2.00.6
  • TSDB 引擎下创建数据表的函数 createPartitionedTable 新增参数 sortKeyMappingFunction,通过为 sortColumns 引入映射函数来降低分区内时间线的个数,以提升查询性能。(2.00.6
  • 优化了 TSDB 引擎更新数据的性能。(2.00.6
  • 新增函数 toCharArray,将字符串拆分为由字符组成的向量。(2.00.6
  • 新增配置项 maxDynamicLocalExecutor 限制本地动态执行线程的产生频率与数量上限。(2.00.6
  • 新增 transaction 语句,将对单个内存表(或共享内存表)操作的多个 SQL 语句封装为一个事务。(2.00.6
  • 新增命令 enableTSDBAsyncSortingdisableTSDBAsyncSorting 用于开启和关闭 TSDB 引擎 cache engine 的异步数据排序功能。(2.00.5
  • 新增函数 getRecoveryWorkerNum 获取当前用于 chunk 恢复的工作线程数。(2.00.5
  • 新增命令 resetRecoveryWorkerNum 动态修改用于 chunk 恢复的工作线程数。(2.00.5
  • TSDB 引擎支持在线增量恢复。(2.00.5
  • 新增运维函数 getLevelFileIndexCacheStatus 查询当前 TSDB 引擎索引内存占用情况。(2.00.5
  • 支持使用命令 kill -15 $PID 或集群 web 管理界面安全关机。(2.00.5
  • 新增函数 rebalanceChunksAmongDataNodes,用于新增数据节点后平衡数据节点间的数据量。(2.00.5
  • 新增函数 rebalanceChunksWithinDataNode,用于数据节点上新增磁盘卷后平衡磁盘卷之间的数据量。(2.00.5
  • 新增运维函数 imtUpdateChunkVersionOnDataNode,修改数据节点上对应 chunkId 的版本号。维护集群中多副本数据之间,或数据节点与控制节点之间的版本一致性。(2.00.5
  • 函数 replay 支持多表回放到异构流数据表,并按照时间顺序输出。(2.00.5
  • 新增函数 concatMatrix,支持水平或垂直拼接多个矩阵。(2.00.5
  • 新增距离计算函数欧氏距离 euclidean 、谷本距离 tanimoto 以及按行计算的欧式距离 rowEuclidean 和谷本距离 rowTanimoto。(2.00.5
  • 新增按行计算内积的函数 rowDot。(2.00.5
  • 新增高阶函数 firstHitifirstHit,用于返回 X 中第一个满足条件的元素。(2.00.5
  • 新增函数 getCurrentSessionAndUser,获取当前 session 对应的 sessionID 和 userID。(2.00.5
  • 支持 SQL Join 的标准写法。(2.00.5
  • 新增 SQL 语句 alter,用于在已有的表中添加列。(2.00.5
  • 新增 SQL 语句 create,用于创建数据库或表。(2.00.5
  • 支持表级别分区粒度,支持同一库中不同的表并发进行增删改操作。(2.00.4
  • 往内存表的时间列写入数据时,自动进行时间类型转换。(2.00.4
  • 支持在线增量恢复,可以异步地进行节点数据恢复。 (2.00.4
  • 支持管理和查询集群中的所有计算任务。(2.00.4
  • 内存表和流数据表支持 BLOB 类型。(2.00.4
  • SQL 语句增加标识 [HINT_EXPLAIN],可以显示 SQL 的执行过程。(2.00.4
  • 新增函数 streamEngineParser,支持自动分解截面因子成多个内置流计算引擎的流水线。(2.00.4
  • 新增函数 existSubscriptionTopic,用于判断某一个订阅是否已经创建。(2.00.4
  • 新增函数 createLookupJoinEngine,支持将流数据表和流数据表、内存表或者分布式表(目前只支持维度表)做左连接。(2.00.4
  • 新增函数 moveChunksAcrossVolume,在增加新的 volume 后,用于转移旧 volume 的部分 chunk 到新 volume。(2.00.4
  • 增加新的 volume 后,可以使用 resetDBDirMeta 函数转移老的 volume 上的 meta log 目录到新的 volume。(2.00.4
  • 新增 10 个 TopN 函数 msumTopN, mavgTopN, mstdpTopN, mstdTopN, mvarTopN, mvarpTopN, mcorrTopN, mbetaTopN, mcovarTopN, mwsumTopN,且 createReactiveStateEngine 引擎支持它们相应的状态函数。(2.00.4
  • 新增函数 makeKeymakeOrderedKey,可以将多个列合并成一个 BLOB 列,用作字典或集合的键值,其中 makeOrderedKey 的结果保留了多个字段的排序顺序。(2.00.4
  • 新增高阶函数 aggrTopN,用以计算根据排序列获取的前N行数据的聚合结果。(2.00.4
  • 新增高阶函数 windowtwindow。与 movetmove 类似,但适用于更通用的场景,对于窗口边界的处理稍有不同。(2.00.4
  • 新增配置项 raftElectionTick,用以配置 raft 切换 leader 的心跳时间。同时新增函数 setCacheEngineMemSize, setTimeoutTick, setTSDBCacheEngineSize, setMaxMemSize, setReservedMemSizesetMaxBlockSizeForReservedMemory 支持在线修改对应的配置项。(2.00.4
  • 新增函数 fixedLengthArrayVector,支持将多个向量合成一个 array vector。(2.00.4
  • 新增函数 loadNpz 支持导入 numpy 的 npz 文件。(2.00.4
  • 新增函数 suspendRecovery 用于暂停 recovery 任务。新增函数 resumeRecovery 用于重启 recovery 任务。(2.00.4
  • 新增函数 rowCorr, rowCovar, rowBeta, rowWsum, rowWavg,可以对每行数据进行计算。(2.00.4
  • 新增函数 movingWindowIndexmovingTopNIndex,用于获取每一个滑动窗口的元素下标,返回一个 INDEX[] 类型的 array vector。(2.00.4
  • 新增 fflush 函数,帮助将缓存中的数据写入文件系统。(2.00.4
  • 支持匿名的聚合函数定义。(2.00.3)
  • 支持 postStart.dos 文件,可用于启动 DolphinDB 时挂载定时任务。(2.00.3)
  • 新增配置参数 reservedMemSize 和 maxBlockSizeForReservedMemory,当内存占用接近 maxMemSize 的时候,控制能够分配的内存块的最大尺寸,避免因 OOM 导致 crash。(2.00.3)
  • 增加 cumfirstNot,cumlastNot, mfirst, mlast等函数,以及在响应式引擎中实现它们的状态函数。(2.00.3)
  • 新增函数 oneHot,用于做 one hot(独热)编码。(2.00.3)
  • 新增 setAtomicLevel 函数,用于修改历史数据库的配置以支持并发写入。(2.00.3)
  • 流计算引擎 reateReactiveStateEngine, AnomalyDetectionEngine, SessionWindowEngine, DailyTimeSeriesEngine 和 TimeSeriesEngine 支持高可用。(2.00.2)
  • 新增功能,跨集群数据异步复制。(2.00.2)
  • 新增函数 covarMatrixcorrMatrix,来计算 pairwise covariance 和 correlation,性能比直接使用高阶函数 crosscovar/corr 的组合快1~2个数量级。(2.00.2)
  • 新增配置项 stdoutLog,当取值为 true 或 1 时,不再输出系统的日志到文件,而是输出到 stdout。(2.00.2)
  • 新增高阶函数 tmoving,可以实现时间窗口的滑动。同时响应式状态引擎中实现高阶函数 movingtmoving 对应的状态函数(state function)。(2.00.2)
  • 新增函数 runScript,用于执行一段脚本。(2.00.2)
  • 新增函数 makeUnifiedCall, binaryExprunifiedExpr 用于元编程。(2.00.2)
  • 新增23个按时间滑动的窗口系列函数,包括 tmove, tmfirst, tmlast, tmsum, tmavg, tmcount, tmvar, tmvarp, tmstd, tmstdp, tmprod, tmskew, tmkurtosis, tmmin, tmmax, tmmed, tmpercentile, tmrank, tmcovar, tmbeta, tmcorr, tmwavg, tmwsum。并在响应式状态引擎中实现对应的状态函数。(2.00.2)
  • 新增函数 sma, wma, dema, tema, trima, talib, talibNulllinearTimeTrend。(2.00.2)
  • 新增函数 countNanInfisNanInf,统计 scalar, vector 或 matrix 中包含多少个 NaN 和 Inf 值。(2.00.2)
  • 增加流数据 window join 引擎。(2.00.2)
  • 时间序列聚合引擎新增函数实现:count, firstNot, ifirstNot, ilastNot, imax, imin, lastNot, nunique, prod, quantile, sem, sum3, sum4, modesearchK。(2.00.2)
  • 增加函数 getConfigure,传入一个 key,返回该配置项信息。如果参数为0,返回所有配置项目信息。(2.00.2)
  • 新增命令 clearCachedModules,可以强制清除缓存的 module。当缓存清除后,执行 use 语句时,会重新从文件加载 module。这个方法可以在不重启节点的情况下,重新加载已经更新的 module。只有 admin 才有权限执行这个命令。(2.00.2)
  • 支持新的数据类型 array vector,array vector 的每一行是具有相同数据类型的不定长的数组。目前分布式表中仅 TSDB 引擎支持。(2.00.2)
  • 新增按行聚合函数 rowSize, rowStdp, rowVarp, rowSkewrowKurtosis。(2.00.2)
  • 新增 percentileRank 函数,计算一个值在一个向量中的百分位。(2.00.1)
  • 新增 zigzag 函数,计算数据中的极值点。(2.00.1)
  • 新增 lowDoublehighDouble 函数,用于将 POINT 和 COMPLEX 等16字节的数据类型分解成高位8字节的 DOUBLE 类型和低位8字节的 DOUBLE 类型。(2.00.1)
  • 新增 rdp 压缩算法函数。(2.00.1)
  • 新增计算加权最小二乘回归函数 wls。(2.00.1)
  • 流数据引擎支持 equal join。(2.00.1)
  • 新增 ifNullifValid 函数。(2.00.1)
  • DolphinDB 集群支持新的节点类型:计算节点 (computing node)。与数据节点可同时用于计算引擎和存储引擎不同,计算节点只能用于计算引擎。(2.00.1)
  • 发布TSDB存储引擎。database 函数提供了一个可选参数 engine,默认值为 OLAP,即旧的存储引擎。如果创建基于 TSDB 存储引擎的数据库,engine 设置为 TSDB 即可。(2.00.0)
  • 基于 TSDB 存储引擎的数据支持新的数据类型 BLOB。(2.00.0)

改进

  • 权限管理对象是全局时,支持输入 '*'。(2.00.10.8
  • 在异步复制场景下,从集群对没有数据的表进行操作将会抛出异常。(2.00.10.8
  • 提升 TSDB 读性能。(2.00.10.4
  • 提升 dropTable 在删除一个包含大量分区(超过10万个)的表时的性能。(2.00.10.4
  • div/mod 允许负数作为除数。(2.00.10.4
  • persistenceOffsetDir 配置的路径不存在时,自动生成该路径。(2.00.10.4
  • 优化计算节点事务机制。(2.00.10.2
  • rmdir 新增参数 keepRootDir,可以指定删除文件时是否保留根目录。(2.00.10.2
  • 使用 license 函数时如果不指定文件名,将获取内存中的 license 信息。(2.00.10.2
  • 使用 getClusterDFSTables 函数能够显示表所有者创建的表,无论该表所有者对其创建的表是否都有读写权限。(2.00.10.2
  • 通过文件拷贝方式可以备份整个空表。(2.00.10.2
  • 优化异步复制功能(2.00.10.2):
    • 启动异步复制后,从集群可以对不参与异步复制的数据库执行各种操作。
    • 优化从集群拉取主集群任务数据的时机。
  • 改进错误信息""以提供更详细的信息。(2.00.10.2
  • 优化订阅(subscribeTable)的输出日志。(2.00.10.2
  • 优化 TSDB 并发读写性能。(2.00.10.2
  • 自定义函数支持空的 tuple([])作为参数默认值。(2.00.10.1
  • 在使用 loadText 函数时,添加对用户权限的检查机制。(2.00.10.1
  • 记录用户权限发生变更的信息到日志中。(2.00.10.1
  • resample 函数支持输入具有非严格递增行标签的矩阵。(2.00.10.1
  • 优化 any vector 拼接的行为。(2.00.10.1
  • 在状态引擎中,可以指定一个三元函数作为 accumulate 的参数。(2.00.10.1
  • streamEngineParser 增加参数校验:若 triggeringPattern='keyCount',则 keepOrder 必须为 true。(2.00.10.1
  • 配置项 localExecutorsmaxDynamicLocalExecutor 停止使用。(2.00.10
  • 响应式状态引擎新增支持状态函数 windowpercentChange。(2.00.10
  • 支持多个分区表之间进行连接。(2.00.10
  • 优化了通过 dropTable 函数删除一个具有大量分区的表的性能。(2.00.10
  • 优化了 TSDB 使用 WHERE 进行条件过滤时的性能。(2.00.10
  • 优化 TSDB 引擎进行表连接时的性能。(2.00.10
  • 兼容标准 SQL 的 JOIN 连接语句,其连接列可以是原始列或对原始列应用了函数、条件过滤语句等操作后的列。(2.00.10
  • 标准 SQL 的 LEFT JOIN, FULL JOIN, INNER JOIN 语句在连接表时,支持一个表的连接列为整数类型,而另一个表的的连接列为 STRING 类型。(2.00.10
  • 支持对分布式表使用 SELECT NULL 语句。(2.00.10
  • SQL 相关的关键词支持全部大写或全部小写。(2.00.10
  • 支持使用逗号(,)操作符实现 CROSS JOIN 连接。例如:SELECT * FROM table1, table2。(2.00.10
  • SQL 语句支持换行。但由多个词组成的关键字,比如 ORDER BY, GROUP BY, UNION ALL, INNER JOIN 等不可拆分换行。(2.00.10
  • SQL 中支持运算符 <>,行为等价于 !=。(2.00.10
  • SQL 支持 NOT LIKE 关键字。(2.00.10
  • sqlDS 作用于对按 DATEHOUR 值分区的分布式表时,按日期进行过滤查询时,没有进行分区剪枝。(2.00.10
  • 优化 TSDB 引擎 compaction 的内存占用。(2.00.10
  • TSDB 引擎数据写入时采用新的存储结构,减少了内部数据块(block)数量,进而减少了内存占用。(2.00.10
  • mvccTable 新增参数 defaultValues, allowNull,分别用于设置字段的默认值和字段是否可以包含空值。对于 MVCC 表,支持修改字段名、字段类型或删除字段。(2.00.10
  • getRecoveryTaskStatus 函数的返回值 Status 中的 Finish 改成 Finished,Abort 改成 Aborted。(2.00.10
  • 优化安全关机机制,增加将所有 symbolBase 刷盘的操作。(2.00.10
  • HINT_EXPLAINGROUP BY 部分,当分组算法为 “sort” 时,添加了 inplaceOptimizationoptimizedColumns 字段,显示相关优化信息。(2.00.10
  • 支持通过 addColumn 增加 DECIMAL 类型列。(2.00.10
  • 优化对表中的 array vector 列进行点查时的性能。(2.00.10
  • 优化 TSDB 引擎同时执行 compaction 和删除分区时执行逻辑(先删除分区,再进行 compaction)。(2.00.10
  • 通过 rename! 函数更新分布式表的列名时,对新列名增加检验。(2.00.10
  • rename!, replaceColumn!, dropColumns! 函数不再对列名大小写敏感。(2.00.10
  • lasso, elasticNet 新增参数 swColNamecheckInput,分别用于指定样本权重列和是否对参数进行合法性验证。ridge 新增参数了 swColName。(2.00.10
  • qclp 新增参数 x0, c, epsalpha,分别用于指定绝对值的约束条件、求解精度和松弛参数。(2.00.10
  • loadTextpLoadText, extractTextSchema 等函数,支持加载一条记录中包含多个换行符的数据文件。(2.00.10
  • 函数 loadText, pLoadText, loadTextEx, textChunkDS, extractTextSchemadelimiter 参数可以指定多个字符。(2.00.10
  • 通过 loadTexeEx 导入数据至包含 array vector 或 BLOB 列的 OLAP 引擎下的表时,增加报错提示。(2.00.10
  • 如下 TopN 系列函数新增参数 tiesMethod,可以指定排序中存在多个相同值时的处理方式:mstdTopN, mstdpTopN, mvarTopN, mvarpTopN,msumTopN, mavgTopN, mwsumTopN, mbetaTopN, mcorrTopN, mcovarTopN。(2.00.10
  • 如下行计算函数支持对列式元组进行计算:rowWavg, rowCorr, rowCovar, rowBeta, rowWsum。(2.00.10
  • 提升 knn 函数的预测速度。(2.00.10
  • 时序聚合引擎(createTimeSeriesEngine 和 createDailyTimeSeriesEngine)支持输出 array vector 类型数据列。(2.00.10
  • 优化状态响应引擎 (ReactiveStateEngine) 中 moving 函数性能。(2.00.10
  • 异常检测引擎(createAnomalyDetectionEngine)的 keyColunm 参数支持指定多个字段。(2.00.10
  • genericStateIterate 函数支持指定窗口长度为1,且优化了其窗口长度为0或1时的性能。(2.00.10
  • createWindowJoinEnginecreateAsOfJoinEngine 新增参数 sortByTime,用于设置数据是否在全局范围内按时间顺序进行输出。(2.00.10
  • 支持通过 share 函数或语句将流计算引擎共享,以支持对其并发写入。
  • 通过 leftSemi Join 引擎(createLeftSemiJoinEngine)订阅包含数组向量列的表时,增加报错提示。(2.00.10
  • windowJoin 引擎(createWindowJoinEngine)因插入数据类型不对(要求插入 SYMBOL 类型,而实际插入 INT)导致插入失败时,增加报错提示。(2.00.10
  • 支持对 UUID, INT128, IP 类型的数组向量数据进行 Pickle 序列化。(2.00.10
  • JIT 支持运算符 join(<-)。(2.00.10
  • JIT 版本的 isort 函数,支持由多个等长向量组成的元组作为参数。(2.00.10
  • JIT 中 if 表达式支持使用运算符 in。(2.00.10
  • JIT 中向量支持使用布尔数组进行索引。(2.00.10
  • 支持脚本内一行有多段如 /**/ 的注释。(2.00.10
  • stringFormat 函数新增以下功能:支持类型匹配,格式化对齐,指定小数输出位数,进制转换。(2.00.10
  • concat 函数的第二个参数可以为空。(2.00.10
  • take 函数支持输入元组或表;stretch 函数支持输入矩阵或表。(2.00.10
  • 函数 infind 支持单列 table。(2.00.10
  • 配置项 moduleDir 指定为相对目录时,系统寻找模块的默认路径为 homeDir/modules。(2.00.10
  • in, binsrch, find, asof 函数的返回值形式与入参 Y 的形式保持一致。(2.00.10
  • rank 输入 Any Vector 类型参数时,增加报错提示。(2.00.10
  • 支持 distinct 关键字,用于对单个或多个字段去重。暂时不支持其与 group by, context bypivot by 配合使用。(2.00.9.7
  • createTimeSeriesEngine, createDailyTimeSeriesEngine 的耗时统计参数由 "outputElapsedInMicroseconds" 修正为 "outputElapsedMicroseconds"。(2.00.9.4
  • getSessionMemoryStat 函数返回的 createTime 和 lastActiveTime 字段,由零时区时间改为当前时区的时间。(2.00.9.4
  • DolphinDB 的 between and 语句与标准 SQL 的 between and 语句兼容。(2.00.9.4
  • 添加了与创建、加载、删除跨进程共享内存表(IPCInMem 表)相关的日志信息,以便更好地跟踪和调试这些操作。(2.00.9.4
  • getClusterDFSTables 仅显示对用户可见的表。(2.00.9.3
  • createWindowJoinEngineleftTable 参数可以包含数组向量类型列。(2.00.9.3
  • subscribeTablehandler 参数支持指定为共享内存表、共享键值表或共享索引表。(2.00.9.3
  • cut 函数支持切分表和矩阵。(2.00.9.3
  • 有序字典支持单目窗口函数 cumsum 等。(2.00.9.3
  • 元数据文件添加 checksum。(2.00.9
  • 清空由 controller 转变为 follower 的控制节点的恢复事务,以避免 follower 节点的恢复日志过多地占用磁盘空间。(2.00.9
  • 支持在日志文件中输出备份恢复过程的相关信息。(2.00.9
  • 函数 interval 新增参数 closed, label, origin。(2.00.9
  • 函数 getRecentJobs 新增返回值字段 clientIp 和 clientPort 用于获取客户端的 IP 和 Port 信息。(2.00.9
  • 函数 ema 新增参数 warmup,配置后前 window - 1 个窗口也会计算输出。(2.00.9
  • 高阶函数 accumulatereduce 支持输入一元函数和三元函数。(2.00.9
  • 响应式状态引擎和时间序列聚合引擎新增参数 outputElapsedMicroseconds 用于计算耗时统计。(2.00.9
  • 支持创建 DECIMAL 类型的数组向量。(2.00.9
  • 函数 rankrowRank 新增参数 precision,用于设置排序值的精度。(2.00.9
  • 函数 groups 参数 mode 支持 "vector", "tuple"。(2.00.9
  • 函数 linearTimeTrend 支持对矩阵和表的计算。(2.00.9
  • 对高阶函数做了以下修改:(2.00.9
    • 支持高阶函数迭用, eachLeft, eachRight, eachPre, eachPost, reduce 新增参数 consistent,支持子任务结果的类型和形式可以不一致。
    • 在默认情况下,eachLeft, eachRight, eachPre, eachPost, cross, accumulate, reduce 不再根据第一个子任务的计算结果来决定输出对象的形式,而是根据所有结果来决定输出对象的形式。
  • 函数 objectChecksum 支持 DECIMAL 类型。(2.00.9
  • 函数 rankrowRank 的参数 tiesMethod 支持使用 first 按照原数据的顺序排名。(2.00.9
  • 函数 cut 支持将数据拆分成标量。(2.00.9
  • 函数 split 支持输入字符串向量。(2.00.9
  • 函数 rowAt 支持以数组向量为索引。(2.00.9
  • 矩阵支持以 slice 方式取行元素。(2.00.9
  • 取消了创建 tuple 时其 size 不能超过1048576的限制。(2.00.9
  • 大部分计算函数支持 DECIMAL 数据类型。(2.00.9
  • 用函数 array 创建 tuple 时支持默认值为 STRING 类型。(2.00.9
  • 函数 memSize 可以显示 any vector 的内存占用。(2.00.9
  • 支持通过多线程 merge 不同分区的结果。降低了当列数较多的情况下查询最后数据合并的耗时。(2.00.9
  • getSessionMemoryStat 返回值增加了缓存状态的打印,包含维度表,表数据,cache engine,字典编码等缓存占用信息,以及流数据发布和订阅队列深度的信息。(2.00.9
  • 函数 setColumnComment 支持为 mvccTable 增加注释信息。(2.00.9
  • 优化了 TSDB 引擎的点查性能。(2.00.9
  • 提高了 TSDB 引擎配置 keepdulicates = last 时,select count(*) 的查询速度。(2.00.9
  • 矩阵支持混合使用 pair 和 vector 作为行列索引的值。(2.00.9
  • 支持在数据节点上调用权限相关的函数。(2.00.9
  • 调整了 regularArrayMemoryLimit 实际生效的参数值为配置值与 maxMemSize/2 中的较小值。(2.00.9
  • 修改了分布式库表数量的最大上限。(2.00.9
  • TSDB 除最后一列之外的 sortColumn,在查询时支持部分时间的自动转换。(2.00.9
  • 发布端通过订阅端发起的连接发送流数据,订阅端不需要额外提供监听端口。(2.00.9
  • 响应式状态引擎支持不定长的数组向量计算。(2.00.9
  • streamFilter 的参数 condition 支持传入内置函数。 (2.00.9
  • 函数 replay 新增参数 sortColumns,相同回放时间戳的数据将根据该参数指定的字段进行排序。(2.00.9
  • 支持同构 N 对 1 回放和异构流表回放数据源时的数据源的自动对齐。(2.00.9
  • 在流计算引擎中调用滑动窗口函数时,window 的上限修改为 102400。(2.00.9
  • 优化了异构流表的回放性能。(2.00.9
  • streamEngineParser 支持解析 byRow 嵌套 contextby 函数,放入横截面引擎进行计算。(2.00.9
  • 响应式状态引擎使用 moving 函数时,支持计算数组向量。(2.00.9
  • 优化 createWindowJoinEnginewindow = 0:0 时的计算延迟。(2.00.9
  • 支持在流计算中使用高阶函数 accumulate。(2.00.9
  • 优化了 genericTStateIterate 的性能。(2.00.9
  • 优化了 streamEngineParser 的解析性能。(2.00.9
  • 共享表 append/insert into 语句支持通过 transaction 语句实现事务。(2.00.9
  • 优化了分区表 ej 的性能。(2.00.9
  • 支持使用 select 子句中的列别名或者新创建的列作为 where 的过滤条件。(2.00.9
  • 优化了当 pivot by 最后一列为分区列时的性能。(2.00.9
  • context by 支持 matrix 和 table 的输入形式。(2.00.9
  • 提高了context bygroup by 的查询性能。(2.00.9
  • 优化了 lsj 在大数据量下的性能。(2.00.9
  • 支持 SQL 语句 where 条件里时间类型可以自动转换为 interval 分组的时间类型。(2.00.9
  • 为兼容标准 SQL,对部分函数行为做了调整:(2.00.9
    • 通过 join 函数进行连接时,必须为临时表指定表名。
    • distinct 语句返回的结果列列名会在原始列名前加“distinct_”。
    • in 语句后跟单列表,而无需将其转换为向量。
  • func 为内置函数名。(2.00.9
  • x[start:end] 的形式访问 array vector 的结果发生变化。如果 end>size(x),不再抛出异常,而是将超出范围的位置填充 NULL。(2.00.9
  • contextSum2 函数传入 array vector 时,会抛出异常而不是返回空值。(2.00.9
  • 在定义包含特殊符号的字符串时,使用双引号("")来包裹字符串,而不是使用反引号(`)。(2.00.9
  • interval 函数增加校验,当 X 输入数据为整型数据时,不能指定 explicitOffset=true。(2.00.9
  • 放开了在 SQL 查询使用 in 元组作为查询条件时,元组内元素个数的限制。(2.00.9
  • 改进了函数 getSystemCpuUsage 的返回值。(2.00.9
  • 改进了权限管理功能,包括(2.00.9):
    • 新增了更细粒度的表权限(TABLE_INSERT/TABLE_UPDATE/TABLE_DELETE),以及库权限(DB_INSERT/DB_UPDATE/DB_DELETE)。
    • 修改了 DB_MANAGE 的权限,不再支持创库,只支持对库进行 DDL 级别的操作管理。
    • 修改了 DB_OWNER 的权限,支持用户创建指定前缀的库,且会为 admin 用户自动赋予 DB_OWNER 权限。
    • 增加以下函数权限校验:getAllDBs, getClusterDFSDatabases, getDFSDatabases, getDFSTablesByDatabase,只有拥有 DB_MANAGE 或 DB_OWNER 权限的用户才能调用。
    • 新增了权限类型 QUERY_RESULT_MEM_LIMIT,TASK_GROUP_MEM_LIMIT 用于约束用户查询内存的上限。
    • 修改了 DDL/DML 操作的权限校验机制。
    • 增加参数校验:
      • 当 objs 的颗粒度与 accessType不匹配时,会报错。
      • 当赋予 TABLE_READ/TABLE_WRITE/DBOBJ_*/VIEW_EXEC 权限时,会检查对应的对象(DB/table/functionView)是否存在,如果不存在会报错。
      • 当对象(DB/table/functionView)被删除时,会回收对应的权限。如果再次创建同名的 db/table/functionView,则需要重新赋予权限。
      • 当 table 改名后,对应的权限依然保留。
    • 如果某个用户 grant 了某个表的权限,deny 了另一个表的权限,则升级到新版本后,该用户会拥有所有表的这个权限。
    • 权限管理相关函数可以在数据节点上执行。
  • 使用 JIT 来增强流数据引擎中自定义函数的性能。(2.00.9
  • JIT 支持 ratio operator。(2.00.9
  • JIT 支持 sum, avg, count, size, min, max, iif 等常用函数。(2.00.9
  • JIT 支持 moving。(2.00.9
  • backup 支持通过拷贝分区文件方式进行备份,且可通过 restore/migrate 进行恢复。(2.00.8
  • replaceColumn!/rename!/dropColumns! 函数支持分布式表。(2.00.8
  • dropPartition 函数新增参数 deleteSchema,用于删除 VALUE 分区时同步删除表 schema 中的分区信息。(2.00.8
  • 调用 dropDatabase 删除数据库时,删除 database 所有相关的物理文件夹。(2.00.8
  • saveText 支持传入 SQL 元代码,支持并行读取分布式表数据并存入磁盘。(2.00.8
  • 使用宏变量为单个节点配置 volumes 时增加错误提示。(2.00.8
  • 查询由 TSDB 创建的表时,支持对过滤条件中包含的 sortKey 字段进行 like 匹配。(2.00.8
  • TSDB 读数据性能优化。(2.00.8
  • 优化 TSDB 引擎 update,delete,upsert 性能。(2.00.8
  • createWindowJoinEngine 新加可选参数 nullFill,对输出的结果的空值进行填充。(2.00.8
  • replayDS 函数的 timeRepartitionSchema 参数支持更多时间类型。(2.00.8
  • 优化 window join 引擎垃圾回机制。(2.00.8
  • 响应式状态引擎(createReactiveStateEngine)中包含自定义的相同表达式时不再重复计算。(2.00.8
  • 新增加 HINT_VECTORIZED 来启用 vectorizedGrouping。(2.00.8
  • 当对分区列(时间列以 VALUE 分区)进行 group by 时,优化了分组查询性能。(2.00.8
  • 提升了分布式 left join 的性能。(2.00.8
  • 优化 pivot by 的性能。(2.00.8
  • 优化 rolling 函数的计算性能。(2.00.8
  • getBackupList 返回的表增加字段 updateTimerow,分别记录分区最近一次修改时间和分区行数信息。(2.00.8
  • getBackupMeta 返回的字典增加键值 rows 用于显示分区行数信息。(2.00.8
  • loadText/ploadText/loadTextEx/textChunkDS 函数增加可选参数 containHeader,表示数据文件是否包含列名信息。(2.00.8
  • 为 31 个内置函数增加了权限控制,需登录或管理员权限才可调用。(2.00.8
  • updateLicense 时,若 license 授权类型改变,添加错误提示。(2.00.8
  • 对 vector 进行切片时,如果指定的索引超出向量的索引范围,则返回空值,不再抛出异常。(2.00.8
  • subarray 函数输入的范围越界,会返回空值,不再不抛出异常。(2.00.8
  • JIT 版本以索引方式读取 vector 某一元素时,若索引超过 index 的范围,用 NULL 填充。(2.00.8
  • crc32 算法优化。(2.00.8
  • 优化函数 mrank。(2.00.8
  • toJson 函数可转换的数据取消最大长度为1000的限制。(2.00.8
  • maxmin 函数处理时间类型数据的行为由统一转换为长整型改为统一时间类型精度后比较。(2.00.8
  • getClusterPerf(true) 返回高可用集群下所有控制节点的信息,且返回值新增 isLeader 字段,显示该控制节点是否为 raft 组的 leader。(2.00.7
  • 调用 restore, loadBackup, getBackupMeta 等函数查询备份的表级分区数据时,partition 参数无需指定物理索引名。(2.00.7
  • getRecoveryTaskStatus 返回值新增 FailureReason 字段显示 recovery 任务失败的原因。(2.00.7
  • 优化 backup 备份数据时的压缩功能。(2.00.7
  • cancelJob 取消不存在的 job 时,系统不再抛出异常,而是打印错误信息到 log 文件。(2.00.7
  • 高可用流表可通过配置项 persistenceWorkerNum 指定其持久化到磁盘的工作线程数量。(2.00.7
  • createSessionWindowEngine 新增参数 forceTriggerTime,在 useSystemTime=false 时,强制触发最后一个窗口的计算输出。(2.00.7
  • streamFilter 分发普通流表时,filter 参数的 condition 支持输入布尔表达式的元代码。(2.00.7
  • createEqualJoinEngine, createAsofJoinEnginecreateLookupJoinEnginemetrics 参数可以指定输出左表或右表的时间列/连接列。(2.00.7
  • replay 回放的异构流表的列字段可以是数组向量(array vector)。(2.00.7
  • createReactiveStateEnginekeyPurgeFilter 参数必须输入布尔类型的表达式,否则会报错。(2.00.7
  • createLookupJoinEnginemetrics 参数支持输入元组。(2.00.7
  • dropStreamEngine 若传入不存在不存在的引擎名称,则会抛出异常。(2.00.7
  • 当 group by 子句的时间粒度大于分区时间粒度时,优化了 select count(*) 语句的性能。(2.00.7
  • 修改 rolling 函数行为:(2.00.7
    • rollingfunArgs 参数只能是向量或矩阵。如果需要输入多个向量,则用元组表示。
    • 如果输入参数中包含矩阵,根据矩阵的每一列分别计算,返回具有相同列数的矩阵。
    • func 的输出结果只能是标量或向量。如果输出结果是向量,则 windowstep 必须相等。
    • 优化以下函数调用 rolling 函数时的计算性能:cumsum, cummax, cummin, cumprod, mcount 等。
  • 优化通过 top 或 limit 子句,查询按时间递减数据的最新 n 条记录的性能。(2.00.7
  • 优化以下函数调用 rolling 函数时的计算性能:cumsum, cummax, cummin, cumprod, mcount 等。(2.00.7
  • 以下 OLAP 引擎的配置参数名称进行了调整,原参数名依然有效: chunkCacheEngineMemSize 更名为 OLAPCacheEngineSizepurgeCacheEngine 更名为 flushOLAPCachesetCacheEngineMemSize 更名为 setOLAPCacheEngineSizegetCacheEngineMemSize 更名为 getOLAPCacheEngineSize2.00.7
  • 优化了在 context by 子句指定单个分区列场景的查询速度,性能约有两倍提升。(2.00.7
  • 新增配置项 enableDropPartitionSchema,使得删除值分区时,同时删除数据库 schema 的 partitionSchema 中对应的分区。(2.00.7
  • 流数据订阅时若无法获取持久化的 offset ,则从当前最新的开始订阅。(2.00.7
  • createDailyTimeSeriesEngine 的参数 sessionEnd 支持指定 00:00:00 作为当天的 24:00:00(即第二天的 00:00:00)。(2.00.7
  • createReactiveStateEngine 支持状态函数 trueRange;若 metrics 中指定返回常量的状态函数,则会抛出异常。(2.00.7
  • TSDB引擎下,优化了 select count(*) 查询数据表记录数的性能。(2.00.6
  • 减少 TSDB 引擎加载索引的耗时。(2.00.6
  • 提升了 SYMBOL 数据类型的读写性能。(2.00.6
  • 响应式状态引擎支持 cummedcumpercentile 两个窗口函数。(2.00.6
  • 时序引擎(createTimeSeriesEnginecreateDailyTimeSeriesEngine)新增参数 closed 来控制计算窗口的闭合边界。(2.00.6
  • streamEngineParser 的 keyColumn 参数取消对传入列名的大小写判断。(2.00.6
  • createTimeSeriesEnginecreateDailyTimeSeriesEngine 新增参数 keyPurgeFreqInSec, 用于清理长时间无数据的分组。(2.00.6
  • 优化时序聚合引擎自定义函数性能。(2.00.6
  • 通过 share 语句将普通内存表共享时,增加共享表变量名校验。(2.00.6
  • streamFilter 支持对普通流表的列数据进行过滤、分发。(2.00.6
  • createTimeSeriesEnginecreateDailyTimeSeriesEngine 的 metrics 支持对矩阵进行运算。(2.00.6
  • 以下SQL分组计算支持reshuffle:分组字段与分区字段不同,且对 select 选择的列调用了序列相关函数。(2.00.6
  • resample 函数的 rule 参数支持 "H", "L", "U", "min", "N" 以及 "S",且新增了参数 closed,label 和 origin,可以对分组区间进行设置。(2.00.6
  • byRow 函数支持输入 array vector。(2.00.6
  • replay 函数在执行过程中如果报错,则直接抛出异常。(2.00.6
  • tmbeta(T, X, Y, window), cumbeta(X, Y), rowBeta(X, Y) 函数的参数位置调整为 tmbeta(T, Y, X, window), cumbeta(Y, X), rowBeta(Y, X)。(2.00.6
  • 在集群模式下,若 redoLogDir 配置为相同路径,则会报错。(2.00.6
  • contextSumcontextSum2 的输入参数是表时,只有对应列都是数值类型时才返回结果。
  • matrix 函数支持将每行都等长的 array vector 转化为矩阵。(2.00.6
  • 优化了生成随机整数的性能。(2.00.6
  • TSDB 引擎支持 cache engine 的异步数据排序功能,可使用配置项 TSDBAsyncSortingWorkerNum 指定异步排序的线程数,默认值为1。(2.00.5
  • TSDB 引擎支持快照隔离。(2.00.5
  • TSDB 引擎支持 Windows 系统。(2.00.5
  • OLAP 引擎支持在 Windows 环境中开启 dataSync(即设置配置项 dataSync = 1)。(2.00.5
  • 函数 subscribeTable 新增可选参数 userId 和 password,系统在用户退出后自动尝试重新登录,保证订阅数据成功写入分布式表。(2.00.5
  • 响应式状态引擎(reactive state streaming engine)支持参数 metrics 指定函数的返回值为 array vector。(2.00.5
  • getStreamingStat().subWorkers 函数返回结果 throttle 统一为以毫秒为单位。(2.00.5
  • asof join 引擎支持指定多个连接列。(2.00.5
  • 横截面引擎(cross-sectional engine)新增参数 snapshotDir 和 snapshotIntervalInMsgCount 支持快照机制,新增参数 raftGroup 支持计算引擎高可用。(2.00.5
  • 新增函数 getLeftStreamgetRightStream 支持 join 引擎的级联。(2.00.5
  • 若横截面引擎(cross-sectional streaming engine)和时间序列引擎(time-series streaming engine)参数 metrics 指定的函数有多个返回值,创建引擎时无需指定列名。(2.00.5
  • 新增命令 addAccessControl 对共享内存表(包括共享流表)或流数据引擎对象增加权限控制。(2.00.5
  • 对表应用 quantile 等聚合函数时,不符合条件的列在输出结果中保持不变。(2.00.5
  • SQL pivot by 语句支持转换 UUID 类型的列。(2.00.5
  • rowNo 函数应用于 SQL 查询语句中时,将按照序列相关函数处理。(2.00.5
  • array vector 支持更多的切片写法。(2.00.5
  • 函数 ceilfloor 结果的范围上限提升为2^53。(2.00.5
  • 若 SQL pivot by 语句最后一列为分区列,且 select 字段不包含聚合函数或序列函数,pivot by 语句性能提升近五倍。(2.00.5
  • 函数 med 参数支持 BOOL 类型。(2.00.5
  • 函数 emakamawma 支持计算 BOOL 类型向量。(2.00.5
  • 调用 slice 函数时 ,当 rowIndex 或 colIndex 越界时,不再抛出异常,而是返回空值。(2.00.5
  • 调用 spearmanr 函数时,当 X 是矩阵,Y 是标量时,返回结果由 NULL 变成 0。(2.00.5
  • 调用 mutualInfo 函数时,当 X 是矩阵,Y 是标量时,返回结果由标量变成向量。(2.00.5
  • listTables 函数返回的表名调整为对大小写敏感。(2.00.5
  • 性能监控度量值(metrics) 若小于0,则返回0。(2.00.5
  • 命令 addColumn 新增列名支持以数字开头。(2.00.5
  • 函数 loadTextloadTextEx 导入 csv 文件时,第一行数据的读取上限为 256 KB。(2.00.5
  • 聚合函数、窗口函数和向量函数支持表作为输入参数。(2.00.5
  • 函数 randnorm 的参数 count 支持输入数据对,用于指定生成矩阵的维度。(2.00.5
  • 函数 loadTextloadTextEx 新增参数 arrayDelimiter,支持导入包含 array vector 的 csv 文件。(2.00.5
  • row 系列逻辑函数(rowAnd, rowOr, rowXor)支持输入整数。(2.00.5
  • bar 函数新增参数 closed,用于指定分组包含左边界或右边界。(2.00.5
  • 滑动窗口函数的参数 X 是索引序列或索引矩阵,且 window 是正整数时,窗口按照索引滑动。(2.00.5
  • 自定义函数的参数可以分行书写,每行以逗号结束。(2.00.5
  • SQL order by 语句支持使用 as 改名前和改名后的字段。(2.00.5
  • 函数 dailyAlignedBar 参数 X 新增支持 SECOND,TIME,NANOTIME 类型向量。(2.00.5
  • 服务端支持以 pickle 格式传输包含 array vector 的表到 Python API。(2.00.5
  • 日级时间序列聚合引擎(daily time-series streaming engine)新增参数 forceTriggerSessionEndTime,用于指定强制触发 sessionEnd 的窗口。(2.00.5
  • 日级时间序列聚合引擎(daily time-series streaming engine)和时间序列聚合引擎(time-series streaming engine)修改参数 forceTriggerTime,未计算的窗口由计算结束后的最新数据触发。若设置了参数 fill,则同时填充无数据的窗口。(2.00.5
  • TSDB 引擎优化查询某个字段对应的最新数条记录的性能,性能提升数倍至数百倍。(2.00.4
  • 优化 TSDB 在调用 top 子句查询数据时的性能。(2.00.4
  • 提升 TSDB 存储引擎中查询预计算数据的速度。(2.00.4
  • 使用赋值语句对内存表进行更新时,支持在行过滤条件中输入 BOOL 类型数组,形如:t[y, t[y]>0] = 0,其中 t 是表变量,y 是 t 的列名。(2.00.4
  • upsert! 函数新增可选参数 sortColumns,更新后的表可根据该指定列进行排序。(2.00.4
  • cancelJob, cancelConsoleJob 支持同时取消多个任务,且优化了集群阻塞时取消任务的性能。(2.00.4
  • loadText 支持 schema 中指定数据类型为 array vector。(2.00.4
  • set 支持 BLOB 类型的值。(2.00.4
  • keyedStreamTable 一次性批量插入多条键值相同的新记录,出现插入会失败。(2.00.4
  • 优化了 atIminatImax 在 window join 中的使用性能。(2.00.4
  • run 命令新增可选参数 clean,控制是否清理当前 session 中的变量。(2.00.4
  • wj 函数,duration 支持设置为 y(年),M(月),B(工作日)。(2.00.4
  • loadText 支持字符串包含 ASCII 码为 0 的字符。(2.00.4
  • 支持对矩阵的条件赋值。(2.00.4
  • loadTextEx 新增可选参数 atomic,默认值是 false。加载大文件的情景下,设置该参数为 false,将文件加载事务拆分为多个事务。(2.00.4
  • getCompletedQueries 函数和 getRunningQueries 函数返回值中添加 remoteIP 字段。(2.00.4
  • 配置项参数 tdoutLog支持设置为 2,表示同时打印日志到标准输出和日志文件。(2.00.4
  • 异常检测引擎(anomaly detection engine)metrics 参数支持序列相关函数。(2.00.4
  • 时序引擎(time-series engine)windowSize 为向量时,各元素取值可相同。(2.00.4
  • 横截面引擎( cross-sectional engine)支持 keyColumn 输入一个向量。(2.00.4
  • 支持向流数据引擎插入 tuple 类型的记录。(2.00.4
  • 函数 getStreamEngineStat 返回的横截面引擎的统计信息添加了 memoryUsed 字段,可以查看横截面引擎所占内存。(2.00.4
  • createAsofJoinEngine 在 metrics 中支持输出右表的时间列。(2.00.4
  • 共享内存表(共享流表)新增可读不可写的权限管理。(2.00.4
  • 提升了控制节点高可用的稳定性。(2.00.4
  • 日志中新增打印 delete 和 update 操作信息。(2.00.4
  • 输出日志中流订阅任务的报错信息增加订阅主题。(2.00.4
  • 时序聚合引擎的 forceTriggerTime参 数计算规则修改,设置 updateTime 时,不再限制输出表为 keyedTable。(2.00.3)
  • 横截面引擎添加是否触发有效计算的开关。(2.00.3)
  • 响应式引擎中增加支持 mmad 状态函数。(2.00.3)
  • 时序聚合引擎新增对 nanotimestamp 的规整。(2.00.3)
  • 共享流表新增权限控制。(2.00.3)
  • getStreamingStat().subWorkers 的结果表中增加以下参数:msgAsTable, batchSize, throttle, hash, filter, persistOffset, timeTrigger, handlerNeedMsgId, raftGroup, 用于对流数据的监控。(2.00.3)
  • sma, wma, dema, tema, trima, t3, ma, talib, talibNull, `linearTimeTrend state function。(2.00.3)
  • 分布式 join 改进,支持更多的场景,支持的函数包括 lj, lsj, ej, ajwj,可以对不同分区方案的表,分区列不是连接列的表,或者不在同一库中的分布式表做 join。(2.00.3)
  • 维度表的 delete 支持并发操作。(2.00.3)
  • array vector 的 index 支持 slice。(2.00.3)
  • STRING 类型支持直接与 NULL 进行比较。(2.00.3)
  • 提升 stdp, std, varp, var, skew, kurtosis, mskew, mkurtosis, tmskew, tmkurtosis,以及 window join 中 skewkurtosis 等函数的精度。(2.00.3)
  • 支持更多与 array vector 相关计算,包括 groups, distinct, nuniqueat。(2.00.3)
  • 高阶函数的第一个参数会被强制解析成函数。(2.00.3)
  • distinct 函数可与 group by 配合使用,其结果为一个 array vector。(2.00.3)
  • nunique 函数支持分布式计算。(2.00.3)
  • UDF 函数支持 keyword arguments。(2.00.3)
  • 新增对 qr, ols, dot 函数输入的校验,不允许行数或列数为0的矩阵作为输入。(2.00.3)
  • 修改 iif 函数在 condition 包含空值时的行为。旧版本中 condition 的元素包含空值被当作 false 处理。新版本中如果为空值,对应的结果也为空值。(2.00.2)
  • 矩阵进行 accumulate 等计算时放开8192行的限制。(2.00.2)
  • 对维度表的并发执行写入、更新等操作时,不再抛出事务冲突异常。(2.00.2)
  • 数据节点重启时,redolog 的回放会在日志中输出详细的进度。(2.00.2)
  • SQL 语句中的 interval 功能(按时间聚合)移除 range 参数,同时增加可选参数 explicitOffset,默认值为 false。当该参数为 true 时,可以将第一个窗口的起始位置指定为 where 指定的窗口的起始位置。(2.00.2)
  • olswls 在 mode 为2的时候,新增一个输出 Residual。同时新增一个函数 residual 用于计算回归的残差。(2.00.2)
  • in(X, Y) 函数的参数 Y 支持为 NULL,当 Y 为无类型的 NULL 时,函数的返回值为 false 或每一个值为 false 的 vector。(2.00.2)
  • 计算节点(computing node)支持客户端的所有操作。(2.00.2)
  • SQL pivot 产生的表列名不再特殊处理,即直接使用 pivot 的值作为列名。(2.00.2)
  • 函数 rank, denseRank, cumrank, rowRankrowDenseRank 支持 percent 形式。(2.00.2)
  • kmeans 支持自定义质心。(2.00.2)
  • window join 增加对 varp, stdp, prod, skewkurtosis 5个聚合函数的优化。(2.00.2)
  • 支持对非数值类型进行 unpivot。(2.00.2)
  • 滑动窗口函数系列如 msum,当输入数据为 indexed matrix 或 indexed series 时,窗口支持时间偏移窗口类型。(2.00.2)
  • 优化了 TSDB 引擎中 dropPartition 的性能。(2.00.2)
  • TSDB 新增配置选项 TSDBBlockSize,可以指定 TSDB 存储时一个 block 的大小。(2.00.2)
  • database 函数新增可选参数 atomic。当 atomic 取值为 'CHUNK' 时,写入操作只保证分区的原子性,此时也允许多个并发线程同时写入该数据库的同一个分区。(2.00.2)
  • createTimeSeriesEnginecreateDailyTimeSeriesEngine 函数新增参数 forceTriggerTime。(2.00.1)
  • 缩短了 scheduleJob 的间隔时间到5分钟。(2.00.1)
  • timeSeriesEngine 和 DailyTimeSeriesEngine 支持多个 keyColumn。(2.00.1)
  • upsert! 函数 ignoreNull字段支持 DFS 表。(2.00.1)
  • parseExpr 新增可选参数 modules 和 overloadedOperators,可加载模块,重载运算符,且支持使用字典来给表达式中的变量赋值。(2.00.1)
  • sql 函数新增可选参数 exec,支持生成 exec 语句。(2.00.1)
  • TSDB 引擎去重策略支持 KEEP_FIRST,重复数据仅保留第一条数据。(2.00.1)
  • temporalAdd 支持增加与减去工作日(BusinessDay),支持时间类型 DATEHOUR。(2.00.1)
  • 控制节点的元数据信息新增修改时间戳。(2.00.1)
  • SQL GROUPBY 子句中的 interval 函数支持 step 参数,以滑动窗口的方式计算聚合结果。(2.00.1)
  • sql 函数中当参数 groupFlag 为 PIVOTBY 时,参数 groupBy 支持选择多列。(2.00.1)
  • createReactiveStateEngine 新增字段 keyPurgeFilter 和 keyPurgeFreqInSecond,以支持响应式状态引擎(reactive state engine)自动清理 key。(2.00.1)
  • 响应式状态引擎(reactive state engine)支持输出结果到分布式表和流数据表,支持接受来自 replay 的输入。(2.00.1)
  • delete 语句支持 map 子句,将 delete 语句下沉到各分区执行。(2.00.1)
  • 用户自定义函数的输入参数支持默认值。(2.00.1)
  • Windows 安装包的 dolphindb.cfg, controller.cfg, cluster.cfg 默认配置项中移除 redolog 配置参数。(2.00.1)
  • 改进 redo log 的回放性能。在有大量小事务的情况下,性能有10倍以上的提升。(2.00.1)

故障修复

  • 控制节点在启动过程中,如果持续接收到其他节点的用户登录(login)请求,会导致其崩溃。(2.00.10.9

  • 当进行本地多线程订阅时,由于发布端发布速度过快,订阅端的消息队列被占满而无法接收新的数据,进而导致数据丢失。(2.00.10.9

  • 在高度并发执行函数 logingetDynamicPublicKey 时,有时可能导致 server 崩溃。(2.00.10.8

  • bar 函数设置 closed='right' 时,对分区表里的跨天数据分组错误。(2.00.10.8

  • ParseJsonTable 将 JSON 中 string 类型的 NULL 解析为字符串 “NULL” 而非空值。(2.00.10.8

  • 当持久化流表中的 BLOB 字段过大时,即使设置了较小的 preCache,仍可能导致大量数据被加载到内存中。(2.00.10.8

  • 查询内存表数据时,在不使用 group by 语句的情况下嵌套使用聚合函数出现报错。(2.00.10.8

  • 在异步复制并发场景下,从集群极低概率出现控制节点不下发任务的情况。(2.00.10.8

  • 通过 web 查询库表时,小概率发生错误:“connection closed, code: 1006”。(2.00.10.7

  • 当 JSON 中某个字段的前十行数据均为 NULL 时,parseJsonTable 将推导出错误的格式,并据此格式进行表解析。(2.00.10.7

  • 使用 pack 函数出现内存泄漏。(2.00.10.6

  • 执行 cross(func, a, b) 时,若 a 或 b 的数据量过大,会导致 server 崩溃。(2.00.10.6

  • 使用 unpack 函数出现内存泄漏。(2.00.10.5

  • withNullFill 的参数 func 指定为 or 时,若输入参数是布尔类型,则结果不正确。(2.00.10.5

  • sortColumns 列进行 group by 分组后执行 limit 子句没有生效。(2.00.10.4

  • 更新表结构时出现数据竞争导致内存耗尽并崩溃。(2.00.10.4

  • 若存放备份数据的目录(backupDir 指定的路径)在 NFS上,则备份可能会卡住。(2.00.10.4

  • 通过 setMaxConnections 设置最大连接数,创建连接后再关闭连接时发生内存访问越界。(2.00.10.4

  • 使用非 SQL-92 标准的 join 写法对分区表进行连接,且 where 语句中引用了左表的列,导致 server 崩溃(2.00.10.4

  • 跨进程共享内存表的 SYMBOL 类型与 STRING 类型不兼容。(2.00.10.4

  • 创建跨进程共享内存表失败后,再次创建同名跨进程共享内存表,导致 server 崩溃。(2.00.10.4

  • 分布式查询的过滤条件中包含 SECOND 类型与 INT 类型的比较时会报错。(2.00.10.4

  • 在集群中使用 SQL 查询数据时,若执行过程包含 reduce 阶段,且查询的数据不在本地节点时,会报错 'unrecognized column'。此为2.00.10版本引入的问题。(2.00.10.3

  • 高可用环境下,设置权限导致控制节点内存泄露。(2.00.10.2

  • 单节点模式下,TSDB 写入时发生 OOM,导致事务状态不一致。(2.00.10.2

  • parseExpr 无法解析 JSON 对象中的空值“{}”。(2.00.10.2

  • createReactiveStateEngine 的 dummyTable 参数直接赋值一个流表(streamTable(…))时,访问创建引擎的句柄会造成连接断开。(2.00.10.2

  • 恢复数据到一个新的数据库时会报错“getSubChunks failed, path'/xx' does not exist”。(2.00.10.2

  • loc 函数通过行、列标签获取矩阵元素的结果不正确,此为2.00.10版本引入的问题。(2.00.10.2

  • 恢复 DECIMAL 类型数据发生 scale 丢失。(2.00.10.2

  • databaseatomic='CHUNK' 时,若一个事务涉及多个 chunk,可能出现元数据版本不一致。(2.00.10.2

  • 将非字符串变量传入 interval 函数的 label 参数,导致服务器崩溃。(2.00.10.2

  • 查询以时间列进行值分区的表时,通过 where 条件对分区列进行过滤的耗时比较长,此为2.00.10版本引入的问题。(2.00.10.2

  • mprod 函数的中间结果溢出导致服务器宕机。(2.00.10.2

  • in(X,Y)Y 为集合且 Y 包含了超过11位数的长整型时,结果不正确。(2.00.10.2

  • 并发执行 restore 事务或 restore 事务与其他事务并发执行时,重启后可能导致元数据不正确。(2.00.10.2

  • 修复了响应式状态引擎在输入数据分组数多于1024个时应用 genericStateIterate 出现错误结果的问题。(2.00.10.2

  • 查询分布式表时对某些列使用了带有”@JIT”标识的自定义因子函数,导致服务器宕机。(2.00.10.2

  • 查下 TSDB 引擎下的分布式标,若查询语句同时使用了 context by 和 where,且 context by 的列包含了sortKey 时,会报错:Unrecognized column name。(2.00.10.1

  • Windows 系统下,通过 files 函数查询大于 2GB 的文件时,返回的 fileSize 值不正确。(2.00.10.1

  • 在高可用集群下,使用 addFunctionView 时,若序列化出现问题,则不会清理序列化未完成的函数。(2.00.10.1

  • 在高可用集群下,一个控制节点添加使用了插件的函数视图时,会导致其它控制节点宕机。(2.00.10.1

  • 拥有 DB_MANAGE 权限的用户无法给其它用户赋权。(2.00.10.1

  • 添加节点后,进行备份可能会报错。(2.00.10.1

  • 查询采用 COMPO 分区的分布式表,若查询语句同时满足以下条件,则查询结果可能会出现数据缺失:(2.00.10.1

    • select 不使用聚合函数、序列相关函数、row reduce 函数(如 rowSum)、填充函数(如 ffill)
    • 使用了 pivot by 语句,且 pivot by 的列是 COMPO 分区列中除最后一个分区列外的其他列。
  • 2.00.10版本,使用例如 ... and not like(id, '%a'),not like, not in, not between 的语句时,解析会出现报错。(2.00.10.1

  • createReactiveStateEnginemetrics 参数以 tuple 形式给出,且 tuple 中包含返回多个值的函数或表达式时,会出现 server 崩溃。(2.00.10.1

  • 当 symbolbase 文件出现问题时,再次加载该文件会导致 server 崩溃。(2.00.10.1

  • 当查询分布式表的数据量比较大时,若查询语句中使用了 TOPGROUP BY,则可能报错找不到某列。(2.00.10

  • SQL 查询时报错找不到某个列,但列名可能不正确。(2.00.10

  • 向列数较多的分布式表的一个分区写入较多数据时,可能出现因写入失败而导致系统崩溃的问题。(2.00.10

  • 并发加载和删除同一个数据库下的不同表后,再通过 loadTable 加载一个表,可能报找不到 .tbl 文件的错误。(2.00.10

  • 在聚合函数中无法用 headtail 函数。此为 2.00.6 引入的问题。(2.00.10

  • 对维度表通过 renameTable 修改表名的同时进行查询,会导致死锁。(2.00.10

  • 当分区个数过多时,SQL 查询通过 BETWEEN AND 进行剪枝操作会报错:The number of partitions [xxxxx] relevant to the query is too large. 。(2.00.10

  • TSDB 引擎下的分区表或维度表设置 keepDuplicates=LAST 时,通过 UPDATE 语句更新列名大小写不敏感。(2.00.10

  • CASE WHEN 语句中若使用运算、函数,会导致服务器崩溃。(2.00.10

  • SQL 查询时使用 DISTINCT 关键字,在某些场景下可能结果不正确。(2.00.10

  • TSDB 引擎将内存中的数据刷入磁盘时,如果发生 OOM,则会出现 server 崩溃。(2.00.10

  • 向 TSDB 引擎写入 STRING 类型的数据长度超过 256K 时,出现报错:TSDBEngine failed to deserialize level file zonemap。(2.00.10

  • 当查询采用 VALUE 或 RANGE 分区的分布式表时,若 SELECT 语句中的分区列使用了时间转换函数,并且在 GROUP BY 语句中对该列也使用了相同的时间函数,同时取了与 SELECT 语句中字段名称不同的别名,导致查询结果错误。(2.00.10

  • 通过 SQL DELETE 语句删除数据时,若相关分区所有副本都下线,则会报错: chunktype mismatched for path。(2.00.10

  • local executor 在进行任务调度时可能产生死锁。(2.00.10

  • 响应式状态引擎中使用 JIT 用户自定义函数,当单次写入大量数据时,输出结果不正确。(2.00.10

  • 多个节点同时执行 unsubscribeTable 时,可能出现死锁。(2.00.10

  • createLeftSemiJoinEnginemetric 中指定的列名与输入表的列名大小写不一致,则会发生崩溃。(2.00.10

  • 对持久化流表并发进行追加数据和保存流表,会出现 server 崩溃。(2.00.10

  • createWindowJoinEnginemetrics 中若使用了列的别名,则聚合计算的结果错误。(2.00.10

  • 通过 DROP table 语句删除流表,出现该流表无法被删除,也无法被取消订阅。(2.00.10

  • 修复了一些语法(比如 "/" == "a")解析的问题。(2.00.10

  • ols 第二个参数全是0时,输出的结果会多一列。(2.00.10

  • DECIMAL 类型数据通过 join 合并后的结果不正确。(2.00.10

  • wjaggs 参数输入不规范时,因解析失败而导致 server crash。(2.00.10

  • expr 函数中若传入了 DATEHOUR 类型,则结果不正确。(2.00.10

  • webLoginRequired 启用时 web 无法正常加载。(2.00.10

  • 使用 cast 转换 SYMBOL 数据时结果不正确。(2.00.10

  • nullFillbucket 函数返回值中的空值填充失败。(2.00.10

  • 对 DECIMAL 类型列应用 unpivot后,精度丢失。(2.00.10

  • 自定义函数中使用 twindow 调用了一个自定义匿名聚合函数,出现报错:func must be an aggregate function.。(2.00.10

  • 启动 DolphinDB 进程时通过 run 参数指定运行脚本,若脚本包含 submitJob,则会导致 server 崩溃。(2.00.10

  • 修复在同时满足以下条件时,server 重启会产生函数视图与 module 函数名冲突的问题:

    • 单节点模式
    • 添加 module 中的函数到 functionView 后再删除该函数视图
    • 配置项 preloadModules 指定了预加载该 module

    同时优化了在其它情况下,当函数视图与 module 函数发生冲突时的报错信息。(2.00.9.7

  • 服务器与客户端通过 SSL 通讯时,如果从服务器传输到客户端的数据量很大,可能会导致会话断开连接。(2.00.9.7

  • 在集群模式且设置数据库为 atomic='CHUNK' 的情况下,对于同一个数据库下分区数据分布在不同节点上的不同表进行连接时,结果有时不正确。(2.00.9.7

  • 状态引擎未处理 metrics 中的用户自定义函数的命名空间。(2.00.9.7

  • 通过 mskewmkurtosis 计算的数据中,若某个数据列连续存在相同值,且相同值的个数大于窗口长度(window),则计算结果不正确。(2.00.9.7

  • DolphinDB 的 ols 函数输入参数为矩阵时,若中间结果是奇异矩阵,则最后的计算结果和 Python statsmodels.OLS 的结果不一致。(2.00.9.6

  • 查询 MVCC 表,对字符串类型列使用 order by 时,不支持同时搭配 limit 0, k(或 limit k)。(2.00.9.5

  • 删除一个视图(dropFunctionView)时,由于写日志时未加锁,导致偶发宕机。 (2.00.9.5

  • 等值连接(equi join, inner join)两个表,其中第一个连接列为 STRING 类型,第二个连接列为 NANOTIMESTAMP 类型时,返回结果不正确。(2.00.9.5

  • 通过 loadTable 加载表时,由于对表名校验不严格,导致分级存储数据丢失。(2.00.9.5

  • 禁用 SQL 的 select distinct 语句。SQL 语句中出现的 distinct 将按照函数的逻辑执行,即结果中返回的顺序不保证和原表中的相同,且列名为 distinct_xxx。(2.00.9.5

  • 如果 datanodeRestartInterval 的设置时间小于系统预定义值100,在安全关机情况下或重启集群时,数据节点会立刻被控制节点启动。(2.00.9.4

  • toJson 传入的 tuple 中包含数值型标量时,转换结果错误。(2.00.9.4

  • 如果字典中的 value 是ANY类型的向量,则使用 toJson 转换后会出现缺失元素的情况。(2.00.9.4

  • 使用 bar 查询分区表时,如果将 bar 的 interval 参数设置为 0,则可能会导致 server 崩溃。(2.00.9.4

  • 通过 replay 函数进行异构回放时,若输入标识为 SYMBOL 类型,则出现报错。此为 2.00.9 版本引入的 bug。(2.00.9.4

  • 因部分定时作业序列化失败而导致在重启后所有定时作业反序列化失败。(2.00.9.4

  • 通过 scheduleJob 设置的定时任务序列化失败但仍然生效。(2.00.9.4

  • array 函数的 defaultValue 参数指定为向量,导致 server 崩溃。(2.00.9.4

  • upsert! 函数的 newData 参数为非表类型时,导致 server 崩溃。(2.00.9.4

  • 使用 upsert! 更新表数据时,同时满足以下条件,导致更新失败(2.00.9.4):

    • 仅更新一条数据
    • newData 表中含有 NULL 值
    • 设置 ignoreNull=true
  • 通过 update 对 mvcc 表一次新增多列时出现类型不匹配的报错。(2.00.9.4

  • 通过 update from 语句更新 TSDB 引擎中设置了 keepDuplicates=LAST的表,结果不正确。(2.00.9.4

  • group by 一个包含特殊字符(控制字符、标点符号、数学符号和其它特殊符号等)的列时,返回结果里会忽略这些特殊字符。(2.00.9.4

  • 通过 addColumn 向 TSDB 引擎中的表添加列后导致数据错误以及宕机。(2.00.9.4

  • dropColumns! 不能删除顺序分区内存表。(2.00.9.4

  • 控制节点在加载本地磁盘分区表时可能出现宕机。(2.00.9.4

  • getClusterDFSTables 函数会返回已经删除或不存在的表。(2.00.9.4

  • 添加新的数据节点并执行 moveReplicas() 后,出现分区物理路径和元数据记录不一致。(2.00.9.4

  • N 对 N 流表回放时,如果某个 timePartition 中输入数据源为空表,则出现输出表数据错位。(2.00.9.4

  • window join 引擎的 nullFill 参数格式为 [[]],且指定 window=0:0 时,输出的行数和左表不一致。(2.00.9.4

  • 创建流数据引擎时,因未对某个内部变量进行初始化导致引擎偶尔创建失败。(2.00.9.4

  • 对 TSDB 引擎下的表并发写入和查询时,当发生 OOM 时,查询线程概率性出现 crash。(2.00.9.4

  • 分区物理文件夹不存在(手动删除)后,可能导致 flush 数据到磁盘时丢数据或者主动进行 flush 的操作(如 dropTable)卡住。(2.00.9.4

  • temporalAdd 函数的 unit 指定为 "M" 时,结果不正确。(2.00.9.4

  • 不同事务操作相同分区时,偶尔出现存储数据错误。(2.00.9.3

  • 对用户赋予 DB_READ 或 TABLE_READ 权限后,偶尔出现无法查询数据。(2.00.9.3

  • 在高可用集群环境中,若控制器节点在关闭时,raft 日志未能完全写入,当其重新启动时发生崩溃。(2.00.9.3

  • loadText 加载的 csv 文件中包含未配对的引号(""),导致 server 崩溃。(2.00.9.3

  • MVCC 表新增列后,通过 schema 查看表结构,或者通过 setColumnComment 对新增的列添加注释时,导致 server 崩溃。(2.00.9.3

  • 分区字段包含不可见字符导致 controller 和 datanode 版本号不一致。(2.00.9.3

  • TSDB 引擎不自动释放 symbolBase 对象。(2.00.9.3

  • byRow 函数对输入的列式元组(columnar tuple)应用非聚合函数,如果返回结果为 arrayVector 或者 anyVector,会导致 server 崩溃。(2.00.9.3

  • 更新内存表越界索引的数据,导致 server 崩溃。(2.00.9.3

  • 在高并发场景下,频繁登录用户,可能导致 server 崩溃。(2.00.9.3

  • StreamEngineParser 使用嵌套 UDF 函数 导致 server 崩溃。(2.00.9.3

  • window join 引擎设置输出计算耗时(outputElapsedMicroseconds=true),可能不输出结果。(2.00.9.3

  • lookup join 引擎的输入表包含数组向量类型列时,发生 OOM。(2.00.9.3

  • 流表订阅端重连时,如果发布端流表未定义,则会出现文件描述符泄露。(2.00.9.3

  • 更新 XSHG 和 XSHE 的 holiday 日历。(2.00.9.3

  • parseExpr 转换包含 lambda 函数的字符串,导致 server 崩溃。(2.00.9.3

  • parseExpr 转换的字符串末尾带分号时,出现报错。(2.00.9.3

  • 对组合分区表进行分组(group by)查询时,若同时满足以下条件,会导致 server 崩溃:(2.00.9.3

    • select 子句中包含部分聚合函数;
    • where 子句的条件中使用函数调用,且使用了 or 语句。
  • RepartitionDS 通过 query 参数查询连接(join)表,且 partitionType 参数指定为 VALUE 分区时,出现 server 崩溃。(2.00.9.3

  • 分区表的连接列未包含所有分区字段,且左、右表的部分分区字段具有相同的列名,对右表部分分区列进行过滤时,查询结果不正确。(2.00.9.3

  • 对按月进行值分区的 DFS 表,通过 where 条件对某月第一天数据进行过滤,查询结果不正确。(2.00.9.3

  • 查询语句中通过 order by 对列名为 DATE(大小写敏感)的列倒序排序,且搭配 limit 使用,导致 server 崩溃。(2.00.9.3

  • 对 DECIMAL 类型列进行 pivot by,且对 select 指定的列进行 rowSum 等分布式计算时,查询结果不正确。(2.00.9.3

  • 分组(group by)对多个查询列进行时间序列相关(例如 pre, rank 等)的聚合计算,查询结果不正确。(2.00.9.3

  • 高可用方案中客户端重复提交写入任务。(2.00.9

  • TSDB Compact 的时候发生 oom,产生的垃圾 levelFile 未回收。(2.00.9

  • 聚合函数运算得到的内存表,后续参与 move 等移动函数的运算时会修改本身内存表数据。(2.00.9

  • window join 的 metric 用匿名聚合函数时报错。(2.00.9

  • 按月分区,where 条件的时间类型和列的时间类型不同时且为当月的最后一天时,查询结果有缺失。(2.00.9

  • ols 自变量为字符串类型会导致 crash。(2.00.9

  • 使用 loadText 函数导入 string[] 的类型数据会导致 crash。(2.00.9

  • transaction 语句中使用 mvcc 表会导致 crash。(2.00.9

  • corr 函数与 deltas 函数联用,加了 as 之后结果不正确。(2.00.9

  • 当 TSDB 引擎包含 array vector 列时,upsert 会报错。(2.00.9

  • kill -9 直接关闭 server 后会导致一些 redo log 不回收。(2.00.9

  • 响应式状态引擎计算时,若表里面有 STRING 类型,偶尔会导致 crash。(2.00.9

  • submitJob 时,若 metacode 包含未定义变量,执行时会导致 crash。(2.00.9

  • 集群网络故障后网络恢复,有时会导致节点 crash。(2.00.9

  • 元编程计算时使用 partial function 并启用 context by 会导致结果不正确。(2.00.9

  • replayDSsqlObj 无法识别为 metacode,导致错误的报错。(2.00.9

  • rank 一个 array vector 导致 crash。(2.00.9

  • 若 lj 的左表为内存表,右表为分布式表,且右表的数据库路径包含多层目录(如数据库路径 dfs://mydbs/quotedb),则会报错。(2.00.9

  • createTimeSeriesAggregator,当 metric 包含 keyColumn 时,会报错。(2.00.9

  • trace 功能导致文件符泄露。(2.00.9

  • 高可用集群下当两个节点同时执行 getClusterPerf 函数会导致死锁。(2.00.9

  • accumulate 多次执行时偶尔会 crash。(2.00.9

  • createDailyTimeSeriesEngine 计算完成后,在一些场景下查询结果中的时间类型数据会报错。(2.00.9

  • TSDB 引擎下,表中启用了 sortKeyMappingHashFunction,集群环境下,在多线程并发查询时,偶尔会报错或崩溃。(2.00.9

  • 两个空的字符串相加后,isValid 判断结果为非空。

  • SQL 查询时多个过滤条件使用 or 连接,超过 128 个后返回结果为空。(2.00.9

  • loadText 时若抛出异常,在高压力下有时会导致死锁。(2.00.9

  • 函数添加到 FunctionView 后,查询得到的 body 少了一对括号。(2.00.9

  • 用下标对表取某一行记录时,返回的结果中 array vector 类型的字段结果不正确。(2.00.9

  • ftest 的结果会出现 inf。(2.00.9

  • 字符串向量超出索引切片时会导致 crash。(2.00.9

  • 高阶函数 each 作用于自定义函数,且输入参数为 table 类型时,有时会 crash。(2.00.9

  • 在内存中使用 moving 函数计算 arrayVector 时,minPeriods 大于等于 2 报错。(2.00.9

  • 创建 CrossSectionalEngine 后如果 append 的数据和 dummyTable 表结构不一致,不会抛出异常。(2.00.9

  • restoreDB 恢复 TSDB 数据库导致死锁。(2.00.9

  • loadTextEx 导入数据时若数据库为值分区,且导入的数据包含建库时分区列未覆盖的部分,则查询不到该部分对应数据。(2.00.9

  • 无法在通过 restoreDB 恢复的 TSDB 数据库中查询到数据。(2.00.9

  • join 分布式表时,列为非分区列,order by 分区列且查询中有 top 子句,结果不正确。(2.00.9

  • 序列化 rpcremoteRun 返回的部分应用函数(partial application)时报错。(2.00.9

  • 在 job log 达到 1G 后,生成新的 job log 时,旧的 job log 会被丢弃。(2.00.9

  • 根据配置项 openblasThreads 创建 open blas 线程数,而不是根据 CPU 核数创建。(2.00.9

  • 向由 TSDB 引擎创建的表中写入包含 STRING 类型数据时发生内存泄漏。(2.00.8

  • 配置 TSDBCacheFlushWorkNum 值小于 volumes 的数量时,会导致 TSDB 引擎数据刷盘无法完成。(2.00.8

  • 数据节点(datanode)序列化超过128M的分区元数据时,导致序列化失败。(2.00.8

  • 数据节点(datanode)上进行DDL操作,因事务决议失败,导致分区状态错误。(2.00.8

  • 回放 redo log 失败,导致 datanode 上分区状态错误。(2.00.8

  • 启用分级存储功能,当分区转移到 coldVolume 时失败,会导致分区被误删。(2.00.8

  • 建库时指定 atomic=‘CHUNK’ 时,控制节点元数据过大,导致启动慢。(2.00.8

  • TSDB 引擎使用 delete 删除分布式表出现内存占用过大。(2.00.8

  • 进行 update 操作后,旧版本的数据被提前回收。(2.00.8

  • renameTable 后旧表未及时回收。(2.00.8

  • dropPartition 时分区以 "/" 结尾会导致 server crash。(2.00.8

  • dropPartition 通过指定条件的方式无法删除创建分布式表(VALUE 分区)时自动新增的分区。(2.00.8

  • 对同一张空表多次删除数据,会导致数据节点(datanode)元数据中表的 cid 错误。(2.00.8

  • dfsRecoveryConcurrency 配置项设置后不生效。(2.00.8

  • 往流表中插入单条 array vector 数据时,handler 执行失败。(2.00.8

  • 响应式状态引擎(createReactiveStateEngine)metrics 中的自定义函数传入 array vector 数据类型导致 server crash。(2.00.8

  • 响应式状态引擎(createReactiveStateEngine)metrics 中包含 talibNull 状态因子时,会创建失败。(2.00.8

  • 创建 streamEngineParser 引擎时,若 metrics 使用外部变量,会导致 server crash。(2.00.8

  • window join 左表行数小于 window 时会导致 server crash。(2.00.8

  • exec 与 limit 一起使用,当返回条数不足 limit 限制条数会导致 server crash。(2.00.8

  • isDuplicated, nunique 函数对 DOUBLE,FLOAT 类型数据计算结果不正确。(2.00.8

  • 用户自定义函数内调用 parseExpr 无法解析。(2.00.8

  • getClusterPerf 返回值字段 maxRunningQueryTime 显示结果不正确。(2.00.8

  • loadNpy 读取过大的文件会crash。(2.00.8

  • JIT 版本无法在 for 循环外部访问循环内部变量。(2.00.8

  • 向 OLAP 引擎持续写入数据时,出现 redo log 回收被卡住。(2.00.7

  • 节点安全关机后,仍被控制节点判断为存活。(2.00.7

  • 事务决议未完成前,分区锁因超时被释放,导致数据无法写入。(2.00.7

  • backup 函数按条件备份数据时,对查询条件处理错误。(2.00.7

  • 机器负载(load)过高情况下会导致 crash。(2.00.7

  • 同时满足以下条件时出现 server crash:API 开启压缩选项,只查询1个分区的数据,查询的数据并不在 API 所在节点,且查询语句包含 group by 操作。(2.00.7

  • 分布式表更新后重启集群,更新过程中产生的旧的物理目录有时不会被回收。(2.00.7

  • 修复因 symbol base 序列化出错导致数据读取出错。(2.00.7

  • 流数据订阅不到持久化流表内存中还存在但是磁盘上已删除的数据。(2.00.7

  • appendForJoin 插入数据的列数若与 JoinEngine 的 leftTable, rightTable 的列数不一致,会导致 crash。(2.00.7

  • 修复 createSessionWindowEngine 设置 updateTime,但输出表不是 keyedTable 时,一条数据到达引擎之后经过 2*updateTime仍未参与计算,不会触发计算。(2.00.7

  • DailyTimeSeriesEngine 在 SessionEnd 之后仍有数据输入可能会导致 crash。(2.00.7

  • createLookupJoinEngine rightTable 是共享键值内存表时创建引擎会失败。(2.00.7

  • 持久化流表写入过程中重启节点,重新加载过程因丢失部分数据导致解压失败而报错。(2.00.7

  • replay 回放时,指定 dateColumntimeColumn 为同一个 big array 类型的时间列,且设置 absoluteRate=false 时,server 会 crash。(2.00.7

  • createReactiveStateEnginemetrics 参数指定为返回一个常量向量的自定义函数时未报错。(2.00.7

  • createAnomalyDetectionEnginemetrics 参数中包含临时变量会导致 crash。(2.00.7

  • 异常检测引擎(AnomalyDetectionEngine)启用 snapshot,重新创建引擎时指定不同于上个引擎的 metrics,没有抛出异常。(2.00.7

  • 通过元编程对分布式表执行 context by 操作时,报错:"The select clause of the query doesn't refer any column."。(2.00.7

  • update 语句与 context by 配合使用时,若 set 的第一列为整数列,后面的列为浮点数列,则会对后面的列进行取整操作。(2.00.7

  • 当 worker 数量非常少的时候,并发做 pivot by 查询,则可能会卡死。(2.00.7

  • 对查询三级分区表数据语句使用 HINT_EXPLAIN 时,出现 server crash。(2.00.7

  • STRING 类型的 subarray 调用 binsrch 函数时,结果不正确。(2.00.7

  • 将 STRING 类型的向量通过 cast 函数转换为 tuple 时,结果为空。(2.00.7

  • 对内存表的多个类型为 INT128 的列进行聚合计算时,出现报错:“The function min for reductive operations does not support data type INT128”。(2.00.7

  • 通过 getFunctionView 获取函数视图时,返回结果中部分函数没有显示 body。(2.00.7

  • 数组向量(array vector)应用 removeHead! 函数的结果不正确。(2.00.7

  • 向一个空的 tuple append 它自己后,再加载该 tuple,server 发生 crash。(2.00.7

  • SQL 查询调用 interval 插值场景下,当 where 子句指定的时间范围数据类型的粒度比 interval 的 duration 参数指定的时间粒度更大时,导致的 server crash。(2.00.7

  • sql 查询语句中调用 twindow 函数时,server 会 crash。(2.00.7

  • update 分布式表时,set 后的列名与分布式表的列名大小写不一致,导致数据更新失败。(2.00.7

  • 响应式状态引擎的 metrics 中包含函数 iterate 时,若启用了数据清理机制,且正在清理数据时插入了数据会报错:"vector::_M_default_append"。(2.00.7

  • 调用 matrix([[datehour(0)],[datehour(0)]]) 创建 matrix 时,报错:“The data object for matrix function can't be string or any type”。(2.00.7

  • wj 参数 aggs 指定为 countNanInf 报错:"An window join function must be an aggregate function"。(2.00.7

  • createDailyTimeSeriesEngine 不指定分组时,将前一天未计算的数据合入了第二天的第一个窗口。(2.00.7

  • createDailyTimeSeriesEngine 跨天第一个窗口的数据计算结果不正确,且调用 fill 填充时,输出了 session 时间段外的数据。(2.00.7

  • online recovery 过程中,部分处于 In-Progress 状态的任务无法恢复。(2.00.7

  • createTimeSeriesEngine 指定 useSystemTime=true 时, metrics 中调用 mode 函数导致 server crash。(2.00.7

  • createReactiveStateEngine 参数 metrics 包含 tmovemove 函数, 且 X 为 STRING, SYMBOL 类型时,会 crash。(2.00.7

  • wj 参数 aggs 指定为 atImaxatImin 结果错误。(2.00.7

  • 通过 streamFilter 引擎分发普通流表时,调用 tableInsert 插入数据报错。(2.00.7

  • streamFilter 插入失败时由于报错信息过长导致 session 断开。(2.00.7

  • createTimeSeriesEnginecreateDailyTimeSeriesEngine 参数 metrics 包含函数 firstNot, lastNot,并指定 fill=`ffill 时,输出不符合预期。(2.00.7

  • createReactiveStateEngine 参数 metrics 包含 mfirst, mlast,且函数输入参数 X 的数据类型为 FLOAT, LONH, SHORT, CHART, BOOL, INT128, STRING, SYMBOL 时导致 server crash。

  • 增加 fj 对结果集行数的限制,不超过20亿行。(2.00.7

  • 通过 tableInsert 插入数据到表,导致数据库的 atomic level 从 ‘CHUNK’ 转变为 ‘TRANS’ 。(2.00.7

  • createReactiveStateEngine 参数 metrics 包含 tm 系列函数时,tm 系列函数参数 window 精度为 y, M, B 时计算结果不正确。(2.00.7

  • server 2.00.6 windows 版本 TSDB 引擎文件描述符泄露。(2.00.7

  • 修复浏览 online Recovery 重启节点后,两副本 string 列数据不一致。(2.00.7

  • resample 函数输入索引是 TIME 类型的时间数据,参数 origin 指定 "end",rule 指定为 "D",查看返回结果报错:"Invalid value for HourOfDay (valid values 0 - 23): 39"。(2.00.7

  • 非 admin 管理员 grant/deny/revoke 自身权限时报错。(2.00.7

  • TSDB 在 OOM 时引发的 redolog 回收异常。(2.00.7

  • 当矩阵的某一行全为空,byRow 计算 imin, imax 时结果不正确。(2.00.7

  • controller 节点宕机时,使用 getControllerPref 获取到的 agentsite 不正确。(2.00.7

  • SQL 查询时调用 interval 和并通过用户自定义聚合函数进行聚合时,导致 crash。(2.00.7

  • 未配置 dataSync 动态调用 addNode 函数增加节点报错。(2.00.7

  • 并发进行写入、查询或计算时,有时出现因 Out of memory 导致系统卡住。(2.00.6

  • TSDB引擎开启去重功能,实时写入的同时进行实时查询,有时返回结果不正确。(2.00.06

  • 数据持续写入 OLAP 存储引擎导致 Cache Engine 刷盘的同时进行查询,查询结果有时会不正确。(2.00.6

  • TSDB 引擎下,exec 语句搭配 limit 1 时,返回的是只有一个值的表,而不是一个向量。(2.00.06

  • 向 OLAP 引擎 Cache Engine 中写入数据时,若抛出非 out of memory 的异常,则会一直重试导致系统卡住。(2.00.6

  • suspendRecovery 后调用 moveReplicas 函数,部分 chunk 未转移。(2.00.6

  • 提交并行任务后重启集群,重启后有几个 chunk 一直处于 RECOVERING 状态。(2.00.6

  • 使用 delete 语句删除大量数据时,会出现因 checkpoint 文件写入错误信息而导致节点 crash,无法再次启动的问题。(2.00.6

  • createReactiveStateEngine 中开启 snapshot,当取消订阅之后再次订阅时,若 metrics 与第一次订阅不同,则会导致 server crash。(2.00.6

  • lookup join 引擎插入单条数据可能导致 server crash。(2.00.6

  • 即使写入高可用流表 schema 不一致,仍然会被放到持久化队列,导致 leader 切换后会报错:"Can't find the object with name"。(2.00.6

  • createDailyTimeSeriesEngine 如果指定 fill,会对输入表中间不包含数据的日期进行填充。(2.00.6

  • createDailyTimeSeriesEngine 若指定 windowSize 大于 step,fill="none",在指定 forceTriggerTime 后,没有触发最后一个滑动了 step 之后的窗口的计算。(2.00.6

  • 非 admin 用户可以调用 createUser 函数。(2.00.6

  • changePwd 没有限制新密码的长度。(2.00.6

  • loadText 加载数据到内存表时,若某列数据全部为中文字符,或同时包含中文字符和数字时,会忽略中文字符。(2.00.6

  • array vector 占用内存非常大,但没有达到 warningMemSize,出现:"out of memory" 的报错。(2.00.06

  • 使用 matrix([],[]) 语句会导致 crash。(2.00.6

  • exec 搭配 pivot by,若不对 exec 选择的列字段调用函数,不会生成一个矩阵,而是生成一个 table。(2.00.6

  • 从分布式表 exec 单列时,返回的类型为内存表。(2.00.6

  • randomForestClassifier 如果设置 numJobs > 1 或者 numJobs=-1,当重复使用同一个 dataSource 进行训练时,则会导致 server crash。(2.00.6

  • interval函数的 duration 的时间精度与实际数据的精度不匹配导致 crash。(2.00.6

  • keyedTable(keyColumns, table) 创建键值内存表时,若 table 存在重复键值,发生内存泄露。(2.00.6

  • 调用 olsEx 方法,传入一个查询结果为空的数据源后,数据节点发生 crash。(2.00.6

  • addFunctionView 传入自定义函数包含超过64k的字符串时,会导致 server crash。(2.00.6

  • mcorr, mwavg等支持矩阵计算的 m 系列函数对索引矩阵做计算时,计算结果 lable 列会丢失。(2.00.6

  • loadTextEx 导入数据发生异常时不报错,此为2.00.4版本引入的bug。(2.00.06

  • TSDB 存储引擎下创建数据库表,对包含 “.” 的 SYMBOL 类型字段进行值分区,查询时会忽略 sql 语句中 “.”。(2.00.06

  • 修复了几个 TSDB 引擎的问题:(2.00.5

    • SQL 查询时,若 where 过滤条件中包含 array vector 类型的列,可能导致 crash;
    • level file 合并后重启数据库,再次写入数据时,已经合并的 level file 不会被回收;
    • 从旧集群同步数据至新集群时,新集群各节点上的部分内存不释放;
    • SQL 查询时,若 where 条件的数据格式为 timestamp,而实际数据是 nanotimestamp 格式,则查询结果不正确;
    • 查询数据量比较大时,若查询语句包含 group by, context bypivot by 操作,且操作的列包含多个 sortColumns 参数中指定的排序列,查询结果可能不完整;
    • group by 分组查询 count 数目,可能导致 crash。
  • 集群各节点之间在线同步数据时,若使用 mr 并行计算,可能导致节点崩溃。(2.00.5

  • 若在 1.30.16 之前版本中对分区名带有“.”字符的数据库分区进行 backup 备份,在 1.30.16 版本中通过 migrate 恢复数据时,可能报错。(2.00.5

  • 由于 1.30.16 引入的新功能,导致从 1.30.16 升级到 2.00.4 版本时出现兼容性问题。(2.00.5

  • 查询数据库时,有时会出现报错:“The remote call task doesn't associate any site.”。(2.00.5

  • 进行过 upsert / update / delete 操作的数据库,若使用 imtUpdateChunkVersionOnDataNode 更新了数据节点上的版本号,可能导致数据读取错误。(2.00.5

  • 修复了几个 array vector 的问题:(2.00.5

    • 将 array vector 从一个数据节点发送到另一个数据节点时,可能导致 crash;
    • 对 array vector 的 subarray 求 count 数目,结果不正确;
    • 从空表中取 array vector 值导致结果不正确
  • 由于 raft log 追加写有问题,导致高可用集群有时重启后无法正常启动。(2.00.5

  • 在 Windows 系统中,通过 dropTable 成功删除空表后,若通过 renameTable 把另一个表命名为此表,会报错提示文件已存在。(2.00.5

  • 具有 TABLE_WRITE 权限的用户在写入数据时,因数据库无法自动添加 VALUE 分区,导致写入失败。(2.00.5

  • 当时间序列引擎(time-series streaming engine)的 windowSize 参数是一个向量,且 metrics 参数为自定义函数时,可能导致系统崩溃。(2.00.5

  • 流数据高可用计算引擎中,当 follower 在写快照时有可能会死锁,导致后续收到的 raft log 无法被处理,占用内存不断增大。(2.00.5

  • 往高可用流表写入数据时,写入数据已经持久化,但 log 还未发送到 follower 时,若所有数据节点宕机,重启后节点间数据会不一致。(2.00.5

  • 重启节点后从磁盘加载持久化数据时,需要删除过期的 rowIndex 时误将最后一个 rowIndex 删除,导致数据缺失。(2.00.5

  • 流数据高可用状态下,两次 append 数据,每次数据都超过 65536 行,且leader 节点数据同步到 follower 上时发生了 leader 切换,会导致原 leader 节点重启后自动加载持久化流表失败。(2.00.5

  • 当高可用流表所在的 raft 组和高可用订阅的 raft 组不同时,如果两组 leader 同时切换或重启,而高可用流表所在 raft 组的 leader 节点竞选成功晚于高可用订阅的 raft 组,会导致自动重订阅失败。(2.00.5

  • 订阅(subscribeTable)时设置参数 offset=-2,参数设置无效。(2.00.5

  • 修正了 atImaxatImin 在参数为多列矩阵时的计算方式。自本版本起,这两个函数将对矩阵的每一列分别查找最值,并以向量的形式返回每一列的计算结果。(2.00.5

  • 对内存表和共享流表做表连接,可能导致系统崩溃。(2.00.5

  • SQL 查询中,selectpivot by 一起使用时,若在 select 子句中增加一列常量,会导致系统崩溃。(2.00.5

  • 提交定时任务时,若定时任务的函数有使用{}来生成字典,则会报错无法序列化。(2.00.5

  • 连接两个共享表时会报错:“Unrecognized column name”。(2.00.5

  • 使用 sql 函数生成查询,当 from 参数指定为表连接时,执行结果有误。(2.00.5

  • 当一个分布式表按时间进行值分区,且分区粒度大于分区列的时间精度时,跨库表连接时会报错。(2.00.5

  • mmadmad 函数在 useMedian 参数为 true 时计算结果有误。同时在流数据引擎中修复了此问题。(2.00.5

  • 函数 sqlDS 中,在 where 条件语句中使用运算符过滤时间列时,没有正确分区剪枝。(2.00.5

  • 函数 replayDS 数据源解析时,对 where 条件语句中的 date col 表达式解析有误,没有正确分区剪枝。(2.00.5

  • 当函数中包含 window join 计算,且窗口参数 window 为 duration 数据对时,则添加函数视图(addFunctionView)时 server 端会在反序列化时报错。(2.00.5

  • 对时间分区列进行查询,当查询条件的时间粒度大于分区列的时间粒度时,查询结果有误。(2.00.5

  • zigzag 函数中,当参数 percent 为 false,参数 retrace 为 true 时,计算结果有误。(2.00.5

  • 函数 loadText 读取文件第一行时,“-”开头的负数识别为列名。(2.00.5

  • 在 SQL group by 语句中使用 minmax 函数时,向函数传入两个参数时,计算结果错误。(2.00.5

  • 当事务刷盘过慢,可能会出现 redo log 回收超时,导致重启后数据丢失。(2.00.4

  • 通过一个 dolphindb server 同时启动多个 dolphindb 集群,出现数据节点无法启动的报错:”Failed to open public key file. No such file or directory.”。(2.00.4

  • 高可用集群设置了定时任务( scheduled job),有时会出现因为各个控制节点初始用户的uuid不同,导致切换 leader 后,原有的定时任务在新 leader 上认证失败而无法执行的问题。(2.00.4

  • 数据节点崩溃之后,代理节点每隔一秒而不是按照参数 datanodeRestartInterval 配置的时间来重启数据节点。(2.00.4

  • 定时任务( scheduled job)如果包含了 SQL update 语句,且 where 条件中使用了函数,则在系统重启时反序列化会失败。(2.00.4

  • 对分布式表更新后,若提交事务(commit)失败,则旧的物理目录不会被回收。(2.00.4

  • 高并发写入场景下,当 redo log 所在磁盘占满时,会概率性导致 redo log 回收线程死锁。(2.00.4

  • 数据节点写入数据时内存不足时,未报错 Out of Memory,而是卡住一段时间后崩溃。(2.00.4

  • OLAP 存储引擎在各种并发操作时出现节点随机下线的情况。等待一段时间后节点上线, getTabletsMeta 返回结果显示丢失一个副本的数据,但实际上并没有丢失。(2.00.4

  • TSDB存储引擎,若数据按照时间列(timeCol)分区,排序列(sortColumns)有两列以上,且最后一列为 timeCol,此时若按照排序列(sortColumns)分组,取每个分组内按照分区列(timeCol)排序后的前 k 条记录(context by sortColumns csort timeCol limit k),有时会 crash。(2.00.4

  • TSDB 存储引擎并发修改 edit log,导致数据节点无法重启。(2.00.4

  • 事务回滚出现超时场景下,chunk 的状态设置错误,导致流表持久化报错。(2.00.4

  • 横截面引擎( cross-sectional engine ) 参数校验出错,指定 timeColumn 的情况下,没有指定 useSystemTime 或者指定 useSystemTime 为 true,未抛出异常。(2.00.4

  • 时间序列引擎( time-series engine )中当指定 useSystemTime 为 true 且 outputTable 是分布式表时,有时会抛出类型不匹配的异常。(2.00.4

  • 用于流数据处理的 Asof Join Engine 指定 delayedTime 的情况下,有时写入数据会出现 crash。(2.00.4

  • 流数据高可用,两次 append 的数据都超过65536,如果此时发生 rollback,index.log 会重复写入两条一样的 index 导致报错:”index.log contains invalid data.“。(2.00.4

  • windows 系统下,向 time-series engine, daily time-series engine 和 asof join engine 写入数据,有时会发生 crash。(2.00.4

  • subExecutor 还有任务在执行,此时,使用 unsubscribeTable 成功取消订阅,但 getStreamingStat().subWorkers 仍能查询到被取消订阅的 topic。(2.00.4

  • 节点重启之后,高可用流表有时会加载失败;流表和订阅的 raft 组都切换 leader 之后,高可用订阅自动重连失败。(2.00.4

  • 横截面引擎 triggeringPattern 为 'keyCount' 且 triggeringInterval 为 tuple 时,会输出重复数据。(2.00.4

  • 流表包含 BLOB 类型,从磁盘中加载报错:“Failed to decompress the vector. Invalid message format”。(2.00.4

  • 流表在写入 BLOB 数据且单行数据大于 64KB 时会 crash。(2.00.4

  • 给内存表增加的新列赋值时,错误的使用了 select 而不是 exec,加载该内存表时出现节点 crash。(2.00.4

  • 通过 GUI 访问包含 array vector 的内存表 session 会断开。(2.00.4

  • 使用 readRecord! 导入二进制文件,会报错 :“Read only object or object without ownership can‘t be applied to mutable function readRecord!”。(2.00.4

  • 函数调用时,若右括号不在同一行,有时解析会报错。(2.00.4

  • 表中包含 array vector 时,执行 replayDS 函数会导致节点 crash。(2.00.4

  • 查询一个值分区的分布式表,按分区列分组获取每个组最后的K条记录(context by partitionCol limit -k),且在某个分区里不存在满足 where 条件的数据时,会查到不满足条件的数据。(2.00.4

  • SQL 中调用 rolling/moving 函数时,若不指定生成列的列名,则会报错:"More than one column has the duplicated name"。(2.00.4

  • interval 在某个 step 区间内没有数据时,会生成空值。(2.00.4

  • sliceByKey 的 rowKeys 的参数设置错误时,server 会 crash。 (2.00.4

  • 函数 replace! 修改一个向量,引入空值后,没有正确设置空值标志。(2.00.4

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

  • TSDB 存储引擎下,有时重启后数据节点无法启动,报 "iotCheckPointFile.meta" 无法初始化。(2.00.3)

  • 修复了写入、删除、checkpoint、恢复并发的场景下数据库不稳定的问题。(2.00.3)

  • 高可用集群有时候控制节点无法启动,报错:"Failed to read rsa public key file"。(2.00.3)

  • 集群 Python API 多并发有时候会出现数据节点死锁。(2.00.3)

  • 控制节点上关于 chunk 的信息落后于数据节点。(2.00.3)

  • 系统恢复之后发生了事务决议导致数据错乱。(2.00.3)

  • OLAP 存储引擎下,redolog 在系统恢复之后再重放,可能导致数据丢失。(2.00.3)

  • 时序聚合引擎中 append 的 table 的列数小于 dummyTable 的列数时会 crash。(2.00.3)

  • 流数据高可用,将发布端的 leader 多次 kill 之后,再往发布端写入数据,订阅端有时收不到新数据。(2.00.3)

  • interval 在指定线性填充方式,同时 where 指定的开始时间没有数据,且 group by 多个字段的时候,会出现错误的结果。(2.00.3)

  • 当特殊字符作为列名时,sqlCol 会错误地把字段名称当作共享表的引用来处理。(2.00.3)

  • 当y中的数据为连续的相等数据时,mslr 计算会产生正无穷。(2.00.3)

  • eachPre 函数在计算矩阵时,如果矩阵行数过多,则会导致 crash。(2.00.3)

  • mpercentile 计算偶尔会卡住。(2.00.3)

  • temporalParse 对时间向量转换失败的情况下,返回的结果不正确,应该为 NULL。(2.00.3)

  • 对空表进行 update 时,使用 context by 语句,不能产生新的列。(2.00.3)

  • where 条件中"!="前面没有空格时解析失败。(2.00.3)

  • TSDB 引擎生成的文件非常多(超过1亿个)的时候,重启会卡住。(2.00.2)

  • TSDB 引擎的 checkPoint 文件堆积而没有删除。(2.00.2)

  • TSDB 引擎下删除文件时,如果与后台的 merge 操作并发,有时候会导致 merge 尝试读取已被删除的文件而 crash。(2.00.2)

  • TSDB 引擎下,写入有时会有对应事务处于 pending 状态,导致该分区无法写入数据。(2.00.2)

  • TSDB 引擎在数据库中有 blob 列时,有时查询数据或者后台 merge 的时候会报错。(2.00.2)

  • 大压力写入数据时,偶发写任务卡住的情况。(2.00.2)

  • Cache Engine 处理不当,导致 symbose base 一直无法被回收。如果随着时间推移,包含 SYMBOL 类型的分区一直增加,导致内存使用量一直缓慢上升。(2.00.2)

  • 如果事务有 rollback,则 redo log 不会被回收。(2.00.2)

  • 写入更新删除并发时,读取文件时会出现有时读到的数据比预期少,或者某些表会有空行,或者有些 chunk 状态不正确。(2.00.2)

  • 多次写入时重启会报:“returned from name node didn't contain any site”。(2.00.2)

  • 控制节点高可用,重启 leader,偶尔会导致数据节点 crash。(2.00.2)

  • 由于 raft 模块在 leader 切换时处理不当,导致控制节点在高可用的情况下,同一个 chunk 在数据节点上有时候会对应多个 chunkId。(2.00.2)

  • 控制节点在高可用的情况下,频繁切换 leader,导致写入或查询过程中任务卡住。(2.00.2)

  • 在大量并发线程同时增加不存在的值分区时,由于线程的冲突和重试时间太短,导致某些新增值分区添加失败,抛出异常。(2.00.2)

  • 使用非字符串非 SYMBOL 类型的值去更新分布式表的 SYMBOL 类型列,会导致 symbol base 被破坏。(2.00.2)

  • 集群的数据节点在重启时收到大量的客户端请求,有可能在后续的鉴权中,出现登录了却当作 guest 处理的情况。(2.00.2)

  • tableInsert 将一个包含多行数据但某些列缺失的字典插入内存表时报异常。(2.00.2)

  • replay 回放三个数据表表时,会出现两个表的回放速度明显快于第三个表。(2.00.2)

  • replay 回放到持久化流表log会报错:“Error in Replayer::output: Immutable sub vector doesn't support method serialize”。(2.00.2)

  • kurtosisskew 在流计算引擎中结果精度较低。(2.00.2)

  • createDailyTimeSeriesEngine 使用 force Trigger 导致计算结果有 session 区间之外的时间。(2.00.2)

  • TimeSeriesEngine 指定 fill 并且两个分组之间时间相差较大,计算结果可能出错。(2.00.2)

  • createAsofJoinEngine 数据乱序时结果不对。(2.00.2)

  • 没有输出表时,横截面引擎作为返回表会报字段缺失错误。(2.00.2)

  • 一个引用的数据表调用函数 colNames 无法返回列名。(2.00.2)

  • saveText 保存空表时候会抛异常。(2.00.2)

  • cumvarpcumstdp 应用在矩阵上时错误地调用了 cumvarcumstd,导致计算结果变成基于样本的方差和标准差。(2.00.2)

  • try catch 语句的 catch 部分包含多行代码时,实际上只有第一行代码会被执行。(2.00.2)

  • 模块中有系统同名函数时,parseExpr 指定模块,没有优先取模块中的函数。(2.00.2)

  • interval 函数在时间列为分区列且 duration 可以整除分区列的单位时,会多生成数据,这个 bug 是在 2.00.1 中引入的。(2.00.2)

  • interval 函数指定 step 参数且处理的列存在缺失的区间时,结果不正确。(2.00.2)

  • order by 在第二列为负数时,且第二列或之后的数据为浮点数(DOUBLE 或 FLOAT),且一个小组的数据的个数小于等于7个,且包含两个以上的负数,会导致负数之间的相对排序错误。(2.00.2)

  • 诸如 exec col1 from t group by col1 的 sql 语句返回结果不是向量。(2.00.2)

  • 对 huge temporal vector 使用 minmax 函数,应该返回对应的时间类型,但实际上返回一个长整型。(2.00.2)

  • mskew 输入的值过大会出现非法值INF。(2.00.2)

  • 使用 funcByName 且参数为聚合函数时,和 context by 同时使用结果只会返回一行。(2.00.2)

  • window join 在右表时间列有重复值时计算结果不正确。(2.00.2)

  • 自定义函数中的常量均被标记为 static,使用时必须先复制。函数序列化时丢失了static标记。(2.00.2)

  • JIT 版本的数据节点在 loadColumn 的时候,若发生 OOM,则会 crash。(2.00.2)

  • 删除分布式表(使用 dropTabledropPartition)在提交时失败,导致事务回滚后,再次查询该表时结果不符合预期。删除该表缓存后,查询恢复正常。(2.00.1)

  • TSDB Engine 的 TSDBRedoLogDir 配置不生效。(2.00.1)

  • 配置参数 datanodeRestartInterval 后,在高可用环境下会一直重启数据节点, 数据节点无法关闭。(2.00.1)

  • 通过 append! 函数往响应式状态引擎(reactive state engine)写入数据时,如果输入的每列数据是 scalar,会导致系统崩溃。(2.00.1)

  • 创建流数据引擎后,调用函数 getAggregatorStat 导致系统崩溃。(2.00.1)

  • 键值表(keyed table)或索引表(indexed table)和内存表等值关联时,抛出 OOM 异常或导致系统崩溃。(2.00.1)

  • 当最近一个事务操作是删除表的分区,且事务处于决议状态,数据节点有可能给出错误的决议结果。(2.00.1)

  • 当使用 remoteRun 函数远程取消流表订阅时,远程连接可能卡死。(2.00.1)

  • Asof join engine 写入异步持久化流表时导致系统崩溃。(2.00.1)

  • 当多个数据节点向控制节点汇报元数据,如果时间相差很大,会出现元数据一直处于 recovering 状态。(2.00.1)

  • 恢复某个分区后立刻进行 checkpoint, 并且后续该分区没有再写入,会导致元数据和数据不一致。(2.00.1)

  • SQL 语句中使用 interval 子句插值时,分组字段可能出现空值。(2.00.1)

  • mr 函数中数据源的脚本长度超过1024字节时,远程执行的数据源错误的将脚本字符串作为执行结果。(2.00.1)

WEB

新功能

  • 通过 WEB 连接数据库时,增加 DolphinDB License 过期预警的提示弹窗。(2.00.10
  • 通过界面方式建表时,数据列的数据类型中增加 DECIMAL128 类型。(2.00.10
  • 增加通过界面方式创建数据库、数据表的功能。(2.00.10
  • 数据库界面可以展示系统中所有数据库、数据表(包含表结构,列、分区)等内容。(2.00.10
  • 编辑器界面增加执行代码、代码地图和回车补全设置按键。(2.00.10
  • 支持 SELECT NULL 语句。(2.00.10
  • 支持 SQL 关键字以大写形式使用。(2.00.10
  • 支持创建并显示 DECIMAL 数据类型。(2.00.10
  • 编辑器顶栏增加代码地图、回车补全配置,显示代码执行状态、支持点击取消执行中的作业。(2.00.9
  • 增加复制行、删除行功能。(2.00.9
  • 用户在字典中可选中文本。(2.00.9
  • 支持显示 decimal32/64 数据及由其组成的 array vector。(2.00.9
  • 新增查看数据表结构的功能,用户可以查看前一百行数据,添加列。(2.00.9
  • 数据库表再展开后为列,并支持修改注释。(2.00.9
  • 终端的输出结果支持颜色。(2.00.9
  • 交互编程:新增数据库管理,支持查看数据库及表。(2.00.8
  • 新增设置面板,支持自定义小数展示位数,如固定显示两位小数 1.00。(2.00.8
  • 支持词典 (dict) 的可视化展示。(2.00.8
  • 点击错误代码(例如 ‘RefId: S00001’) 可跳转至解释文档。(2.00.8

改进

  • 优化右上角版本信息/节点信息菜单的显示样式。(2.00.10
  • 在数据库浏览器面点击展开表的同时,在数据浏览界面展示表内容。(2.00.10
  • 数据浏览界面中限制表格、向量、字典中的字符串可显示的最大长度为10000 个。(2.00.10
  • 控制节点和数据节点配置界面补全了所有可用的配置选项。(2.00.10
  • regularArrayMemoryLimit 配置参数的输入方式修改为输入框。(2.00.10
  • 取消参数配置界面对部分参数输入值的限制。(2.00.10
  • 在节点配置界面,若配置项的值为空,则不会将该配置写入配置文件。(2.00.10
  • 取消在功能面板中展示文件系统列表,并将文件系统功能整合到交互编程中的数据库中。(2.00.10
  • 日志浏览器调整至网页右边;数据浏览器调整至网页下方。(2.00.10
  • 日志浏览器中最多可显示 100000 行日志。(2.00.10
  • 布局优化,表格移至底部以显示更多列。(2.00.9
  • 代码编辑器统一改为自动保存,无需手动保存。(2.00.9
  • 优化了页面加载速度。(2.00.9
  • 用户需要先登录才能查看数据节点日志。(2.00.9
  • 优化数据视图显示:表格底部显示表的行、列、类型信息;当表内容高度溢出时,总是显示水平滚动条。(2.00.9
  • 优化字体,降低了文件大小。(2.00.9
  • 变量面板变量显示更紧凑。(2.00.9
  • 导航栏顶部显示节点类型。(2.00.9
  • 优化了数据库无权限的错误提示。(2.00.9
  • 路径中含有“.”的数据库支持分级展示,如 dfs://aaa.bbb.ccc。(2.00.9
  • 作业管理中任务状态汉化,支持根据状态搜索。(2.00.9
  • 官网用户手册中的函数文档已同步至最新。(2.00.9
  • 优化代码高亮。(2.00.8
  • 数值支持千分位号(,)分隔,如 1,000,000,000。(2.00.8
  • 关键字、函数提示、函数文档更新。(2.00.8
  • 优化代码执行结果显示,使显示更紧凑。(2.00.8
  • 优化状态管理面板,可分类显示状态信息。(2.00.8
  • 优化了表格分页显示样式,并为新窗口打开等图标增加 tooltip。(2.00.8
  • 作业管理: 优化任务字段名称,支持根据客户端 IP 搜索任务。(2.00.8
  • 在高可用集群环境下,通过 web 访问任意 controller 节点,会重定向到 leader 节点,能在 web 页面展示所有节点信息。(2.00.7
  • Web 任务管理界面优化:重新设计、整合了 Web 管理界面,增加了作业管理功能,支持查看、停止、取消 DolphinDB 运行中、已提交和定时触发的作业。升级 server 版本后,需要同步更新 web 文件夹。 新版本使用了 WebSocket 协议,增加了对 DolphinDB 二进制协议的支持,对浏览器的要求也随之提高,可能需要用户更新浏览器到最新的版本,推荐使用 Chrome 最新版或 Edge 最新版。(2.00.4

Bug Fix

  • 数据库浏览界面中的维度表菜单下会显示分区。(2.00.10
  • 在未登录状态下,启动数据节点却没有弹框提示需要登录。(2.00.10
  • 当查询包含 DATE 类型数据的表时,在数据浏览界面,DATE 类型的 NULL 显示为 'null' 而不是空。(2.00.10
  • 向量中若包含单独的符号 `,则编辑器中部分文本的颜色显示不正确。(2.00.10
  • 在数据库浏览界面下,array vector 类型的列不会在列菜单中显示。(2.00.10
  • 本地变量中点击空的 SYMBOL 变量,会报错。(2.00.10
  • 日志浏览器和编辑器中的字体显示非等宽。(2.00.10
  • 当本地变量过多时,由于本地变量界面没有滚动条,导致变量溢出到共享变量界面显示。(2.00.10
  • 异步复制相关配置项的名称不正确。(2.00.10
  • 修复鼠标悬浮在 append! 等函数时没有正确显示函数提示的问题。(2.00.9
  • 修复矩阵最后一页数据显示异常的问题。(2.00.9
  • 修复终端 refid 错误链接需要点击两次的问题。(2.00.9
  • 修复终端字体显示异常的问题。(2.00.9
  • 关键字高亮逻辑修改,解决了set(), values() 函数被高亮的问题。(2.00.9
  • 修复了绘制 k 线图时横坐标不对的问题。(2.00.9
  • 修复顶部导航栏样式泄漏到编辑器的函数文档区域的问题,修复后编辑器的函数文档顶部高度恢复正常。(2.00.9
  • 修复终端和数据视图中时间显示不正确的问题。(2.00.9
  • 优化了登录错误时显示的错误信息。(2.00.9
  • 数据库面板高度可调整。(2.00.9
  • 数据库列表解决了卡顿问题。(2.00.9
  • 修复了左侧数据库、变量、共享变量面板、高度、宽度及滚动操作相关的缺陷。(2.00.9
  • 修复通过 plot 画图传入时间类型的 labels 时,labels 未正确格式化的问题。(2.00.8
  • web 界面启用数据节点或反复重启集群,代理节点会产生僵尸子进程。(2.00.6
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/dolphindb/release.git
git@gitee.com:dolphindb/release.git
dolphindb
release
release
master

搜索帮助

Cb406eda 1850385 E526c682 1850385