Re: matview scannability rehash (was Re: Drastic performance loss in assert-enabled build in HEAD)

From: Kevin Grittner <kgrittn(at)ymail(dot)com>
To: Noah Misch <noah(at)leadboat(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: matview scannability rehash (was Re: Drastic performance loss in assert-enabled build in HEAD)
Date: 2013-04-05 14:00:38
Message-ID: 1365170438.21865.YahooMailNeo@web162903.mail.bf1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Noah Misch <noah(at)leadboat(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2013-04-05 14:27:19 Re: matview scannability rehash (was Re: Drastic performance loss in assert-enabled build in HEAD)
Previous Message Kevin Grittner 2013-04-05 13:40:45 Re: Drastic performance loss in assert-enabled build in HEAD