should check interrupts in BuildRelationExtStatistics ?

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: pgsql-hackers@postgresql.org
Date: 2022-05-09T00:01:08Z
Lists: pgsql-hackers
Restarting a large instance took twice as long as I expected due to not
checking interrupts in (at least) statext_ndistinct_build.  Long enough that I
attached (and was able to attach) a debugger to verify, which I think is too
long.  I think it could cause issues for an high-availability cluster or other
script if it takes too long to shut down.

The tables being auto-analyzed have 9 exteneded stats objects, each with stats
target=10.  7 of those are (ndistinct) stats on 4 simple columns plus 1
expression (5 total).  And the other 2 stats objects are expressional stats
(necessarily on a single expression).



Commits

  1. Invent qsort_interruptible().