---
source_url: https://docs.dolphindb.cn/zh/rn/server/3_00_4.html
fetched_at: 2026-05-19T09:52:00Z
category: rn
title: 3.00.4
sha1: fd8c3734af455ed7b0b22eff1f5fde26d39b4ed4
---

# 3.00.4

注：

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

## 版本下载

版本号：3.00.4 二级兼容 3.00.3

发行日期： 2025-09-05

下载地址：

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

## 新功能

- `sql` 函数新增参数 *cgroupBy，* 支持构建包含 `cgroup by` 子句的元代码。（**3.00.4.3**）
- 支持模块市场相关功能：（**3.00.4.3**）
  - 新增函数 `listRemoteModules`，用于列出模块市场中匹配的模块名。
  - 新增函数 `installModule`，用于下载指定模块文件到节点模块目录下。
  - 新增函数 `getLoadedModules`，用于展示已加载模块的版本信息。
- 新增函数 `encryptModule` ，用于对 dos 文件进行加密。（**3.00.4.3**）
- `mr` 支持处理多个不同表的数据源。（**3.00.4.3**）
- MCP Server 新增对 HTTPS 加密连接的支持。（**3.00.4.3**）
- 新增向量相似度与距离计算函数：（**3.00.4.3**）
  - 新增函数 `minkowski`，用于计算向量的闵可夫斯基距离。
  - 新增函数 `seuclidean`，用于计算向量的标准化欧式距离。
  - 新增函数 `cosine`，用于计算向量的余弦相似度。
  - 新增函数 `mahalanobis`，用于计算向量的马氏距离。
- 新增配置项
  *oauthAllowPasswordLoginNodes*，指定允许使用账号密码方式登录的节点别名。（**3.00.4.2**）
- 新增函数 `attributeTypes`，用于获取类中所有属性及其对应的类型。（**3.00.4.2**）
- MCP Server 支持（**3.00.4.2**）：
  - 从 dify 连接；
  - DolphinDB Server 为集群模式部署。
- 低延时引擎增加 License 控制，需申请特殊 License 才可使用。（**3.00.4.2**）
- `socp` 函数新增返回退出代码（Exitcode）。（**3.00.4.2**）
- 新增函数
  `bondInstrumentCalculator`，用于实现债券到期收益率、净价和全价三者之间的互算。（**3.00.4.1**）
- 新增支持在单点登录流程中使用 HTTP 协议。（**3.00.4.1**）
- 新增配置项 *maxRecursiveDepth*，用于设置最大递归深度。（**3.00.4.1**）
- 新增函数 `histogram`，用于计算数据样本的直方图。（**3.00.4.1**）
- 新增系列函数，用于获取金融工具的对应成员值。（**3.00.4.1**）
- 新增支持 UserDefined 类型金融工具。（**3.00.4.1**）
- 新增函数 `bondYieldCurveBuilder` ，用于构建债券收益率曲线（到期推即期）。
- 新增函数 `irSingleCurrencyCurveBuilder`，用于构建单货币利率互换收益率曲线。
- 新增函数 `irCrossCurrencyCurveBuilder`，用于构建交叉货币利率互换（外币隐含收益率）曲线。
- 新增函数 `fxVolatilitySurfaceBuilder`，用于构建外汇期权波动率曲面。
- 新增函数 `bondPricer`，用于单张债券的定价。
- 新增函数 `bondFuturesPricer`，用于国债期货合约的定价。
- 新增函数 `irDepositPricer`，用于存款的定价。
- 新增函数 `irFixedFloatingSwapPricer`，用于固定-浮动利率互换合约的定价。
- 新增函数 `fxForwardPricer`，用于外汇远期合约的定价。
- 新增函数 `fxSwapPricer`，用于外汇掉期合约的定价。
- 新增函数 `fxEuropeanOptionPricer`，用于外汇欧式期权合约的定价。
- 新增函数 `instrumentPricer`，用于对金融合约进行批量定价。
- 新增函数 `portfolioPricer`，用于金融合约组合定价。
- 新增函数 `parseInstrument`，用于序列化金融合约成 INSTRUMENT 类型对象。
- 新增函数 `parseMktData`，用于序列化市场数据成 MKTDATA 类型对象。
- 新增函数 `extractInstrument`，用于反序列化 INSTRUMENT 对象。
- 新增函数 `extractMktData`，用于反序列化 MKTDATA 对象。
- 新增函数 `curvePredict`，用于在给定的曲线上，预测指定时间的值。
- 新增函数 `optionVolPredict`，用于在给定的波动率曲面上，预测指定时间和执行价的波动率。
- 新增函数 `StreamGraph::updateRule` 和
  `StreamGraph::deleteRule`，用于持久化更新 Orca 规则引擎的规则集。
