一级兼容性标准

一级兼容性标准要求 DolphinDB Server 基本满足向后兼容的要求,以确保旧版本的数据和脚本能够在新版本环境下成功运行。但允许服务器删除部分声明 deprecation(即不建议继续使用)超过一年的内置函数。也允许插件代码不兼容,即用户必须升级插件的二进制库文件,修改调用插件函数的脚本。允许 SDK 二进制不兼容,即用户必须升级 SDK 的动态库,但能够保证代码兼容。

插件与 API 的兼容性等级要求不一样,是因为插件与 DolphinDB Server 在同一个进程中运行,插件的头文件往往随着 Server 的变化而变化,而 SDK 只需要与 Server 通信协议兼容即可。

  • 具体要求包括:

  1. 兼容旧版本的配置,即配置项的名称不能修改,默认值不能修改;

  2. 兼容旧版本的函数和脚本,即函数名不能修改,函数参数只能增加,并且新增参数需要有默认值,脚本的用法不能修改。但部分函数允许 deprecate 一年后不再支持;

  3. 兼容旧版本的存储数据,包括分布式表数据,持久化的流数据表数据,定时任务,函数视图和用户权限数据等;

  4. SDK 满足代码兼容性,即使用 SDK 写的客户端程序重新编译链接后可以继续运行。

  • 升级指南:

  1. 一级标准不支持插件代码兼容和 API 的二进制兼容。升级 Server 时,插件和 API 的二进制库文件必须升级,API 客户端需要重编,插件脚本可能需要修改;

  2. 数据库文件格式可能有变,如要确保能回退,升级前必须安全关机以保证所有的 redo log 都已经回收 。