---
source_url: https://docs.dolphindb.cn/zh/rn/server/3_00_1.html
fetched_at: 2026-05-19T09:52:04Z
category: rn
title: 3.00.1
sha1: 5d5c116465fdb02047e702e6030ca8cb57a48755
---

# 3.00.1

注：

同时建议阅读[兼容性说明](../compat_report_3_00_1.html)。

## 版本下载

版本号：3.00.1 二级兼容 2.00.12 和 3.00.0

发行日期： 2024-06-30

下载地址：

- 最新版：<https://dolphindb.cn/product#downloads>
- 历史版本：<https://dolphindb.cn/history-versions>

## 新功能

- 新增函数 `getDBAccess` 和
  `getTableAccess`，能够查看拥有访问自己数据库和数据表权限的用户列表。（**3.00.1.3**）
- `genOutputColumnsForOBSnapshotEngine` 新增参数
  *residualDetail*，用于指定输出剩余委托明细字段。同时
  `createOrderBookSnapshotEngine`
  支持输出剩余委托明细字段。（**3.00.1.3**）
- 函数 `mcount`、`mrank` 新增参数
  *minPeriods*，可规定滑动窗口中最少包含的观测值数据。（**3.00.1.2**）
- 新增函数 `hmac`，实现 HMAC（Hash-based Message Authentication
  Code）算法。（**3.00.1.2**）
- `genOutputColumnsForOBSnapshotEngine` 新增参数
  *seqDetail*，用于指定输出序列号明细字段。同时 `createOrderBookSnapshotEngine`
  支持输出序列号明细字段。（**3.00.1.2**）
- 新增函数 `updateOrderBookEngineParams`，用于在线设置 orderbookSnapshotEngine
  的部分参数（通常是静态字段）值。（**3.00.1.2**）
- 新增函数 `vectorNorm`，用于计算矩阵/向量的范数。（**3.00.1.2**）
- 新增配置项 *queryLogRetentionTime*，用于设置节点查询日志文件的保留时间。（**3.00.1.2**）
- 新增 `remoteRunCompatible` 函数，功能与 `remoteRun`
  相同。差别是此新增函数不对本地和远程数据库的版本进行验证。
- `scheduleJob` 新增参数 *priority* 和
  *parallelism*，用于设置定时任务的优先级和并行度。
- `saveText` 新增参数 *bom*，可以在导出文件时指定是否输出 bom 头。
- 新增 `fminLBFGSB` 函数，支持使用 L-BFGS-B 算法找到目标函数的最小值。
- 新增 `fminNCG` 函数，支持使用牛顿共轭梯度法对目标函数进行无约束最小化。
- 新增 `fminBFGS` 函数，支持使用 BFGS 算法找到目标函数的最小值。
- 新增 `fminSLSQP` 函数，支持使用顺序最小二乘编程方法找到目标函数的最小值。
- 新增 `piecewiseLinFit` 和 `pwlfPredict`
  函数，用于拟合分段线性回归函数和根据回归模型对数据进行预测。
- 新增 `brute` 函数，用于通过穷举法在给定范围内最小化一个函数。
- 新增 `gaussianKde` 和 `gaussianKdePredict`
  函数，用于使用核密度估计方法中的高斯核来估计随机变量的概率密度，和根据回归模型对数据进行预测。
- 新增 `vectorAR` 函数，用于使用向量自回归模型来分析多变量时间序列。
- 新增 `eqPercent` 函数，用于根据自定义约束条件，判断两个输入参数的每个对应位置上的元素是否都相等。
- 新增配置项 *batchJobFileRetentionTime*，用于设置批处理作业和定时任务执行后输出信息的最长保留时间。
- 新增配置项 resourceSamplingLogDir，用于设置资源跟踪日志的存储路径。
- 支持三元运算符(? :)。
- 新增 tensor 数据类型，可与 DolphinDB 插件配合使用，实现与深度学习框架之间的数据交换和处理。
- 新增配置项 *enableRDMA*，用于开启 RDMA 全新通讯架构。
- 新增配置项 *allowTSDBLevel3Compaction*，用于设置是否启用 level 3 层级的 Level File
  的合并。
- 新增配置项 *jobLogRetentionTime*， 用于设置数据节点上查询信息日志的最长保留时间。
- `createPartitionedTable`新增参数
  *indexes*，支持位列指定索引，以实现向量检索功能。
- 新增 `removeNode` 函数，以支持动态删除计算节点。同时支持通过 `addNode`
  一次添加多个节点。
- 支持 chimp 压缩算法。
- `database`的 *engine* 参数新增选项 “PKEY”，支持创建主键存储引擎，同时
  `createPartitionedTable`新增参数
  *primaryKey*，用于指定表的主键列。
