10608 — invalid_argument_for_xquery
10608
速览
SQLSTATE 10608 是 XQuery 类别中表示参数无效的 ERROR 条件。PostgreSQL 18.6 已确认后端 XML 路径会因 XPath 表达式为空、行路径过滤器为空或列路径过滤器为空而报告它。contrib/xml2 源码也引用该宏,但引用本身不能证明存在另一条报告消息。
| 字段 | 值 |
|---|---|
| SQLSTATE | 10608 |
| 条件名 | invalid_argument_for_xquery |
| 状态 | 有效 |
| 已知存在于 | 18.0 |
| 锁定快照 | 18.6, 19beta3 |
| 宏 | ERRCODE_INVALID_ARGUMENT_FOR_XQUERY |
| 别名 | — |
含义
固定后端调用在 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。
诊断
确认哪个 XML 操作提供了参数,并判断为空的是 XPath 表达式、行路径过滤器还是列路径过滤器。保留准确消息和输入形状;对于 xml2 或其他扩展,应单独检查扩展调用路径,因为宏引用不是报告调用组。比较行为时记录服务器版本:锁定目录将 10608 的已知下界置于 PostgreSQL 18.0。
处理
按照 XML 函数要求提供非空表达式或过滤器,先验证修正后的输入,再重复语句。若操作由扩展负责,应遵循扩展的参数规则。这是输入修复;不改变空参数而重试无法解决已确认的路径。
版本
锁定目录将该条件的已知下界记为 PostgreSQL 18.0。事实块列出已发布快照;源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。
相关
来源
固定后端 xml.c报告空 XPath 变体,行/列过滤器检查报告其他变体。contrib/xml2/xpath.c 和 xslt_proc.c包含宏引用。参见 XML 函数文档。 详见结构化证据记录,其中记录固定源码路径、扫描范围和未解决的运行边界。