跳转到主要内容

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 RETURNcontrol reached end of trigger procedure without RETURN。返回要求取决于例程种类和声明的返回行为;这不是笼统的“函数返回 NULL”消息。

消息

确认的消息是 control reached end of function without RETURNcontrol reached end of trigger procedure without RETURN。返回要求取决于例程种类和声明的返回行为;这不是笼统的“函数返回 NULL”消息。

诊断

读取例程签名以及所有可能到达末尾的控制流。对于触发器过程,按触发器契约检查每个应返回触发器行或 NULL 的分支;对于返回值函数,检查每个分支是否都有兼容的 RETURN

处理

增加所需的返回路径,并在重做操作前验证例程定义。这是例程控制流修复;只有考虑过外层操作是否已经产生可见工作后,才决定重试。

版本

锁定目录将该条件的已知下界记为 PostgreSQL 7.4;事实块列出已发布快照,源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。

2F000, 38000

来源

详见结构化证据记录,其中记录固定源码路径、扫描范围和未解决的运行边界。