文档 / SQL 状态码 / Class 39 外部例程调用异常
39001 invalid_sqlstate_returned
ERROR 仅定义 参考 未实测
- 条件名
invalid_sqlstate_returned- 宏名称
ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED- 启用版本
- 7.4
- 状态
- 活跃
版本覆盖
速览
SQLSTATE 39001 是外部例程调用异常类别中“返回无效 SQLSTATE”的成员。锁定的 PostgreSQL 18.6 core/contrib 扫描没有找到当前 PostgreSQL 处理器的报告路径。
含义
保留返回文本、外部语言、例程以及拒绝它的包装层。不要把该成员替换为 XX000,也不要从例程名称猜测无效值。
消息
由于有界扫描没有解析出原生报告调用,本页不采用未经确认的 PostgreSQL 固定消息变体。
诊断
查找固定的外部例程处理器或驱动校验器,检查五字符值和消息。有界扫描没有解析出原生源码边界。
处理
按所有者规则修正例程返回的 SQLSTATE 或接口契约。在确认无效返回和完成状态前不要重试。
版本
锁定目录将该条件的已知下界记为 PostgreSQL 7.4;事实块列出已发布快照,源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。
来源
- 上游源码 src/backend/utils/errcodes.txt 第 309 行
- 核验材料 raw/calls/REL_18_6.jsonl
证据
断言
每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。
-
39001 is invalid_sqlstate_returned in SQLSTATE Class 39.
-
No resolved 39001 report group was found in the locked PostgreSQL 18.6 core/contrib call scan.
-
Locked release definitions establish catalogue presence from 7.4; they do not establish a precise introducing release or runtime use.
同类 SQL 状态码
| 状态码 | 条件名 | 宏名称 | 严重等级 | 版本 |
|---|---|---|---|---|
| 39000 | external_routine_invocation_exception | ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION |
ERROR | 7.4 |
| 外部例程调用异常,如 pgcrypto 的库失败。 | 活跃 | |||
| 39001 | invalid_sqlstate_returned | ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED |
ERROR | 7.4 |
| 外部例程返回了无效的 SQLSTATE。 | 活跃 | |||
| 39004 | null_value_not_allowed | ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED |
ERROR | 7.4 |
| 外部例程调用中不允许出现 NULL 值。 | 活跃 | |||
| 39P01 | trigger_protocol_violated | ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED |
ERROR | 7.4 |
| 触发器违反了返回值或调用协议。 | 活跃 | |||
| 39P02 | srf_protocol_violated | ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED |
ERROR | 7.4 |
| 集合返回函数违反了 SRF 调用协议。 | 活跃 | |||
| 39P03 | event_trigger_protocol_violated | ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED |
ERROR | 9.5 |
| 事件触发器辅助函数在错误的事件上下文调用。 | 活跃 | |||