Noah Misch <n...@leadboat.com> wrote: > The SQL commands I cited as responsible for creating or removing > the fork all make a new relfilenode anyway. Thus, "add" actually > means creating the fork with the new relfilenode, and "remove" > actually means omitting the fork from the new relfilenode. The > association between relfilenodes and relations is, of course, > transactional.
The same argument applies to the currently-committed code. The goal is to not change a matview between zero-length and non-zero length once the heap exists; but to only have this state change when REFRESH replaces the heap in the style of CLUSTER, TRUNCATE, ALTER TABLE with heap rewrite, or the new VACUUM FULL. -- Kevin Grittner EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers