Add a CHECK_FOR_INTERRUPTS() in _bt_buildadd(). This fixes problem

with not responding to query cancel during the last stage of btree index
creation.
This commit is contained in:
Tom Lane 2006-03-10 20:18:15 +00:00
parent 0ebf1cc834
commit 9f6192490e
1 changed files with 7 additions and 1 deletions

View File

@ -56,7 +56,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/nbtree/nbtsort.c,v 1.99 2006/03/05 15:58:21 momjian Exp $
* $PostgreSQL: pgsql/src/backend/access/nbtree/nbtsort.c,v 1.100 2006/03/10 20:18:15 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -461,6 +461,12 @@ _bt_buildadd(BTWriteState *wstate, BTPageState *state, IndexTuple itup)
Size pgspc;
Size itupsz;
/*
* This is a handy place to check for cancel interrupts during the
* btree load phase of index creation.
*/
CHECK_FOR_INTERRUPTS();
npage = state->btps_page;
nblkno = state->btps_blkno;
last_off = state->btps_lastoff;