百科 / SQL 状态码 / Class 00 成功完成
00000 successful_completion
00000 — successful_completion
SUCCESS 源码确认 参考 未实测
- 条件名
successful_completion- 宏名称
ERRCODE_SUCCESSFUL_COMPLETION- 最早已知存在
- 7.4
- 状态
- 有效
手册收录:8.1、8.2、8.3、8.4、9.0、9.1、9.2、9.3、9.4、9.5、9.6、10、11、12、13、14、15、16、17、18、19、20。此处仅表示同版本手册收录,运行证据仍以原核验构建为准。
版本覆盖
版本条依据已采样构建显示;灰色版本可能尚未采样,悬停可查看。手册链接随版本选择,源码和运行证据保持原核验构建。
00000 — successful_completion
速览 {#at-a-glance}
00000 是成功完成 SQLSTATE。PostgreSQL 错误机制在没有设置更具体代码且级别低于 WARNING 时默认选择它;成功命令不需要错误消息。
含义 {#meaning}
elog.c 的 errstart 按消息级别选择默认 SQLSTATE;低于 WARNING 时设置 ERRCODE_SUCCESSFUL_COMPLETION。这是错误机制中的源码级默认值,不是应用错误机制,也不表示普通命令会携带 ErrorResponse。
消息与诊断 {#messages}
命令完成通常由成功结果和命令标签表示,不携带 ErrorResponse SQLSTATE。在固定的 elog 路径中,只有没有更具体代码且消息级别低于 WARNING 时,错误机制才把 00000 作为默认值初始化。诊断消息必须同时保留实际协议消息类型和严重性;00000 不是 ERROR 的默认码,也不会把成功结果变成 ErrorResponse。
诊断 {#diagnosis}
先检查客户端结果状态和命令标签。如果客户端把 00000 与失败状态或 ErrorResponse 一起报告,应调查来源和客户端 API 的状态处理,不能把它解释为通常成功,也不要凭空寻找错误 detail。
处理 {#response}
将成功命令结果按完成处理。若 NoticeResponse 携带 00000,应把通知与命令结果分开记录;只有两者冲突时才调查客户端状态处理。不要仅因出现此代码就重试成功命令。
版本 {#versions}
锁定目录从 9.0.23 到 18.6 以及 19 Beta 3 均有 00000,known_present_by 为 7.4。18.6 固定的 elog.c 路径显示低于 WARNING 时的默认赋值;这不是每个客户端协议的运行实测。
相关 {#related}
01000 是警告类;02000 是无数据条件;P0002 是 PL/pgSQL 的 no_data_found。
来源 {#sources}
errcodes.txt— 定义,SHA-2566e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.elog.c— 固定路径,SHA-256766d30a426ba1d9597657bd46fb890da3e37e4ae53a83d1245bf082ed9433c33。- 结构化证据 — 固定来源、消息和运行边界。
来源
证据
断言
每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。
-
00000 is successful_completion in Class 00.
-
In the fixed 18.6 error machinery, levels below WARNING initialize the SQLSTATE to ERRCODE_SUCCESSFUL_COMPLETION when no more specific code is supplied.
同类 SQL 状态码
| 状态码 | 条件名 | 宏名称 | 严重等级 | 版本 |
|---|---|---|---|---|
| 00000 | successful_completion | ERRCODE_SUCCESSFUL_COMPLETION |
SUCCESS | 7.4 起已知 |
| 命令成功完成,不是错误条件。 | 有效 | |||