- 新增函数 `setTableComment`，用于为分布式表添加表注释。同时 create 语句新增参数
  comment，可在创建分布式表时添加表注释。
- 新增配置项 *TSDBSymbolBaseEvictTime* 和
  *TSDBCachedSymbolBaseCapacity*，可以根据缓存时间或缓存容量来决定何时逐出未被使用的 symbolBase
  数据。同时新增函数 `clearAllTSDBSymbolBaseCache`，用于清除缓存中所有未被使用的
  symbolBase。
- `createPartitionedTable` 函数和 `create` 语句的
  *partitionColumns* 参数支持为数据列指定函数，进而将函数的结果作为分区的依据。
- SQL DELETE 语句和 sqlDelete 函数支持通过 join 来指定删除行。
- 新增函数 setTableComment，用于为分布式表添加注释。同时 create 语句中新增参数 *comment*。
- 新增配置项
  *memLimitOfAllTempResults*，用于设置分布式查询操作中产生的所有临时表可以占用的内存上限。同时新增了与其对应的函数
  `setMemLimitOfAllTempResults` 和
  `getMemLimitOfAllTempResults` 分别用于动态设置和获取配置项。
- 新增配置项 *enableInsertStatementForDFSTable*，用于设置是否允许 insert into 语句插入 DFS
  表。
- insert into 支持插入多行数据。

## 功能优化

- 主键引擎布隆过滤器（bloomfilter 索引）新增支持以下类型：TEMPORAL, BINARY 和
  COMPLEX。（**3.00.1.4**）
- 提升 TSDB 的并发查询性能。（**3.00.1.4**）
- 当已有分区数量达到百万级以上时，提升创建新分区的性能。（**3.00.1.4**）
- 订单簿引擎（`createOrderBookSnapshotEngine`）输入表的 "receiveTime" 支持
  TIMESTAMP 类型。（**3.00.1.4**）
- 优化 `randomForestClassifier` 的报错信息。（**3.00.1.4**）
- 增强 `loadPlugin` 函数功能，以支持插件市场的付费插件。（**3.00.1.3**）
- 优化 `createOrderBookSnapshotEngine` 函数在设置 *useSystemTime* =
  true 时的以下功能：（**3.00.1.3**）
  - 每隔 *intervalInMilli* 输出一次数据。
  - 休盘时段 (11:30:00.000，13:00:00.000] 不输出数据。
- 响应式状态引擎的状态函数 `percentChange` 和 `deltas` 允许将参数
  *n* 指定为正整数。（**3.00.1.3**）
- 函数 `writeLogLevel` 的参数 *level* 支持传入整数标量 0、1、2 或 3，分别对应
  DEBUG, INFO, WARNING, ERROR。（**3.00.1.3**）
- 优化持久化流表的加载速度。（**3.00.1.3**）
- 优化控制节点元数据 checkpoint 机制，在元数据较大的情况下减少 checkpoint 频率。（**3.00.1.3**）
- 分区方案使用时间类型时，对分区列的类型增加校验。（**3.00.1.3**）
- 优化登录失败保护机制，即仅在登录失败的 IP 地址上锁定用户登录。（**3.00.1.2**）
- 若 TSDB 引擎的去重设置为保留所有数据，则通过`upsert!` 更新数据时，支持 *keyColNames*
  仅指定 *sortColumns* 的部分列。（**3.00.1.2**）
- `backup` 等相关操作支持记录 tableOwner 信息。同时`restore`
  等相关操作支持恢复 databaseOwner 和 tableOwner 信息。（**3.00.1.2**）
- 优化 orderbookSnapshotEngine 的以下功能：
  - 优化合成逻辑，已停牌的标的数据将不会合成输出。（**3.00.1.2**）
- 增强权限管理等功能，以提高系统安全性。（**3.00.1.1**）
- 优化 `interval` 函数的以下功能：
  - *duration* 参数支持交易日历。
  - 当参数 *duration* 和 *step* 长度不同时， 在对非分区表的查询中可以对查询列应用自定义聚合函数。
- `flatten` 函数支持元组嵌套。
- `logisticRegression` 函数精度与 SKLearn 中相应函数对齐。
- 提高函数 `std`, `stdp`, `var`,
  `varp`, `skew`, `kurtosis`
  的精度。
