Apologies, but this sub-thread got lost when I changed email
accounts. I found it in a final review to make sure nothing had
fallen through the cracks.
Noah Misch <noah@leadboat.com> wrote:
> On Thu, Jan 24, 2013 at 01:09:28PM -0500, Noah Misch wrote:
>> There's no documented support for table constraints on MVs, but
>> UNIQUE constraints are permitted:
>>
>> [local] test=# alter materialized view mymv add unique (c);
>> ALTER MATERIALIZED VIEW
Fix pushed.
> Also, could you explain the use of RelationCacheInvalidateEntry()
> in ExecRefreshMatView()? CacheInvalidateRelcacheByRelid()
> followed by CommandCounterIncrement() is the typical pattern;
> this is novel. I suspect, though, neither is necessary now that
> the relcache does not maintain populated status based on a fork
> size reading.
Yeah, that was part of the attempt to support unlogged materialized
views while also not returning bogus results if the view had not
been populated, using heap file size. I agree that this line can
just come out. If there are no objections real soon now, I will
remove it in master and the 9.3 branch before the release
candidate.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company