0001-Log-the-location-field-before-any-backtrace.patch

text/plain

Filename: 0001-Log-the-location-field-before-any-backtrace.patch
Type: text/plain
Part: 0
Message: Log the location field before any backtrace

Patch

Format: format-patch
Series: patch 0001
Subject: Log the location field before any backtrace
File+
src/backend/utils/error/elog.c 7 7
From aaf4a8146cf60a5959e50432359fd9972f410e1b Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Thu, 9 Jul 2020 11:00:34 +0200
Subject: [PATCH] Log the location field before any backtrace

This order makes more sense because the location is effectively at the
lowest level of the backtrace.
---
 src/backend/utils/error/elog.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index e976201030..e4b717c79a 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2938,13 +2938,6 @@ send_message_to_server_log(ErrorData *edata)
 			append_with_tabs(&buf, edata->context);
 			appendStringInfoChar(&buf, '\n');
 		}
-		if (edata->backtrace)
-		{
-			log_line_prefix(&buf, edata);
-			appendStringInfoString(&buf, _("BACKTRACE:  "));
-			append_with_tabs(&buf, edata->backtrace);
-			appendStringInfoChar(&buf, '\n');
-		}
 		if (Log_error_verbosity >= PGERROR_VERBOSE)
 		{
 			/* assume no newlines in funcname or filename... */
@@ -2962,6 +2955,13 @@ send_message_to_server_log(ErrorData *edata)
 								 edata->filename, edata->lineno);
 			}
 		}
+		if (edata->backtrace)
+		{
+			log_line_prefix(&buf, edata);
+			appendStringInfoString(&buf, _("BACKTRACE:  "));
+			append_with_tabs(&buf, edata->backtrace);
+			appendStringInfoChar(&buf, '\n');
+		}
 	}
 
 	/*
-- 
2.27.0