文档 / SQL 状态码 / Class 10 XQuery错误
10608 invalid_argument_for_xquery
ERROR 源码确认 参考 未实测
- 条件名
invalid_argument_for_xquery- 宏名称
ERRCODE_INVALID_ARGUMENT_FOR_XQUERY- 启用版本
- 18
- 状态
- 活跃
版本覆盖
速览
SQLSTATE 10608 是 XQuery 类别中表示参数无效的 ERROR 条件。PostgreSQL 18.6 已确认后端 XML 路径会因 XPath 表达式为空、行路径过滤器为空或列路径过滤器为空而报告它。contrib/xml2 源码也引用该宏,但引用本身不能证明存在另一条报告消息。
含义
固定后端调用在 src/backend/utils/adt/xml.c 中分别报告 empty XPath expression、row path filter must not be empty string 和 column path filter must not be empty string。这些是 XML/XPath 处理中的参数校验失败。核心报告并不意味着所有 XPath/XSLT 或扩展参数错误都使用 10608。
消息
固定消息是 empty XPath expression、row path filter must not be empty string 和 column path filter must not be empty string。
报文模板
源码里的格式串,不是某一次运行的输出。%s 之类是占位符,实际报文会填入对象名与取值。适用范围一栏是核验时留下的原始英文记录,未经翻译。
empty XPath expression
row path filter must not be empty string
column path filter must not be empty string
诊断
确认哪个 XML 操作提供了参数,并判断为空的是 XPath 表达式、行路径过滤器还是列路径过滤器。保留准确消息和输入形状;对于 xml2 或其他扩展,应单独检查扩展调用路径,因为宏引用不是报告调用组。比较行为时记录服务器版本:锁定目录将 10608 的已知下界置于 PostgreSQL 18.0。
处理
按照 XML 函数要求提供非空表达式或过滤器,先验证修正后的输入,再重复语句。若操作由扩展负责,应遵循扩展的参数规则。这是输入修复;不改变空参数而重试无法解决已确认的路径。
版本
锁定目录将该条件的已知下界记为 PostgreSQL 18.0。事实块列出已发布快照;源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。
来源
- 上游源码 src/backend/utils/errcodes.txt 第 148 行
- 上游源码 src/backend/utils/adt/xml.c
- 上游源码 contrib/xml2/xpath.c
- 上游源码 contrib/xml2/xslt_proc.c
- 核验材料 raw/calls/REL_18_6.jsonl
证据
断言
每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。
-
10608 is invalid_argument_for_xquery in SQLSTATE Class 10.
-
The fixed PostgreSQL 18.6 source contains the report path and message context described on the page.
-
The locked release definitions establish catalogue presence from the known 18.0 boundary; they do not establish a precise introducing release or runtime use.
同类 SQL 状态码
| 状态码 | 条件名 | 宏名称 | 严重等级 | 版本 |
|---|---|---|---|---|
| 10608 | invalid_argument_for_xquery | ERRCODE_INVALID_ARGUMENT_FOR_XQUERY |
ERROR | 18 |
| XQuery/XPath 表达式参数无效,如路径为空。 | 活跃 | |||