ERRCODE_READ_ONLY_SQL_TRANSACTION.v1.patch
text/x-patch
Filename: ERRCODE_READ_ONLY_SQL_TRANSACTION.v1.patch
Type: text/x-patch
Part: 0
Message:
ERRCODE_READ_ONLY_SQL_TRANSACTION
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
Series: patch v1
| File | + | − |
|---|---|---|
| src/backend/access/transam/varsup.c | 3 | 1 |
| src/backend/access/transam/xlog.c | 3 | 1 |
diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c
index 8c045fb..62031eb 100644
--- a/src/backend/access/transam/varsup.c
+++ b/src/backend/access/transam/varsup.c
@@ -60,7 +60,9 @@ GetNewTransactionId(bool isSubXact)
/* safety check, we should never get this far in a HS slave */
if (RecoveryInProgress())
- elog(ERROR, "cannot assign TransactionIds during recovery");
+ ereport(ERROR,
+ (errcode(ERRCODE_READ_ONLY_SQL_TRANSACTION),
+ errmsg("cannot assign TransactionIds during recovery")));
LWLockAcquire(XidGenLock, LW_EXCLUSIVE);
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 19ef66b..8ac194a 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -713,7 +713,9 @@ XLogInsert(RmgrId rmid, uint8 info, XLogRecData *rdata)
/* cross-check on whether we should be here or not */
if (!XLogInsertAllowed())
- elog(ERROR, "cannot make new WAL entries during recovery");
+ ereport(ERROR,
+ (errcode(ERRCODE_READ_ONLY_SQL_TRANSACTION),
+ errmsg("cannot make new WAL entries during recovery")));
/* info's high bits are reserved for use by me */
if (info & XLR_INFO_MASK)