选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 错误代码 / Class 25 事务状态无效

25002 branch_transaction_already_active

分支事务已活动

ERROR 仅定义 参考 不适用

类别
Class 25 事务状态无效
严重等级
ERROR
条件名
branch_transaction_already_active
宏名称
ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE
启用版本
7.4
状态
活跃

版本覆盖

速览

25002 表示分支事务已经活动,范围窄于 25001,也不同于 25P02。本文只记录锁定条件定义和 18.6 核心调用扫描未发现直接报文路径的边界。

含义

它属于 Class 25,但不应作为嵌套事务或普通保存点的总称。核心 errcodes.txt 定义了宏;项目对 18.6 核心解析调用的穷尽扫描没有找到 25002 报告组。

诊断

使用精确 SQLSTATE 和事务上下文,区分分支管理 API、保存点、活动事务块和失败事务。没有核心调用点不代表可以从别的码推断报文或触发器。

处理

保留分支管理操作及其事务边界,按创建该分支的 API 处理。本批没有确认安全自然触发,不用 RAISE 代替。

源码报文模板

适用边界

本批没有为 25002 构造自然 SQL 触发器;请把它视为源码/协议边界,而不是可直接复制的复现脚本。结构化证据 · 案例导出

作者证据 ID:identity, source-boundary。选定运行记录:—。

版本与边界

锁定目录在 7.4 已观察到该条件,并在列出的正式快照中均存在。18.6 核心调用扫描没有解析出的路径;扩展或未来源码可能增加路径。

来源

证据

断言

每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。

  • 25002 is branch_transaction_already_active in Class 25.

    核实方式Read the fixed errcodes row and macro.

    不覆盖This is a narrow transaction-branch state, distinct from 25001 active_sql_transaction and 25P02 in_failed_sql_transaction.

    来源src/backend/utils/errcodes.txt

  • The exhaustive resolved PostgreSQL 18.6 core call scan has no report group mapped to 25002, so this batch does not claim a safe natural SQL trigger.

    核实方式Compare the errcodes macro mapping with all resolved report groups.

    不覆盖A missing core call-site is a bounded source observation; do not manufacture it with RAISE or a guessed replication topology.

    来源src/backend/utils/errcodes.txt · raw/calls/REL_18_6.jsonl

同类错误代码

Class 25 事务状态无效 下的其他成员。