Fix pgstat_heap() to not be broken by syncscans starting from a block

higher than zero.  Same problem as just detected in CREATE INDEX
CONCURRENTLY.
This commit is contained in:
Tom Lane 2008-01-14 02:53:31 +00:00
parent 66661858ae
commit b775d93acb
1 changed files with 3 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/*
* $PostgreSQL: pgsql/contrib/pgstattuple/pgstattuple.c,v 1.31 2007/10/22 17:29:35 tgl Exp $
* $PostgreSQL: pgsql/contrib/pgstattuple/pgstattuple.c,v 1.32 2008/01/14 02:53:31 tgl Exp $
*
* Copyright (c) 2001,2002 Tatsuo Ishii
*
@ -255,7 +255,8 @@ pgstat_heap(Relation rel, FunctionCallInfo fcinfo)
Buffer buffer;
pgstattuple_type stat = {0};
scan = heap_beginscan(rel, SnapshotAny, 0, NULL);
/* Disable syncscan because we assume we scan from block zero upwards */
scan = heap_beginscan_strat(rel, SnapshotAny, 0, NULL, true, false);
nblocks = scan->rs_nblocks; /* # blocks to be scanned */