aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/nbtree/nbtree.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2006-02-11 17:14:09 +0000
committerBruce Momjian <bruce@momjian.us>2006-02-11 17:14:09 +0000
commit77bb65d3fcdd2b588cec4b94af05e3d3f30e80cc (patch)
tree36929633459fe21c8eae3a03bfcdb1e1e5a6511d /src/backend/access/nbtree/nbtree.c
parentbf324946b32736da1b128b1e742515879b42a4e8 (diff)
downloadpostgresql-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.c21
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);