ps_display_v1.patch
application/octet-stream
Filename: ps_display_v1.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
Series: patch v1
| File | + | − |
|---|---|---|
| src/backend/storage/ipc/standby.c | 13 | 1 |
*** a/src/backend/storage/ipc/standby.c
--- b/src/backend/storage/ipc/standby.c
***************
*** 21,27 ****
#include "access/xact.h"
#include "access/xlog.h"
#include "miscadmin.h"
- #include "pgstat.h"
#include "storage/bufmgr.h"
#include "storage/lmgr.h"
#include "storage/proc.h"
--- 21,26 ----
***************
*** 191,206 **** static void
ResolveRecoveryConflictWithVirtualXIDs(VirtualTransactionId *waitlist,
ProcSignalReason reason)
{
! while (VirtualTransactionIdIsValid(*waitlist))
! {
! TimestampTz waitStart;
! char *new_status;
!
! pgstat_report_waiting(true);
! waitStart = GetCurrentTimestamp();
! new_status = NULL; /* we haven't changed the ps display */
/* reset standbyWait_us for each xact we wait for */
standbyWait_us = STANDBY_INITIAL_WAIT_US;
--- 190,203 ----
ResolveRecoveryConflictWithVirtualXIDs(VirtualTransactionId *waitlist,
ProcSignalReason reason)
{
! TimestampTz waitStart;
! char *new_status;
! waitStart = GetCurrentTimestamp();
! new_status = NULL; /* we haven't changed the ps display */
+ while (VirtualTransactionIdIsValid(*waitlist))
+ {
/* reset standbyWait_us for each xact we wait for */
standbyWait_us = STANDBY_INITIAL_WAIT_US;
***************
*** 246,262 **** ResolveRecoveryConflictWithVirtualXIDs(VirtualTransactionId *waitlist,
}
}
- /* Reset ps display if we changed it */
- if (new_status)
- {
- set_ps_display(new_status, false);
- pfree(new_status);
- }
- pgstat_report_waiting(false);
-
/* The virtual transaction is gone now, wait for the next one */
waitlist++;
}
}
void
--- 243,258 ----
}
}
/* The virtual transaction is gone now, wait for the next one */
waitlist++;
}
+
+ /* Reset ps display if we changed it */
+ if (new_status)
+ {
+ set_ps_display(new_status, false);
+ pfree(new_status);
+ }
}
void