1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-06 18:42:54 +03:00

Repair possible failure to update hint bits back to disk, per

http://archives.postgresql.org/pgsql-hackers/2004-10/msg00464.php.
I plan a more permanent fix in HEAD, but for the back branches it seems
best to just touch the places that actually have a problem.
This commit is contained in:
Tom Lane
2004-10-13 22:22:22 +00:00
parent 8a9b331c32
commit 78c0692b15
3 changed files with 26 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
/*
* $Header: /cvsroot/pgsql/contrib/pgstattuple/pgstattuple.c,v 1.9 2002/09/04 20:31:08 momjian Exp $
* $Header: /cvsroot/pgsql/contrib/pgstattuple/pgstattuple.c,v 1.9.2.1 2004/10/13 22:22:20 tgl Exp $
*
* Copyright (c) 2001,2002 Tatsuo Ishii
*
@@ -103,6 +103,9 @@ pgstattuple(PG_FUNCTION_ARGS)
/* scan the relation */
while ((tuple = heap_getnext(scan, ForwardScanDirection)) != NULL)
{
uint16 sv_infomask;
sv_infomask = tuple->t_data->t_infomask;
if (HeapTupleSatisfiesNow(tuple->t_data))
{
tuple_len += tuple->t_len;
@@ -113,6 +116,8 @@ pgstattuple(PG_FUNCTION_ARGS)
dead_tuple_len += tuple->t_len;
dead_tuple_count++;
}
if (sv_infomask != tuple->t_data->t_infomask)
SetBufferCommitInfoNeedsSave(scan->rs_cbuf);
/*
* To avoid physically reading the table twice, try to do the