- 新增函数 `DStream::udfEngine`，用于创建支持副作用和状态持久化的自定义函数；新增函数
  `getUdfEngineVariable` 查询 `DStream::udfEngine`
  中定义的外部变量值。
- 新增函数 `getOrcaDataLineage` 用于查询流图数据表的血缘关系和 Orca 时间触发引擎的任务信息。
- 新增函数 `createNearestJoinEngine` 和 Orca API
  `DStream::nearestJoinEngine`，用于创建流计算最近邻关联引擎。
- 新增函数 `StreamGraph::dropGraph`，用于销毁流图。
- 新增函数 `renameCatalogName`，用于修改全限定名的 *name* 部分*。*
- 新增函数
  `createOrcaStreamTable`，`createOrcaKeyedStreamTable`，`createOrcaLatestKeyedStreamTable`，`createOrcaHaStreamTable`，`createOrcaHaKeyedStreamTable`，用于在不创建流图的前提下创建
  Orca 流表。
- 新增函数 `dropOrcaStreamTable`，用于删除 Orca 流表。
- 新增
  `addMCPTool`，`updateMCPTool`，`dropMCPTool`，`callMCPTool`，`listMCPTools`，`publishMCPTools`，`withdrawMCPTools`
  用于开发管理 MCP tools。
- 新增
  `addMCPPrompt`，`updateMCPPrompt`，`dropMCPPrompt``，listMCPPrompts`，`getMCPPrompt`，`publishMCPPrompts`，`withdrawMCPPrompts`，用于开发管理
  MCP prompt 模板。
- 新增权限 MCP\_MANAGE，MCP\_DEVELOP，MCP\_EXEC。
- 新增函数 `getClusterVolumeUsage`，用于检查集群中各节点的磁盘使用情况。
- 函数 `createTimeBucketEngine`,
  `createNarrowReactiveStateEngine`,
  `createCryptoOrderBookEngine`,
  `createOrderBookSnapshotEngine`,
  `createRuleEngine`,
  `createReactiveStatelessEngine` 新增参数 *snapshotDir* 和
  *snapshotIntervalInMsgCount* 支持快照机制。
- 新增函数 `getIPConnectionLimit`,
  `setIPConnectionLimit`，用于根据 IP 管理外部连接数。
- 新增流式 SQL 功能，用于对实时数据的持续查询和即时更新。
- 新增函数 `matchFuzzy`，用于 TextDB 模糊匹配查找。
- 新增函数 `getExecDir` 和 `getWorkDir`，用于获取 dolphindb
  可执行文件所在目录和启动 dolphindb 时的工作目录。
- 新增配置项
  *enableRawScriptLog*，*rawScriptLogRetentionTime*，*maxRawScriptLogSize*
  用于控制是否记录原始脚本及其执行信息的日志，并设置日志的保存周期和文件大小上限。同时新增函数
  `getRawScriptLog`，用于查询所有原始脚本日志。
- 新增函数 `recursiveSplitText`，可根据分隔符对文本进行递归分段。
- 新增文本向量化功能。
- 新增配置项 *enableSharedVarCreationControl*，用于控制是否允许用户创建共享变量。
- 新增函数 `createExternalTable` 用于创建外部表。
- 多集群管理支持表连接。
- 新增函数 `dropDataViewEngine` 用于删除 CEP 引擎中指定的 DataView 引擎。
- 新增配置项
  *processVectorFunctionOverTupleByRow*，用于控制处理向量函数在处理元组（所有元素是标量或等长向量）或字典时的应用方式。
- 新增函数 `createOrderReconstituteEngine` 用于还原缺失的原始委托信息。
- 新增配置项 *streamingRaftLearners* 和 *crossClusterRaftWorkerNum* 用于配置 Raft
  Learner 节点。