- 高阶函数 `moving` 的参数 *func* 支持返回 tuple 的函数。
- `addMetrics` 新增支持 *fill* 参数，可以指定对空值处理方法。
- `parseJsonTable` 函数支持传入的表中包含 BLOB 类型的列。
- `isDuplicated` 函数支持 BLOB 类型。
- `fmin` 函数优化输入参数。
- `rowAlign` 函数支持列式元组。
- `rolling` 函数支持显示行标签。
- 元编程中的列别名支持使用宏变量。
- `registerSnapshotEngine` 函数新增参数
  *dedupColumnName*，以支持在集群中所有数据节点上为分布式表注册快照引擎。
- 模式符号可以搭配系统内置，作为一个运算符。
- `restore` 函数的 *snapshot* 参数的默认值由 true 修改为 false。
- 异步复制中从集群中不再需要通过*clusterReplicationExecutionPassword* 配置密码，以提高安全性。
- 提升 TSDB redolog 回放性能。
- `version` 函数支持返回更多版本信息。
- `clearAllCache` 新增支持清理 TSDB 引擎相关的缓存。
- TSDB 数据写入时可以压缩空值列。
- `createSchema` 不支持将数据库同时加到两个 catalog 中。
- 优化订单簿引擎的以下功能：
  - 报错日志等级修改为 WARNING。
  - `createOrderBookSnapshotEngine` 新增参数
    *useSystemTime*，支持使用系统时间来触发快照输出。
- 优化响应式状态引擎的以下功能：
  - 支持对 array vector 列使用 `prev` 函数。
  - 优化报错信息。
  - 新增支持 35 个 topN 状态函数。
  - *keyColumn* 由必填参数修改为可选参数。
  - 自定义状态函数中赋值语句的右值支持返回多个值的自定义函数。
- `createLookupJoinEngine` 的参数 *rightTable* 支持指定为元代码。
- 如下流计算引擎的 *metrics* 支持指定为常数标量或向量：`createReactiveStateEngine`,
  `createAsofJoinEngine`，`createLookupJoinEngine`，`createEquiJoinEngine`，`createLeftSemiJoinEngine`
  。
- `enableTablePersistence` 和
  `enableTableShareAndPersistence` 函数新增参数
  *cachepurgeTimeColumn*, *cachePurgeInterval*,
  *cacheRetentionTime*，用于设置持久化流表在内存中的数据清理策略。
- `createTimeSeriesEngine` 和
  `createDailyTimeSeriesEngine` 的 *acceptedDelay*参数支持根据数据时间来设置关闭窗口的延时。
- 如下流计算引擎新增支持 *outputHandler*, *msgAsTable*
  参数，支持输出结果到一个一元函数：`createTimeSeriesEngine`,
  `createDailyTimeSeriesEngine`,
  `createReactiveStateEngine`,
  `createDualOwnershipReactiveStateEngine`,
  `createNarrowReactiveStateEngine`。
- 优化 SQL JOIN 的以下功能：
  - INNER JOIN 和 LEFT JOIN 支持生成 IN 谓词的 动态过滤条件（Runtime
    Filter），以提升查询性能。
  - 提升对分区字段进行过滤，同时搭配 LIMIT 字段时的查询性能。
  - CASE WHEN 语句支持分析函数 OVER(PARTITION BY xxx)。
- 优化 JIT 高阶函数 `accumulate` 和 `reduce`。
- JIT 支持处理索引矩阵。

## 故障修复

- 对常量字符串（例如：string("\\\"messageCoVSONGJUNZHENG1\\\"")）的解析出现错误。（**3.00.1.4**）
- 修复 TSDB 引擎的以下问题：（**3.00.1.4**）
  - 在设置 *keepDuplicates*=FIRST 的情况下，偶尔会查询出重复数据。
  - 写入的 DECIMAL 数据精度超过表结构设置的精度时，重启集群进行回放会发生错误。
  - 对 sortColumns 列的过滤导致 DECIMAL 精度丢失。
- 高可用集群节点高负载时 `login` 响应慢。（**3.00.1.4**）
- 当 Py 插件通过 globalDynamicLib 配置的路径不存在时，server 未报错。（**3.00.1.4**）
- 当系统的文件描述符限制设置得过大时，可能出现数据节点无法启动。（**3.00.1.4**）
- 函数视图中包含 `insert` 语句导致server 启动失败。（**3.00.1.4**）
- `dropTable` 删除表后，通过`renameTable` 修改该表的表名， 若此操作与
  checkpoint 并发执行，可能导致丢失元数据。（**3.00.1.4**）
