Robert Haas <robertmh...@gmail.com> wrote:

> Oracle has (FWICT) had materialized views since 8i (1999)

8i was when they expanded beyond requiring a manual refresh, and
changed the name of the feature from "snapshot" to "materialized
view".  I'm not sure how long they had "snapshots" before 8i.

> Microsoft SQL Server ... you can't build them deferred, so the
> question of what data you'd see if you could doesn't arise.

> in SQL Anywhere and DB2, it seems that it works the way you've
> implemented it

Sybase ASE, which is probably a better comparison than Sybase SQL
Anywhere, has the concept, too:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1572/html/commands/commands31.htm

See the populate | nonpopulate section.  If not populated, you
can't enable it for operations.

> MySQL ... doesn't seem to support materialized views at all.

Correct.

> the fact that Oracle has [...] not felt compelled to add a flag
> of this type, suggests to me that the feature can't be considered
> mandatory for a minimal implementation.

It seems to me pretty fundamental to have a way to avoid quietly
generating completely bogus results, whether or not one other
vendor has decided it doesn't matter.  It's not like they are
completely without the concept of "freshness" (or, as they seem to
express it, "staleness").  If you build with DEFERRED that property
of the matview is set to UNUSABLE; but in their world that doesn't
mean it's unusable by direct reference -- only for automatic query
rewrites.

--
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

Reply via email to