2F005 — function_executed_no_return_statement
PostgreSQL SQLSTATE 2F005 的源码与诊断参考。
2F005
速览
SQLSTATE 2F005 是 SQL Routine Exception 类别中“函数执行时缺少 RETURN”的成员。固定的 PostgreSQL 18.6 PL/pgSQL 路径区分普通函数和触发器过程的消息。
| 字段 | 值 |
|---|---|
| SQLSTATE | 2F005 |
| 条件名 | function_executed_no_return_statement |
| 状态 | 有效 |
| 已知存在于 | 7.4 |
| 锁定快照 | 9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3 |
| 宏 | ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT |
| 别名 | — |
含义
确认的消息是 control reached end of function without RETURN 和 control reached end of trigger procedure without RETURN。返回要求取决于例程种类和声明的返回行为;这不是笼统的“函数返回 NULL”消息。
消息
确认的消息是 control reached end of function without RETURN 和 control reached end of trigger procedure without RETURN。返回要求取决于例程种类和声明的返回行为;这不是笼统的“函数返回 NULL”消息。
诊断
读取例程签名以及所有可能到达末尾的控制流。对于触发器过程,按触发器契约检查每个应返回触发器行或 NULL 的分支;对于返回值函数,检查每个分支是否都有兼容的 RETURN。
处理
增加所需的返回路径,并在重做操作前验证例程定义。这是例程控制流修复;只有考虑过外层操作是否已经产生可见工作后,才决定重试。
版本
锁定目录将该条件的已知下界记为 PostgreSQL 7.4;事实块列出已发布快照,源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。
相关
来源
详见结构化证据记录,其中记录固定源码路径、扫描范围和未解决的运行边界。