- 新增函数 `semiannualBegin`，`semiannualEnd`
  用于返回日期所在半年期的第一天和最后一天。
- 新增函数 `startStreamGraph` 和 `stopStreamGraph`
  用于控制流图的运行状态。
- 新增函数 `roll`，与 CONTEXT BY 搭配使用，用于定义自定义滑动窗口。
- 新增配置项 *streamingRaftGroupAliases*，用于为已配置的 Raft 组指定别名。

## 功能优化

- 支持对 API 传入的字符串，根据字段类型自动转换为 DOUBLE、FLOAT 或 DECIMAL，并插入表中。（**3.00.4.3**）
- 优化持久化流表在重新加载过程中的内存占用。（**3.00.4.3**）
- 流订阅根 job ID 改为随机 UUID。（**3.00.4.3**）
- 函数 `fxVolatilitySurfaceBuilder` 新增可选参数 *surfaceName* ，用于指定生成的外汇期权波动率曲面名称。（**3.00.4.3**）
- 优化含 notional 字段的 instrument 数据结构，将 notional 拆分为 notionalAmount 和 notionalCurrency。 （**3.00.4.3**）
  - 新增函数 `getInstrumentNotionalCurrency`，用于获取 instrument 的名义币种。
  - 新增函数 `getInstrumentNotionalAmount`，用于获取 instrument 的名义金额。
- 优化过期 chunk 版本回收机制。（**3.00.4.3**）
- `listMCPPrompts` 和 `listMCPTools` 增加权限控制。（**3.00.4.3**）
- 支持在 `getAclAuditLog`、`getAuditLog` 的返回结果中展示节点名称（node alias）。（**3.00.4.3**）
- 优化 orderbookEngine 在盘口倒挂场景下的 WARNING 日志打印策略。（**3.00.4.3**）
- 函数 `createorderbooksnapshotengine`
  支持将上交所基金的即时成交信息统计到委托明细。（**3.00.4.2**）
- 优化 `subscribeTable` 的线程分配算法，在不指定 *hash* 时
  优先分配空闲线程。（**3.00.4.2**）
- 优化`getStreamingStat`，数据没有被消费时，subWorkers 表仍会显示
  workerId。（**3.00.4.2**）
- 优化单点登录（SSO）流程（**3.00.4.2**）：
  - 修复 SSO 请求中默认端口导致的 HTTP 请求错误问题。
  - 优化 *oauthUserField* 配置项，支持从嵌套 JSON 中解析用户名。
- 优化债券和国债期货的 instrument 和 marketData 的匹配规则。（**3.00.4.2**）
- 优化语法异常信息，新增输出出错所在的行号。（**3.00.4.2**）
- `createCrossSectionalEngine` 支持处理列式元组。（**3.00.4.1**）
- 优化 licenseServer 客户端启动流程，支持备机认证启动。（**3.00.4.1**）
- 优化 Orca 流图中输出数据时出现表结构不一致时的报错信息。
- 函数 `getStreamGraphInfo` 返回增加引擎的 *metric* 信息。
- 函数
  `StreamGraph::haSource`、`StreamGraph::haKeyedSource`、`DStream::haBuffer`、`DStream::haKeyedBuffer`、`DStream::haSink`、`DStream::haKeyedSink`
  的参数 *raftGroup* 支持使用 Raft 组的别名。
- 函数 `subscribeTable` 支持跨集群订阅 Orca 流表。
- 支持对 Orca 流表进行权限管理。
- 函数 `dropStreamGraph` 新增参数
  *includeTables*，用于设置在删除流图时是否同时删除该流图中用户显式创建的流表。
- 函数 `createGPLearnEngine` 新增参数 *dimReduceCol*, 支持挖掘降频因子。
- Shark Graph 新增支持 rowAvg,rowSkew, rowVar, rowVarp, rowStd, rowStdp 算子。
- 优化磁盘管理机制。
- 提升对 TIMESTAMP 类型列按天进行值分区，查询日期最大值/最小值时的性能。
- 优化分区剪枝，提升形如 `select * from t where id in ids` 的查询在 ids 为 TABLE
  类型时的剪枝性能。
