Content-Length: 258606 | pFad | http://github.com/postgrespro/postgres/commit/fae55f0bb38504b3774fa50152d3c14d2f09aa15

62 Allow _h_indexbuild() to be interrupted. · postgrespro/postgres@fae55f0 · GitHub
Skip to content

Commit fae55f0

Browse files
committed
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
1 parent 9a23967 commit fae55f0

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/backend/access/hash/hashsort.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ _h_indexbuild(HSpool *hspool, Relation heapRel)
148148
/* the tuples are sorted by hashkey, so pass 'sorted' as true */
149149
_hash_doinsert(hspool->index, itup, heapRel, true);
150150

151+
/* allow insertion phase to be interrupted, and track progress */
152+
CHECK_FOR_INTERRUPTS();
153+
151154
pgstat_progress_update_param(PROGRESS_CREATEIDX_TUPLES_DONE,
152155
++tups_done);
153156
}

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/postgrespro/postgres/commit/fae55f0bb38504b3774fa50152d3c14d2f09aa15

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy