summaryrefslogtreecommitdiff
path: root/src/backend/access/transam/xact.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/transam/xact.c')
-rw-r--r--src/backend/access/transam/xact.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index e11b229792..95805963af 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -327,7 +327,7 @@ static void AtSubStart_Memory(void);
static void AtSubStart_ResourceOwner(void);
static void ShowTransactionState(const char *str);
-static void ShowTransactionStateRec(TransactionState state);
+static void ShowTransactionStateRec(const char *str, TransactionState state);
static const char *BlockStateAsString(TBlockState blockState);
static const char *TransStateAsString(TransState state);
@@ -4944,11 +4944,8 @@ static void
ShowTransactionState(const char *str)
{
/* skip work if message will definitely not be printed */
- if (log_min_messages <= DEBUG3 || client_min_messages <= DEBUG3)
- {
- elog(DEBUG3, "%s", str);
- ShowTransactionStateRec(CurrentTransactionState);
- }
+ if (log_min_messages <= DEBUG5 || client_min_messages <= DEBUG5)
+ ShowTransactionStateRec(str, CurrentTransactionState);
}
/*
@@ -4956,7 +4953,7 @@ ShowTransactionState(const char *str)
* Recursive subroutine for ShowTransactionState
*/
static void
-ShowTransactionStateRec(TransactionState s)
+ShowTransactionStateRec(const char *str, TransactionState s)
{
StringInfoData buf;
@@ -4966,17 +4963,18 @@ ShowTransactionStateRec(TransactionState s)
{
int i;
- appendStringInfo(&buf, "%u", s->childXids[0]);
+ appendStringInfo(&buf, ", children: %u", s->childXids[0]);
for (i = 1; i < s->nChildXids; i++)
appendStringInfo(&buf, " %u", s->childXids[i]);
}
if (s->parent)
- ShowTransactionStateRec(s->parent);
+ ShowTransactionStateRec(str, s->parent);
/* use ereport to suppress computation if msg will not be printed */
- ereport(DEBUG3,
- (errmsg_internal("name: %s; blockState: %13s; state: %7s, xid/subid/cid: %u/%u/%u%s, nestlvl: %d, children: %s",
+ ereport(DEBUG5,
+ (errmsg_internal("%s(%d) name: %s; blockState: %s; state: %s, xid/subid/cid: %u/%u/%u%s%s",
+ str, s->nestingLevel,
PointerIsValid(s->name) ? s->name : "unnamed",
BlockStateAsString(s->blockState),
TransStateAsString(s->state),
@@ -4984,7 +4982,7 @@ ShowTransactionStateRec(TransactionState s)
(unsigned int) s->subTransactionId,
(unsigned int) currentCommandId,
currentCommandIdUsed ? " (used)" : "",
- s->nestingLevel, buf.data)));
+ buf.data)));
pfree(buf.data);
}