Skip to content

Commit d12afe1

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 e37c109 commit d12afe1

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
@@ -738,6 +738,8 @@ compute_index_stats(Relation onerel, double totalrows,
738738
{
739739
HeapTuple heapTuple = rows[rowno];
740740

741+
vacuum_delay_point();
742+
741743
/*
742744
* Reset the per-tuple context each time, to reclaim any cruft
743745
* left behind by evaluating the predicate or index expressions.

0 commit comments

Comments
 (0)