Thread: pgsql: Remove unnecessary calls of FlushRelationBuffers: there is no
pgsql: Remove unnecessary calls of FlushRelationBuffers: there is no
From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message: ----------- Remove unnecessary calls of FlushRelationBuffers: there is no need to write out data that we are about to tell the filesystem to drop. smgr_internal_unlink already had a DropRelFileNodeBuffers call to get rid of dead buffers without a write after it's no longer possible to roll back the deleting transaction. Adding a similar call in smgrtruncate simplifies callers and makes the overall division of labor clearer. This patch removes the former behavior that VACUUM would write all dirty buffers of a relation unconditionally. Modified Files: -------------- pgsql/src/backend/access/nbtree: nbtree.c (r1.124 -> r1.125) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.124&r2=1.125) pgsql/src/backend/catalog: heap.c (r1.280 -> r1.281) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c.diff?r1=1.280&r2=1.281) index.c (r1.247 -> r1.248) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c.diff?r1=1.247&r2=1.248) pgsql/src/backend/commands: cluster.c (r1.132 -> r1.133) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/cluster.c.diff?r1=1.132&r2=1.133) tablecmds.c (r1.147 -> r1.148) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c.diff?r1=1.147&r2=1.148) vacuum.c (r1.304 -> r1.305) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c.diff?r1=1.304&r2=1.305) vacuumlazy.c (r1.50 -> r1.51) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuumlazy.c.diff?r1=1.50&r2=1.51) pgsql/src/backend/storage/buffer: bufmgr.c (r1.187 -> r1.188) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/bufmgr.c.diff?r1=1.187&r2=1.188) pgsql/src/backend/storage/smgr: smgr.c (r1.85 -> r1.86) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/smgr/smgr.c.diff?r1=1.85&r2=1.86) pgsql/src/include/storage: bufmgr.h (r1.92 -> r1.93) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/bufmgr.h.diff?r1=1.92&r2=1.93)