- 在执行大量写入任务时，如果关闭数据节点，可能会导致集群管理器无响应。（**3.00.1.4**）
- 在线修改高可用集群配置，leader 切换后修改失效。（**3.00.1.4**）
- 日级时序聚合引擎在接收到乱序时间后，会导致日期列填充了”invalid date”。（**3.00.1.4**）
- 流计算引擎输出到广播引擎，再通过广播引擎输出到持久化流表时，出现报错。（**3.00.1.4**）
- 订阅时 *batchSize* 和 *throttle* 同时触发导致数据乱序。（**3.00.1.4**）
- 修复 `createCrossSectionalEngine`（横截面引擎）的以下问题：（**3.00.1.4**）
  - *metrics* 中指定的别名数量少于返回的列数，导致服务器崩溃。
  - 同时指定 *contextByColumn* 和 *keyFilter* 时，*keyFilter*
    指定的函数会被调用两次。
- 在 asof join 引擎中，*timeColumn* 同时指定了左表和右表中的时间列，*metrics*
  中仅指定右表时间列时，后台出现报错。（**3.00.1.4**）
- DECIMAL128 类型列不支持写入 DECIMAL64 数据。（**3.00.1.4**）
- 优化了当消费速度较慢时的内存占用。（**3.00.1.4**）
- 当数组向量参与计算时，若其行数过大，可能会导致报错。（**3.00.1.4**）
- 修复子查询中包含表连接操作的如下问题：（**3.00.1.4**）
  - 在表连接操作中，偶发由于系统修改子查询中的变量名而导致找不到列名的错误。
  - server 偶尔崩溃。
- 当 pivot by 指定的最后一列为分区字段时，若查询的数据量过大，则会报错。（**3.00.1.4**）
- 分发引擎（`createStreamDispatchEngine`）写入异步持久化流表时，若流表的持久化线程出现堆积，可能造成
  server 崩溃。（**3.00.1.4**）
- 在通过 `submitJob` 并发执行由 `sqlDS`
  生成的任务时，可能会导致服务器崩溃。（**3.00.1.4**）
- 配置 *enhancedSecurityVerification*=true 后，并发登录可能导致 server
  小概率崩溃。（**3.00.1.4**）
- 在进行异步复制时，如果 controller 在从集群回放任务期间重启，可能会导致系统崩溃。（**3.00.1.4**）
- 通过 `peach` 函数查询内存表时，可能导致 server 崩溃。（**3.00.1.4**）
- 向键值内存表中插入表数据时，若插入的列和键值内存表键值列的类型不一致，且无法进行类型转换时，将导致 server
  崩溃。（**3.00.1.4**）
- 使用用户定义的最优化函数，可能导致 server 崩溃。（**3.00.1.4**）
- 在向一个包含 SYMBOL
  列的表的新分区写入数据时，如果此次写入被回滚，后续再向该分区写入数据时，会出现数据文件被损坏的报错。（**3.00.1.4**）
- 当流计算引擎的输出表指定为共享表的别名时，如果发生并发写入共享表，server 偶发崩溃。（**3.00.1.4**）
- 开启资源跟踪后，可能导致 server 崩溃。（**3.00.1.3**）
- 表连接时，若表里包含的数组向量中的元素超出长度限制时，导致 server 崩溃。（**3.00.1.3**）
- 操作 MVCC 表发生事务异常时，未正确清理状态。（**3.00.1.3**）
- `moveHotDataToColdVolume`
  在对相同分区进行并发转移时，发生数据丢失。（**3.00.1.3**）
- 作业开始时，如果磁盘被占满，则不能正确记录作业信息，如开始时间。（**3.00.1.3**）
- 响应式状态引擎在设置 *keepOrder* 为 true 时，若对 array vector 数据执行
  `prev`，其结果不符合预期。（**3.00.1.3**）
- 使用函数 `createLookupJoinEngine` 创建 LookupJoin 引擎时，若
  *rightTimeColumn* 中包含大写字母，且在 *metrics* 中包含该列时，则会导致报错：”A table
  can't contain duplicate column names“。（**3.00.1.3**）
- 在高可用集群中，当 controller 发生重启，若 checkpoint 失败，可能导致元数据丢失。（**3.00.1.3**）
- 控制节点的元数据在极端情况下会出现一个分区路径对应多个 chunkid。（**3.00.1.3**）
- `rollingPanel` 在指定 *groupingCol*
  参数时，未进行分组。（**3.00.1.3**）
- 若 `submitJob` 或 `scheduleJob` 中的任务包含 lambda
  函数，当创建它们的 session 断开后，可能导致 server 崩溃。（**3.00.1.3**）
- 当 SQL 查询中使用到 vectorized grouping
  算法时，若聚合函数的某个参数是标量或大小与输入表不匹配的向量时，可能导致结果错误。（**3.00.1.3**）
