一级兼容性标准
一级兼容性标准要求 DolphinDB Server 基本满足向后兼容的要求,以确保旧版本的数据和脚本能够在新版本环境下成功运行。但允许服务器删除部分声明 deprecation(即不建议继续使用)超过一年的内置函数。也允许插件代码不兼容,即用户必须升级插件的二进制库文件,修改调用插件函数的脚本。允许 SDK 二进制不兼容,即用户必须升级 SDK 的动态库,但能够保证代码兼容。
插件与 API 的兼容性等级要求不一样,是因为插件与 DolphinDB Server 在同一个进程中运行,插件的头文件往往随着 Server 的变化而变化,而 SDK 只需要与 Server 通信协议兼容即可。
-
具体要求包括:
-
兼容旧版本的配置,即配置项的名称不能修改,默认值不能修改;
-
兼容旧版本的函数和脚本,即函数名不能修改,函数参数只能增加,并且新增参数需要有默认值,脚本的用法不能修改。但部分函数允许 deprecate 一年后不再支持;
-
兼容旧版本的存储数据,包括分布式表数据,持久化的流数据表数据,定时任务,函数视图和用户权限数据等;
-
SDK 满足代码兼容性,即使用 SDK 写的客户端程序重新编译链接后可以继续运行。
-
升级指南:
-
一级标准不支持插件代码兼容和 API 的二进制兼容。升级 Server 时,插件和 API 的二进制库文件必须升级,API 客户端需要重编,插件脚本可能需要修改;
-
数据库文件格式可能有变,如要确保能回退,升级前必须安全关机以保证所有的 redo log 都已经回收 。