跳转到主要内容

10608 — invalid_argument_for_xquery

PostgreSQL SQLSTATE 10608 的源码与诊断参考。

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 expressionrow path filter must not be empty stringcolumn path filter must not be empty string。这些是 XML/XPath 处理中的参数校验失败。核心报告并不意味着所有 XPath/XSLT 或扩展参数错误都使用 10608。

消息

固定消息是 empty XPath expressionrow path filter must not be empty stringcolumn path filter must not be empty string

诊断

确认哪个 XML 操作提供了参数,并判断为空的是 XPath 表达式、行路径过滤器还是列路径过滤器。保留准确消息和输入形状;对于 xml2 或其他扩展,应单独检查扩展调用路径,因为宏引用不是报告调用组。比较行为时记录服务器版本:锁定目录将 10608 的已知下界置于 PostgreSQL 18.0。

处理

按照 XML 函数要求提供非空表达式或过滤器,先验证修正后的输入,再重复语句。若操作由扩展负责,应遵循扩展的参数规则。这是输入修复;不改变空参数而重试无法解决已确认的路径。

版本

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

22023, 0A000

来源

固定后端 xml.c报告空 XPath 变体,行/列过滤器检查报告其他变体。contrib/xml2/xpath.cxslt_proc.c包含宏引用。参见 XML 函数文档。 详见结构化证据记录,其中记录固定源码路径、扫描范围和未解决的运行边界。