2.00.12

版本下载

版本号: 2.00.12   二级兼容 2.00.11 和 1.30.23

发行日期: 2024-03-31

新功能

  • 新增函数 VaRCVaR ,分别用于计算风控指标(VaR)和条件风险指标(CVaR) 。(2.00.12.1

  • 新增函数 nssnssPredict,分别用于拟合债券的收益率曲线和预测债券的收益率。(2.00.12.1

  • 新增配置项 enableShellFunction,用于设置是否允许用户调用 shell 函数。默认不允许任何用户调用。(2.00.12.1

  • 新增函数 matrixRank,用于矩阵求秩。

  • 新增函数 bondAccrInt(别名:fiAccrInt),用于计算有价证券的应付利息。

  • 新增函数 pinverse,用于求伪逆矩阵。

  • 新增函数 geoWithin,用于判断点是否在多边形中。

  • 新增函数 getDfsRecoveryConcurrencyresetDfsRecoveryConcurrency,分别用于在控制节点上获取和设置数据恢复的最大并发任务数。

  • 新增函数 getDfsRebalanceConcurrencyresetDfsRebalanceConcurrency,分别用于在控制节点上获取和设置数据再平衡的最大并发任务数。

  • 新增函数 getTSDBTableIndexCacheStatus,用于查看当前节点已加载的数据库中表的 Level File 索引所占用的内存。

  • 新增函数 rowGroupby,用于按行进行分组聚合。

  • 新增函数 wslr,用于计算加权最小二乘回归,返回值为元组。

  • 新增函数 digitize,用于根据自定义值对数据分桶。

  • 新增函数 lowerBound,用于查找递增对象中第一个大于等于指定值的元素的下标。

  • 新增函数 fmin,用于使用 Nelder-Mead 单纯形算法找到目标函数的最小值。

  • 新增函数 pdfFpdfChiSquarepdfNormal,分别用于计算 F 分布、卡方分布、正态分布的概率密度。

  • 新增函数 createReactiveStateLessEngine,用于在每次数据注入后根据依赖关系更新并输出对应数据的状态。

  • 新增函数 kroghInterpolate,用于对一组点集进行多项式插值。

  • mTopN 系列新增函数:mpercentileTopN

  • m 系列新增函数 mfirstNot, mlastNot, mLowRange, mTopRange

  • 新增函数 minIgnoreNullmaxIgnoreNull ,分别用于计算两个操作数中忽略空值后的最小值、最大值。
  • tm 系列新增函数:tmLowRange, tmTopRange

  • 新增支持 ZSTD 压缩算法。

  • 新增函数 setDynamicConfig,用于修改指定的配置项。

  • 新增函数 getDynamicConfig,用于获取所有可动态修改的配置项名。

  • 新增配置项 decimalRoundingMode,用于指定全局的 DECIMAL 类型转换的舍入模式。

  • 新增配置项 checkExistingPartitionNumForQuery,用于从控制节点获取实际存在的分区数量。

  • 新增配置项 enableAuditLogauditLogRetentionTime,分别用于记录审计日志和设置审计日志的保留时间,同时新增函数 getAuditLog,用于查询审计日志。

  • 新增配置项 enableNullSafeJoin,用于确定表连接时的空值匹配规则。

  • 新增函数 setStreamTableTimestamp,用于为指定的流数据表设置一个时间戳列以记录数据写入流表时的时间。

  • JIT 支持 set 和字典形式。

  • JIT 支持构造数组向量。

  • JIT 支持字符串。

  • JIT 支持多返回值。

  • 支持通过 use 关键字在脚本中调用后缀为 .dom 的模块文件。

  • 支持创建 DECIMAL 和 STRING 类型的矩阵。

  • 支持在 SQL 语句中使用宏变量和字段序列。

功能改进

  • 优化 replay 函数全速回放异构流表的性能。(2.00.12.1

  • license 函数新增可选参数 read,用于指定是否对 license 文件进行校验。(2.00.12.1

  • createOrderBookSnapshotEngine 的参数 orderBookDetailDepth 支持设置订单簿明细档位。(2.00.12.1

  • genOutputColumnsForOBSnapshotEngine 的参数 orderBookDetailDepth 支持设置输出的订单簿明细档位。(2.00.12.1

  • createPartitionedTablesortKeyMappingFunction 参数支持设置为 hashBucket{, 1}。(2.00.12.1

  • 优化 TSDB 引擎以下场景中的查询效率:对 sort key 使用 in 进行过滤。(2.00.12.1

  • 提升系统安全性,对密码进行加密后存储。(2.00.12.1

  • 函数 createTable 新增别名 createDimensionTable

  • 优化函数 lassoElasticNet 的计算性能。

  • 函数 nuniquecumnunique 新增参数 ignoreNull,用于统计非空的唯一值个数。

  • 函数 round 支持的精度由 8 位提升到 10 位。

  • mifirstNot, miLastNot, mfirstNot, mlastNot, mimax, mimin 函数支持索引序列和索引矩阵。

  • 生成部分应用时支持通过 DFLT 关键字使用默认值固定可选参数的默认值。

  • 函数 deltaspercentChange 新增参数 n,用于指定计算差异数据点的间隔。

  • 函数 fiDirtyPricefiDurationfiConvexity 新增参数 bondType,实现对零息债券和贴现债券的支持。

  • 函数 saveTextloadTextloadTextExploadTexttextChunkDS 新增参数 arrayMarker,用于指定标识数组向量的符号。

  • replayDS 支持含有 DECIMAL 类型数据的输入表。

  • 函数 warmupStreamEngine 支持时序聚合引擎。

  • 函数 moving 支持返回的结果为元组的 func

  • 函数 sql 新增参数 map,用于生成关键字 map 相关语句。

  • 函数 ols 新增参数 usePinv,用于选择计算过程中采用的求逆方法。

  • 函数 tmoving 新增参数 excludedPeriod,用于在计算时跳过指定时间区间。

  • at 作为高阶函数时,当参数为 tuple 时,会把 tuple 的每一个元素作为 func 的参数。

  • 函数each 允许 func 是多个参数的函数,且第一个参数为字典。

  • 优化数据平衡算法。

  • 函数rebalanceChunksAmongDataNodesrebalanceChunksWithinDataNode 新增参数 updateBeforeDays,表示只移动 updateBeforeDays 天之前的数据。

  • cross 函数支持返回值为 CODE,FUNCTIONDEF,STRING,BLOB 类型的函数。

  • TSDB 引擎进行了如下优化:

    • 优化读取 Cache Engine 数据的性能。

    • sortColumns 支持 DECIMAL 类型。

  • 异步复制任务支持在数据库层级设置优先级队列。

  • 单节点模式支持设置分级存储。

  • 单节点模式支持调用函数 rebalanceChunksWithinDataNode

  • 计算节点支持调用以下函数:createUser, createGroup, resetPwd, changePwd, deleteUser, deleteGroup, addGroupMember, deleteGroupMember, grant, deny, revoke, setMaxJobPriority, setMaxJobParallelism, getUserList, getGroupList, getGroupsByUserId, getUsersByGroupId, getUserAccess, getGroupAccess

  • 键值表,索引表和键值流表支持数组向量类型。

  • 优化内置聚合函数处理矩阵时的性能。

  • 支持将启动命令记录到日志文件中。

  • 支持更新分布式表中的数组向量列。

  • 单节点模式下限制向分布式表中一次性写入超过 Cache Engine 大小的表。

  • 向量、元组支持多行书写。

  • 优化 WHERE 子句中有 in 时的分区剪枝逻辑。

  • CREATE TABLE 语句支持参数 softDelete,用于启用软删除功能。

  • 表连接查询支持使用 HINT_EXPLAIN 关键字。

  • HINT_EXPLAIN 增加了与 TSDB 索引过滤相关的信息。

  • update 语句支持 CSORTHAVING 子句。

  • 优化 cross join 的性能。

  • 优化维度表与分布式表连接的性能。

  • 优化对单列调用 distinct 函数的性能

  • 优化多个表连接并发时的性能。

  • 在分布式查询 SQL 中,WHERE 条件中进时间类型的比较时,取消左侧精度不得低于右侧精度的限制。

  • 完善分析函数(开窗函数)功能:
    • 新增支持以下函数:imin, imax, iminLast, imaxLast, firstNot, lastNot, sum2, prod, percentile, wavg, wsum, corr, covar, beta, atImax, atImin
    • RANGE 可以用来定义基于时间值的窗口范围。
    • 支持与 group by 子句结合使用,此时支持嵌套聚合函数。
  • 响应式状态引擎中支持对数组向量列调用函数 prevmove

  • createAnomalyDetectionEngine 新增参数 anomalyDescription,支持自定义结果表中的异常条件内容。

  • 横截面引擎优化:

    • 参数 contextByColumn 新增支持输入 STRING 类型向量。

    • 新增参数 outputElapsedMicroseconds,支持输出延时与条数信息。

    • 新增参数 roundTime,在参数 triggeringPattern 为 dataInterval 时控制自动规整窗口边界的尺度。

  • 时序聚合引擎(createTimeSeriesEnginecreateDailyTimeSeriesEngine)优化:

    • 新增参数 parallelism支持对 metrics 进行多线程计算。

    • 新增参数acceptedDelay,用于在使用系统时间时设置接收时延。

  • 流计算引擎的参数 metrics 中支持 print 函数。

故障修复

  • ARM 版本多线程查询导致 server 崩溃。(2.00.12.1

  • 开启资源跟踪后,对内存表并发执行 selectappend! 操作导致 server 崩溃。(2.00.12.1

  • clearCachedModules 函数在命令行执行不生效。(2.00.12.1

  • wjaggs 参数中使用 head 函数导致 server 崩溃。(2.00.12.1

  • 递归或嵌套调用 JIT 函数,在内部编译失败时,server 发生崩溃。(2.00.12.1

  • 分布式查询的 WHERE 子句中包含生成临时变量的函数调用导致 server 崩溃。(2.00.12.1

  • 在查询中,分析函数无法正确识别多表连接中的列。(2.00.12.1

  • 修复潜在的安全漏洞。(2.00.12.1

  • dropPartition 指定 deleteSchema=true 删除分区数据及分区方案信息后,通过 schema 函数仍然返回这个分区结构。

  • iif 的结果是元代码时返回值类型为 STRING。

  • 函数视图的 body 字段过长时,调用 getFunctionViews 出现报错。

  • 当函数内使用 cast($) 将数据转换为相同类型时,多次调用函数,出现数据块未被清空。

  • lshift(<<) 和 rshift(>>) 的结果包含空值时,导致 server 崩溃。

  • 在 makeKey 中使用未定义的变量,导致 server 崩溃。

  • copyReplicas 函数允许将 chunk 拷贝到计算节点上。

  • format 对 DECIMAL 数据格式化的的结果不正确。

  • med 函数在输入数据量太大时,导致 server 崩溃。

  • 当向 nunique 函数输入一个元组,且该元组的元素不是向量时,导致 server 崩溃。

  • asof 输入的 XY 是全为空值的向量时,结果错误。

  • 向量插入数据时,没有检查是否超出最大范围。

  • ljaj 等所有 join 函数不支持 keywords 传参。

  • 配置 enableLocalDatabase=false 后,无法通过 database 创建内存数据库。

  • sqlDS 函数中,如果 sqlObj 参数的 WHERE 子句包含 IN 关键字,则未进行查询剪枝优化。

  • 在单节点模式下,由于 edit log 的写入早于 redo log,导致事务被错误地回放。

  • 对于以下类型数据,响应式状态引擎 cummin 计算的结果与批计算的结果不同:UUID, INT128, IPADDR, COMPLEX 和 POINT。

  • 函数名和函数体间添加注释,出现报错。

  • 清理持久化流表的过期文件时,若某个文件不存在,则会不断尝试清理此文件,导致清理过程卡住。

  • 若存在过时的分区,可能导致垃圾回收过程中错误地将相同路径下的新分区数据一并回收。

  • PIVOT BY 查询中对 DECIMAL 类型的数组向量进行计算导致 server 崩溃。

  • 查询语句中同时使用 CASEWHERE NOT 时,会导致 server 崩溃。

  • SELECT FROM 中出现三个及以上的 UNION ALL 会导致报错。

  • 对分布式表的 CHAR 字段查询时,过滤条件用双引号和单引号入结果不一致。

  • 对排序后的 keyedTable 查询结果错误。

  • 在 SQL 中将矩阵分配给多个输出列时,结果不正确。

  • 当对多个分布式表进行 join 操作时,使用 EXISTS 语句导致 server 崩溃。

  • 使用 GROUP BY 对值分区列分组时,SELECT 中使用非聚合函数未报错。

  • 对 sort key 进行 PIVOT BY,且 SELECT 的结果是数组向量时,出现报错。

  • 在 SQL 中,当使用具有多个返回值的函数并结合 WHERE 子句时,出现报错。

  • 当时序聚合引擎设置 useSystemTime=true 时,metrics 中出现数组访问越界,导致 server 崩溃。

  • 时序聚合引擎对返回数组向量的函数解析异常。

  • orderbookSnapshotEngine 在参数 includeTradeDetail=true 时,设置 outputCodeMap 无效。

  • 当持久化流表写入失败时,可能导致订阅任务无法正常消费数据。

  • createNarrowReactiveStateEngine 的计算指标个数和 metricNames 的长度不一致,导致 server 崩溃。

  • 响应式状态引擎中使用 nullFill! 出现报错,此为2.00.11.2引入的问题。

  • JIT 函数的形参和内部函数同名导致 server 崩溃。

  • 在 JIT 中向向量追加新值后,无法通过索引访问和修改该值。

  • 在 JIT 函数中对向量中追加、赋值空值后,后续使用该空值会出现结果错误。