diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index 3e5d3982c7..639179aa46 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -2711,13 +2711,13 @@ lazy_vacuum_one_index(Relation indrel, IndexBulkDeleteResult *istat, LVSavedErrInfo saved_err_info; ivinfo.index = indrel; + ivinfo.heaprel = vacrel->rel; ivinfo.analyze_only = false; ivinfo.report_progress = false; ivinfo.estimated_count = true; ivinfo.message_level = DEBUG2; ivinfo.num_heap_tuples = reltuples; ivinfo.strategy = vacrel->bstrategy; - ivinfo.heaprel = vacrel->rel; /* * Update error traceback information. @@ -2760,6 +2760,7 @@ lazy_cleanup_one_index(Relation indrel, IndexBulkDeleteResult *istat, LVSavedErrInfo saved_err_info; ivinfo.index = indrel; + ivinfo.heaprel = vacrel->rel; ivinfo.analyze_only = false; ivinfo.report_progress = false; ivinfo.estimated_count = estimated_count; @@ -2767,7 +2768,6 @@ lazy_cleanup_one_index(Relation indrel, IndexBulkDeleteResult *istat, ivinfo.num_heap_tuples = reltuples; ivinfo.strategy = vacrel->bstrategy; - ivinfo.heaprel = vacrel->rel; /* * Update error traceback information. diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index ce0acf5890..352e43d0e6 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -3358,13 +3358,13 @@ validate_index(Oid heapId, Oid indexId, Snapshot snapshot) * Scan the index and gather up all the TIDs into a tuplesort object. */ ivinfo.index = indexRelation; + ivinfo.heaprel = heapRelation; ivinfo.analyze_only = false; ivinfo.report_progress = true; ivinfo.estimated_count = true; ivinfo.message_level = DEBUG2; ivinfo.num_heap_tuples = heapRelation->rd_rel->reltuples; ivinfo.strategy = NULL; - ivinfo.heaprel = heapRelation; /* * Encode TIDs as int8 values for the sort, rather than directly sorting diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index 2b404767bb..52ef462dba 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -707,12 +707,12 @@ do_analyze_rel(Relation onerel, VacuumParams *params, IndexVacuumInfo ivinfo; ivinfo.index = Irel[ind]; + ivinfo.heaprel = onerel; ivinfo.analyze_only = true; ivinfo.estimated_count = true; ivinfo.message_level = elevel; ivinfo.num_heap_tuples = onerel->rd_rel->reltuples; ivinfo.strategy = vac_strategy; - ivinfo.heaprel = onerel; stats = index_vacuum_cleanup(&ivinfo, NULL); diff --git a/src/backend/commands/vacuumparallel.c b/src/backend/commands/vacuumparallel.c index 2cdbd182b6..563117a8f6 100644 --- a/src/backend/commands/vacuumparallel.c +++ b/src/backend/commands/vacuumparallel.c @@ -836,13 +836,13 @@ parallel_vacuum_process_one_index(ParallelVacuumState *pvs, Relation indrel, istat = &(indstats->istat); ivinfo.index = indrel; + ivinfo.heaprel = pvs->heaprel; ivinfo.analyze_only = false; ivinfo.report_progress = false; ivinfo.message_level = DEBUG2; ivinfo.estimated_count = pvs->shared->estimated_count; ivinfo.num_heap_tuples = pvs->shared->reltuples; ivinfo.strategy = pvs->bstrategy; - ivinfo.heaprel = pvs->heaprel; /* Update error traceback information */ pvs->indname = pstrdup(RelationGetRelationName(indrel)); diff --git a/src/include/access/genam.h b/src/include/access/genam.h index a939a7353e..a308795665 100644 --- a/src/include/access/genam.h +++ b/src/include/access/genam.h @@ -44,13 +44,13 @@ typedef struct IndexBuildResult typedef struct IndexVacuumInfo { Relation index; /* the index being vacuumed */ + Relation heaprel; /* the heap relation the index belongs to */ bool analyze_only; /* ANALYZE (without any actual vacuum) */ bool report_progress; /* emit progress.h status reports */ bool estimated_count; /* num_heap_tuples is an estimate */ int message_level; /* ereport level for progress messages */ double num_heap_tuples; /* tuples remaining in heap */ BufferAccessStrategy strategy; /* access strategy for reads */ - Relation heaprel; /* the heap relation the index belongs to */ } IndexVacuumInfo; /*