用户定义的虚拟处理器类可保护数据库服务器免遭
行为不良的用户定义例程的破坏。行为不良的用户定义的例程至少有以下特征之一:
- 不会为其他线程让出控制权
- 进行分块操作系统调用
- 修改全局 VP 状态
行为良好的 C 语言 UDR 不具有这些特征。
仅在 CPU VP 中运行行为良好的 C 语言 UDR。
警告: 在 CPU VP 中执行行为不良的例程会导致对数据库服务器操作的严重干扰,并且可能导致其失败或行为反常。此外,例程本身可能不会产生正确的结果。
要确保安全执行,将任何行为不良的用户定义的例程指定给用户定义的虚拟处理器类。
用户定义的 VP 除去 CPU VP 类上的以下编程限制:
在用户定义的虚拟处理器类中运行的函数无需让出处理器,并且它们可能发出直接的文件系统调用,用于阻止虚拟处理器的进一步处理,直到 I/O 完成。
用户查询的正常处理不受 C 语言 UDR 不良行为的影响,因为这些 UDR 不在 CPU 虚拟处理器中执行。有关行为不良的例程的更多详细说明,请参阅 GBase 8s DataBlade API 程序员指南。