- 提升查询 VALUE 分区表时，过滤条件包含对分区列的 < 或 <= 运算情况下的查询性能。
- 优化系统高并发场景的性能。
- 优化脚本引擎，提升表达式执行性能。
- `createOrderBookSnapshotEngine` 支持输出
  - residualDetail（剩余委托明细）中的 ResidualBidOrderNoList 和
    ResidualAskOrderNoList。
  - withdrawDetail（撤单明细）中的 withdrawBuyOrderNoList 和
    withdrawSellOrderNoList。
- `createCryptoOrderBookEngine` 输入表的 eventTime 列支持 NANOTIMESTAMP
  类型。
- `license` 函数支持获取指标平台、回测和模拟撮合模块名称 Beluga、 Backtest 和
  MatchingEngineSimulator，以及产品名称 ORCA，DOLPHINX
- 函数 `getStreamingStat` 新增参数 *stat*，用于指定需要返回的状态表名。
- 函数 `sliceByKey` 新增参数 *preserveOrder*，用于设置是否按照 *rowKeys*中值的顺序返回结果。
- 函数 `createTimeSeriesEngine` 和
  `createDailyTimeSeriesEngine` 的参数 *metrics*
  支持常量标量或向量。
- TextDB 新增参数 *scoreColName* 用于查询文本匹配得分。
- 函数 `log` 新增参数 *Y*，用于设置底数。
- 函数 `at` 的参数 *X* 支持整型向量。
- 函数 `replay` 的参数 *outputTables* 支持设置为
  `setStreamTableTimestamp` 指定过时间戳列的流表。
- 函数 `addEventListener` 的参数 *handler* 支持调用 monitor
  类之外的函数。
- 函数 `reverse` 支持内存表和有序字典。
- 字典、元组支持双目运算。
- 函数 `rank`，`enlist` 支持字典。
- 调用 `dropStreamEngine` 释放流数据分发引擎时，强制终止后台线程。
- 优化 `getConsoleJobs` 返回字段 jobType 和 desc 信息。
- 函数 `parseJsonTable` 支持解析 JSON 中的数组。
- create table 增加参数校验。
- 函数 `loadText` 支持解析 TIME/SECOND/NANOTIME 类型为 TIME/NANOTIME 类型，解析
  DATETIME/TIMESTAMP 类型为NANOTIMESTAMP。

## 故障修复

