|
8 | 8 | * Portions Copyright (c) 1994, Regents of the University of California |
9 | 9 | * |
10 | 10 | * IDENTIFICATION |
11 | | - * $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.14 2006/02/11 23:31:33 tgl Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.15 2006/02/14 16:39:32 tgl Exp $ |
12 | 12 | * |
13 | 13 | *------------------------------------------------------------------------- |
14 | 14 | */ |
@@ -68,6 +68,8 @@ gistVacuumUpdate(GistVacuum *gv, BlockNumber blkno, bool needunion) |
68 | 68 | intncompleted=0, |
69 | 69 | lencompleted=16; |
70 | 70 |
|
| 71 | +vacuum_delay_point(); |
| 72 | + |
71 | 73 | buffer=ReadBuffer(gv->index,blkno); |
72 | 74 |
|
73 | 75 | /* |
@@ -406,9 +408,12 @@ gistvacuumcleanup(PG_FUNCTION_ARGS) |
406 | 408 | freePages= (BlockNumber*)palloc(sizeof(BlockNumber)*maxFreePages); |
407 | 409 | for (blkno=GIST_ROOT_BLKNO+1;blkno<npages;blkno++) |
408 | 410 | { |
409 | | -Bufferbuffer=ReadBuffer(rel,blkno); |
| 411 | +Bufferbuffer; |
410 | 412 | Pagepage; |
411 | 413 |
|
| 414 | +vacuum_delay_point(); |
| 415 | + |
| 416 | +buffer=ReadBuffer(rel,blkno); |
412 | 417 | LockBuffer(buffer,GIST_SHARE); |
413 | 418 | page= (Page)BufferGetPage(buffer); |
414 | 419 |
|
@@ -561,7 +566,7 @@ gistbulkdelete(PG_FUNCTION_ARGS) |
561 | 566 | page= (Page)BufferGetPage(buffer); |
562 | 567 | if (stack->blkno==GIST_ROOT_BLKNO&& !GistPageIsLeaf(page)) |
563 | 568 | { |
564 | | -/*theonly root can become non-leaf during relock */ |
| 569 | +/* only the root can become non-leaf during relock */ |
565 | 570 | LockBuffer(buffer,GIST_UNLOCK); |
566 | 571 | ReleaseBuffer(buffer); |
567 | 572 | /* one more check */ |
@@ -649,7 +654,6 @@ gistbulkdelete(PG_FUNCTION_ARGS) |
649 | 654 | LockBuffer(buffer,GIST_UNLOCK); |
650 | 655 | ReleaseBuffer(buffer); |
651 | 656 |
|
652 | | - |
653 | 657 | ptr=stack->next; |
654 | 658 | pfree(stack); |
655 | 659 | stack=ptr; |
|