diff options
Diffstat (limited to 'src/backend/access/transam/xact.c')
-rw-r--r-- | src/backend/access/transam/xact.c | 22 |
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); } |