- 修复将 VOID 类型列（如通过 SELECT null 生成）追加到 SYMBOL 类型列时报错的问题。（**3.00.4.3**）
- 修复在 TSDB/IOTDB 引擎的分区表查询中，`select` 使用嵌套三元运算符 `?:` 时无法正确解析所需列名的问题。（**3.00.4.3**）
- 修复 `context by`在特定场景下导致查询分布式表失败的问题。（**3.00.4.3**）
- 修复对内存表执行 `group by` 分组聚合时， `std` 计算可能出错的问题。（**3.00.4.3**）
- 修复在元代码中使用宏变量时，cgroup by 可能被错误解析为 group by 的问题。（**3.00.4.3**）
- 修复 TSDB 引擎查询命中 cache engine 缓冲区时，因查询条件里 SYMBOL 列的过滤条件不是 LITERAL 类型导致报错的问题。（**3.00.4.3**）
- `dropTable` 与数据写入同时执行导致集群卡住。（**3.00.4.3**）
- 在时序聚合引擎中，当使用 `last`、`lastNot` 以及返回多个值的聚合函数时，如果指定了 *keyPurgeFreqInSec* 参数，会产生错误的结果。（**3.00.4.3**）
- 使用 `warmupStreamEngine` 预热时序聚合引擎后，当向引擎写入新数据时，引擎输出了所有预热数据的计算结果，而不是仅输出新数据的计算结果。（**3.00.4.3**）
- 修复响应式状态引擎用 `deltas` 处理 DECIMAL64 类型列结果不正确的问题。（**3.00.4.3**）
- 修复当 `createWindowJoinEngine` 的 *window* 参数设置为 0:0 后，分组内数据量超过 *garbageSize* 限制时部分时间窗口结果不输出的问题。（**3.00.4.3**）
- 修复 `getStreamTables` 的 totalRows 字段溢出的问题。（**3.00.4.3**）
- 修复在 Orca 环境中调用 `ops::clearAllStreamEnv` 抛出异常的问题。（**3.00.4.3**）
- 修复 `createMktDataEngine` 部分输出不符合 *useSystemTime* 设置的问题。（**3.00.4.3**）
- 修复高可用集群在执行 `moveReplicas` 时，因缓存句柄未失效导致查询结果偶发不一致的问题。（**3.00.4.3**）
- 修复在 `lanCluster=true` 的高可用集群中，执行 stopController.sh 脚本后 controller 进程无法退出的问题。（**3.00.4.3**）
- 修复 `getUserTableAccessRecords` 在查询范围跨越两个及以上 job 文件时报错的问题。（**3.00.4.3**）
- 修复在存在计算组的集群中执行 DDL 操作时，触发不符合预期的权限报错的问题。（**3.00.4.3**）
- 修复从 2.00.16.X/2.00.17.X 升级至 3.00.3.X/3.00.4.X 时的兼容性问题。（**3.00.4.3**）
- 修复偶发 jobcheckpoint 文件描述符泄露的问题。（**3.00.4.3**）
- 修复在 OOM 场景下 `getSessionMemoryStat` 的 OLAPTablet 内存统计错误，导致缓存清理逻辑失效的问题。（**3.00.4.3**）
- 修复使用 `xdb` 连接后，远程执行脚本偶发报错的问题。（**3.00.4.3**）
- 修复 `saveText` 导出 CSV 时对 SYMBOL 类型字段中引号处理出错的问题。（**3.00.4.3**）
- 修复 `linearTimeTrend` 在窗口大于 1024 时结果计算错误的问题。（**3.00.4.3**）
- 修复 `mstd` 计算错误的问题。（**3.00.4.3**）
- 修复 `percentile` 计算可能触发段错误的问题。（**3.00.4.3**）
- 修复 `bar` 函数在处理 TIME 等时间类型时可能生成超过类型上限的异常值的问题。（**3.00.4.3**）
- 修复在 *triggerType=independent* 模式下，OrderBookSnapshotEngine 输入数据的 SecurityID 为 NULL 且触发快照输出时可能导致宕机的问题。（**3.00.4.3**）
- `adfuller` 在 *regression*='n' 时，若返回值中的 adfStat>0，则 pValue
  计算错误。（**3.00.4.2**）
- 响应式状态引擎开启低延时时，写入数据导致节点偶发崩溃。（**3.00.4.2**）
- 从 3.00.0.x - 3.00.2.x 升级至 3.00.4.x 时，旧版本中若存在包含 Catalog
  相关脚本的函数视图或定时作业，可能导致节点无法启动。（**3.00.4.2**）
- 在使用 `update ... context by ...` 语句更新共享内存表时，系统报错：A snapshot table
  doesn't support data update。（**3.00.4.2**）
- 通过 `INSERT` 语句插入数据时，如果某列以连续两个 VOID 类型的 NULL
  开头，插入将失败。（**3.00.4.2**）
- 将 SYMBOL 类型字段设置为 TSDB 引擎的 sortKey，导致节点偶发崩溃。（**3.00.4.2**）
- 若在 `createReactiveStateEngine` 的 *metrics* 中使用无状态函数，并且通过
  `as` 指定的返回值别名与该函数的入参同名，则会报错。（**3.00.4.2**）
- 通过 WebSocket 订阅流表时，即使过滤结果为空仍会向前端推送数据。（**3.00.4.2**）
- `registerStreamingSQL` 解析驼峰命名的字段名失败。（**3.00.4.2**）
- `createReactiveStateEngine` 的 *metrics*
  返回多个数组向量时报错。（**3.00.4.2**）
- 在计算组的计算节点上执行 WHERE 子句包含 `true==true`
  的查询时报错。（**3.00.4.2**）
- 在 3.00.X 版本集群上订阅 2.00.X 版本集群发布的流数据失败。（**3.00.4.2**）
- 在计算二重积分时，若积分上下限设置为 NULL，`integral` 函数报错。（**3.00.4.1**）
- 由于 `mr` 函数缺少入参类型验证，在传入空的数据源时，导致 server 崩溃。（**3.00.4.1**）
- 在 `createReactiveStateEngine` 的 *metrics* 中非法使用自定义类方法，导致
  server 崩溃。（**3.00.4.1**）
