diff options
author | Bruce Momjian <bruce@momjian.us> | 2006-02-11 17:14:09 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2006-02-11 17:14:09 +0000 |
commit | 77bb65d3fcdd2b588cec4b94af05e3d3f30e80cc (patch) | |
tree | 36929633459fe21c8eae3a03bfcdb1e1e5a6511d /src/backend/access/nbtree/nbtree.c | |
parent | bf324946b32736da1b128b1e742515879b42a4e8 (diff) | |
download | postgresql-77bb65d3fcdd2b588cec4b94af05e3d3f30e80cc.tar.gz postgresql-77bb65d3fcdd2b588cec4b94af05e3d3f30e80cc.zip |
Revert based on Tom's recommendation:
> Allow VACUUM to complete faster by avoiding scanning the indexes when no
> rows were removed from the heap by the VACUUM.
Diffstat (limited to 'src/backend/access/nbtree/nbtree.c')
-rw-r--r-- | src/backend/access/nbtree/nbtree.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index e757c4adad1..4fb70302d7a 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -12,7 +12,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/nbtree/nbtree.c,v 1.137 2006/02/11 16:59:09 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/access/nbtree/nbtree.c,v 1.138 2006/02/11 17:14:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -543,9 +543,8 @@ btbulkdelete(PG_FUNCTION_ARGS) double num_index_tuples; OffsetNumber deletable[MaxOffsetNumber]; int ndeletable; - Buffer buf = NULL; + Buffer buf; BlockNumber num_pages; - bool scanindex = true; tuples_removed = 0; num_index_tuples = 0; @@ -566,15 +565,8 @@ btbulkdelete(PG_FUNCTION_ARGS) * skip obtaining exclusive lock on empty pages though, since no indexscan * could be stopped on those. */ - if (callback_state) - { - buf = _bt_get_endpoint(rel, 0, false); - scanindex = BufferIsValid(buf); /* check for empty index */ - } - else - scanindex = false; - - if (scanindex) + buf = _bt_get_endpoint(rel, 0, false); + if (BufferIsValid(buf)) /* check for empty index */ { for (;;) { @@ -657,10 +649,7 @@ btbulkdelete(PG_FUNCTION_ARGS) result = (IndexBulkDeleteResult *) palloc0(sizeof(IndexBulkDeleteResult)); result->num_pages = num_pages; - if (scanindex) - result->num_index_tuples = num_index_tuples; - else - result->num_index_tuples = -1; + result->num_index_tuples = num_index_tuples; result->tuples_removed = tuples_removed; PG_RETURN_POINTER(result); |