mirror of
https://github.com/postgres/postgres.git
synced 2025-05-05 09:19:17 +03:00
Fix thinko when ending progress report for a backend
The logic ending progress reporting for a backend entry introduced by b6fb647 causes callers of pgstat_progress_end_command() to do some extra work when track_activities is enabled as the process fields are reset in the backend entry even if no command were started for reporting. This resets the fields only if a command is registered for progress reporting, and only if track_activities is enabled. Author: Masahiho Sawada Discussion: https://postgr.es/m/CAD21AoCry_vJ0E-m5oxJXGL3pnos-xYGCzF95rK5Bbi3Uf-rpA@mail.gmail.com Backpatch-through: 9.6
This commit is contained in:
parent
b0b2ef25e3
commit
f4b91a50e9
@ -3024,10 +3024,10 @@ pgstat_progress_end_command(void)
|
|||||||
{
|
{
|
||||||
volatile PgBackendStatus *beentry = MyBEEntry;
|
volatile PgBackendStatus *beentry = MyBEEntry;
|
||||||
|
|
||||||
if (!beentry)
|
if (!beentry || !pgstat_track_activities)
|
||||||
return;
|
return;
|
||||||
if (!pgstat_track_activities
|
|
||||||
&& beentry->st_progress_command == PROGRESS_COMMAND_INVALID)
|
if (beentry->st_progress_command == PROGRESS_COMMAND_INVALID)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PGSTAT_BEGIN_WRITE_ACTIVITY(beentry);
|
PGSTAT_BEGIN_WRITE_ACTIVITY(beentry);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user