- 在高可用集群中，当控制节点配置 lanCluster=0 时，从节点无法安全关机。（**3.00.4.1**）
- 在并发提交多个任务时，偶发任务调度异常导致系统无法响应。（**3.00.4.1**）
- 在高可用集群中，当各 controller 并发执行 `getClusterPerf`
  的数量超过工作线程的数量时，可能导致系统无响应。（**3.00.4.1**）
- 流订阅包含 ANY 类型字段的数据时偶发报错。（**3.00.4.1**）
- 当通过 `enableTableShareAndCachePurge` 设置自动清理共享流数据表时，如果订阅是通过断开连接而非
  `unsubscribe` 取消的，缓存数据未能被正确清理，导致表行数超过设定的 *cacheSize*
  限制。（**3.00.4.1**）
- SQL 聚合计算偶发导致服务器崩溃。（**3.00.4.1**）
- `getUserHardwareUsage` 返回的内存值可能因自动类型转换错误导致精度不足，从而出现异常（负数）。该问题由
  2.00.15 版本引入。（**3.00.4.1**）
- SQL 语句内换行，行首为运算符报错。（**3.00.4.1**）
- 在执行分区更新后，TSDB 引擎过度打印日志导致日志文件异常增大并占满磁盘。此为 2.00.15 版本引入的问题。（**3.00.4.1**）
- 向通过 `setStreamTableTimestamp`
  指定时间戳列的流表中插入空向量数据时可能导致系统崩溃。（**3.00.4.1**）
- 查询表时，如果聚合计算的 GROUP BY 列包含 BLOB 类型可能发生内存泄漏。此为 2.00.11
  版本引入的问题。（**3.00.4.1**）
- 通过 `subscribeTable` 订阅流表时，若 *filter*
  参数指定的函数中输出表结构与输入流表不一致，系统不会输出数据，也不会报错。（**3.00.4.1**）
- 写入 TSDB 数据库时，若 symbol 数量超过上限，导致系统卡死。（**3.00.4.1**）
- 增加配置项访问安全校验：
  - 新增配置项
    *enableConfigAccessControl*，用于控制在访问配置项时是否启用权限校验。（**3.00.4.1**）
  - 新增函数 `getOauthClientSecret`，用于管理员用户安全地获取敏感配置项
    *oauthClientSecret* 的值。（**3.00.4.1**）
  - 修改函数 `getConfig/getConfigure`
    执行逻辑，当启用配置访问控制时，将会依据配置项安全级别及当前用户权限过滤返回结果。（**3.00.4.1**）
- 当流式 SQL 左连接的左表先更新数据，右表再更新数据时，结果不符合预期。（**3.00.4.1**）
- 当流式 SQL 查询的键值表写入单条包含列式元组的数据时报错。（**3.00.4.1**）
- 某些特殊字符导致 `bfill` 函数处理错误。
- 事务意外终止后立即重启，临时文件没有回收。
- 启用客户端高可用时，controller 内存泄漏。
- 当系统处于高负载时，定时任务偶发不执行，订阅偶发卡住。
- 在分级存储数据迁移过程中，因意外中断而导致文件残留。
- SYMBOL 列包含以 '\r' 结尾的数据时可能导致的查询失败。
- 特殊情况下 IoTEngine 内存泄漏。
- 线程退出时偶发未完全回收资源而导致泄露。
- 分区很多时（大于1000万），从数据节点恢复控制节点元数据失败。
- CEP 引擎中不支持 `isVoid` 等函数。
- 在 SELECT 子句中为 GROUP BY 字段指定别名时报错。
- 使用 `interval` 的查询结果不符合预期。
- 并发访问流表时偶发卡住。
- IMOLTP 引擎在删除数据时内存不释放。
- `mstd`，`mstdp`，`mvar`，`mvarp`
  等函数在 *X* 无法填满 *window* 时可能错误地返回 0。
- 当 `mstdp`，`mvarp` 函数的 *X* 是首元素为 NULL
  的向量时，计算结果不符合预期。
- 使用 `dropCatalog` 删除 catalog 时，未同时删除其内部 Orca 流图。

## 废弃功能

- 弃用函数 `getInstrumentNotional`。（**3.00.4.3**）
- 弃用函数 createPricingEngine。（**3.00.4.1**）