- 在对分布式表进行 EXEC 查询时，如果指定了 ORDER BY 和 LIMIT/TOP（设置为正数），且 ORDER BY
  仅涉及一个分区列且采用降序排序，引发错误：“The result of distributed call is not a
  table”。（**3.00.1.3**）
- `createDailyTimeSeriesEngine` 在经过 *forceTriggerSessionEnd*
  时间后，若接收到时间戳小于 *sessionEnd* 的数据，可能输出非预期的结果。（**3.00.1.3**）
- 若异步复制任务中存在数据损坏，系统无法跳过该任务而持续重试。（**3.00.1.3**）
- 使用 order by 和 limit/top 进行分布式查询优化时，在执行最终查询时找不到所需的列。（**3.00.1.3**）
- 通过 `parseJsonTable` 解析 JSON 对象时，若 JSON 对象的字符串中包含
  `\\\"` 时，会导致解析错误或报错。（**3.00.1.3**）
- left join 在发生 OOM 时可能返回空指针，导致 server 崩溃。这是 2.00.13 和 3.00.1
  引入的问题。（**3.00.1.3**）
- 流订阅偶发失败。（**3.00.1.3**）
- `wsum`, `wavg`
  等聚合函数的输入参数为一个标量和一个空数组时，返回错误结果。（**3.00.1.3**）
- 修改 `flatten` 函数以兼容之前版本。（**3.00.1.3**）
- 某个最大优先级或并行度小于默认值的用户通过 Web 或 VS Code
  提交前台任务，该任务的优先级或并行度仍为默认值。（**3.00.1.2**）
- 审计日志中 APPEND 操作的开始日期记录错误。（**3.00.1.2**）
- 上传加密模块可能导致当前会话中的变量丢失。（**3.00.1.2**）
- 执行 `backup`
  函数时，如果过滤条件是组合分区的一级分区，而二级分区中的部分分区没有数据，则会导致报错。（**3.00.1.2**）
- 重启后定时任务中执行 `writeLogLevel` 函数报错。（**3.00.1.2**）
- 对 arrayVector 类型的列查询 distinct 导致 server 崩溃。（**3.00.1.2**）
- 在执行 ej 操作时，若 where 条件中不指定表名则无法查询数据。（**3.00.1.2**）
- CEP 引擎设置参数 *dispatchKey* 后，若传入无 *dispatchKey*
  指定事件字段的事件报错。**3.00.1.2**）
- orderBookSnapshotEngine 在设置 *useSystemTime = true*
  时偶现部分输出数据被遗漏。（**3.00.1.2**）
- 执行传入不合规参数的`createWindowJoinEngine` 函数后宕机。（**3.00.1.2**）
- 使用 `move` 函数时，若传入参数 *X*
  是临时变量可能导致计算结果错误。（**3.00.1.2**）
- 多次执行 `mpercentile` 函数偶现宕机。（**3.00.1.2**）
- JIT 中使用 `rank` 函数时由于类型推导问题报错。（**3.00.1.2**）
- JIT 中使用 `isort` 函数时由于兼容性问题报错。（**3.00.1.2**）
- `qclp` 函数计算目标函数时，返回非预期结果。
- `saveText` 函数传入字符串对象引起宕机。
- 同时使用 `at` 和 `eachRight` 或
  `eachLeft` 时宕机。
- 使用 `loadText` 加载文件太大（一行数据超过 2 GB）引起宕机。
- 继承 class 时使用 `dict` 函数无法被识别。
- 函数 `getUserHardwareUsage` 因内部计算错误导致参数设为日期时不生效。
- 函数 `getSlaveReplicationQueueStatus` 返回值中的 executionSet
  字段偶现随机值。
- `getQueryStatus` 函数返回值中的 startTime 未进行时区转换。
- `loadText` 函数将符合某些条件的字符串误识别为 DATE 类型，导致无法加载数据。
- 将模块或插件中没有返回值的函数添加为functionView 失败。
- ARM 环境中使用 OpenBLAS 进行多线程计算引发宕机。
- 键值内存表更新 array vector 数据时，出现报错。
- windows join 中指定聚合函数为 `count(head())` 导致 server 崩溃。
- SQL 语句同时满足以下条件：包含 group by 子句，from 子句为一个空表，select 子句中包含自定义变量时，会出现解析错误。
- pj 连接时，若左右表按连接列排序，对于左表某行，只选取右表中的第一个连续匹配的行数据，导致结果中缺少数据。
- 在 join 查询中，如果指定的连接列的列名与表中实际的列名大小写不一致，会导致执行计划未被优化。
- WHERE 子句中 IN 的右值为内存表时，没有分区剪枝。
