From 09a75a1104c7addcd2ace45f0d947068f629a0a2 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Wed, 16 Nov 2016 11:37:48 -0500 Subject: [PATCH 2/3] Tighten up debugging messages that print the transaction status. Avoid emitting an extra line just to explain which debug point is at issue, and tighten up the rest of the message so it doesn't use quite so much horizontal space. --- src/backend/access/transam/xact.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index e11b229..67b6f1b 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); @@ -4945,10 +4945,7 @@ 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); - } + 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", + (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); } -- 2.5.4 (Apple Git-61)