mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
Allow _h_indexbuild() to be interrupted.
When we are building a hash index that is large enough to need pre-sorting (larger than either maintenance_work_mem or NBuffers), the initial sorting phase is interruptible, but the insertion phase wasn't. Add the missing CHECK_FOR_INTERRUPTS(). Per bug #18616 from Alexander Lakhin. Back-patch to all supported branches. Pavel Borisov Discussion: https://postgr.es/m/18616-acbb9e5caf41e964@postgresql.org
This commit is contained in:
parent
9a23967063
commit
fae55f0bb3
@ -148,6 +148,9 @@ _h_indexbuild(HSpool *hspool, Relation heapRel)
|
||||
/* the tuples are sorted by hashkey, so pass 'sorted' as true */
|
||||
_hash_doinsert(hspool->index, itup, heapRel, true);
|
||||
|
||||
/* allow insertion phase to be interrupted, and track progress */
|
||||
CHECK_FOR_INTERRUPTS();
|
||||
|
||||
pgstat_progress_update_param(PROGRESS_CREATEIDX_TUPLES_DONE,
|
||||
++tups_done);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user