fix_proposal.patch
application/octet-stream
Filename: fix_proposal.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: unified
| File | + | − |
|---|---|---|
| src/backend/access/heap/vacuumlazy.c | 15 | 13 |
diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c
index a27cdf1eb0..4be2f167bf 100644
--- a/src/backend/access/heap/vacuumlazy.c
+++ b/src/backend/access/heap/vacuumlazy.c
@@ -767,13 +767,15 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
(long long) VacuumPageDirty);
if (vacrel->rel_pages > 0)
{
- msgfmt = _(" %u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n");
+ if (vacrel->do_index_vacuuming)
+ {
+ msgfmt = _(" %u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n");
- if (vacrel->nindexes == 0 || (vacrel->do_index_vacuuming &&
- vacrel->num_index_scans == 0))
- appendStringInfo(&buf, _("index scan not needed:"));
- else if (vacrel->do_index_vacuuming && vacrel->num_index_scans > 0)
- appendStringInfo(&buf, _("index scan needed:"));
+ if (vacrel->nindexes == 0 || vacrel->num_index_scans == 0)
+ appendStringInfo(&buf, _("index scan not needed:"));
+ else
+ appendStringInfo(&buf, _("index scan needed:"));
+ }
else
{
msgfmt = _(" %u pages from table (%.2f%% of total) have %lld dead item identifiers\n");
@@ -928,6 +930,12 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
vacrel->indstats = (IndexBulkDeleteResult **)
palloc0(vacrel->nindexes * sizeof(IndexBulkDeleteResult *));
+ /*
+ * Before beginning scan, check if it's already necessary to apply fail
+ * safe speedup
+ */
+ should_speedup_failsafe(vacrel);
+
/*
* Allocate the space for dead tuples. Note that this handles parallel
* VACUUM initialization as part of allocating shared memory space used
@@ -1015,12 +1023,6 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
else
skipping_blocks = false;
- /*
- * Before beginning heap scan, check if it's already necessary to apply
- * fail safe speedup
- */
- should_speedup_failsafe(vacrel);
-
for (blkno = 0; blkno < nblocks; blkno++)
{
Buffer buf;
@@ -3445,7 +3447,7 @@ lazy_space_alloc(LVRelState *vacrel, int nworkers, BlockNumber nblocks)
* be used for an index, so we invoke parallelism only if there are at
* least two indexes on a table.
*/
- if (nworkers >= 0 && vacrel->nindexes > 1)
+ if (nworkers >= 0 && vacrel->nindexes > 1 && vacrel->do_index_vacuuming)
{
/*
* Since parallel workers cannot access data in temporary tables, we