Skip to content

Commit f444de5

Browse files
committed
Add vacuum_delay_point call in compute_index_stats's per-sample-row loop.
Slow functions in index expressions might cause this loop to take long enough to make it worth being cancellable. Probably it would be enough to call CHECK_FOR_INTERRUPTS here, but for consistency with other per-sample-row loops in this file, let's use vacuum_delay_point. Report and patch by Jeff Janes. Back-patch to all supported branches.
1 parent 3740bb8 commit f444de5

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/backend/commands/analyze.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,8 @@ compute_index_stats(Relation onerel, double totalrows,
743743
{
744744
HeapTuple heapTuple = rows[rowno];
745745

746+
vacuum_delay_point();
747+
746748
/*
747749
* Reset the per-tuple context each time, to reclaim any cruft
748750
* left behind by evaluating the predicate or index expressions.

0 commit comments

Comments
 (0)