Hi

In playing with materialized views, I noticed that they still seem to
have an _RETURN rule implicitly created like a regular view. This
doesn't seem right to me - is there a reason?

viper:~ dpage$ /usr/local/pgsql-9.3/bin/psql -p 5433 -U postgres
psql (9.3beta1)
Type "help" for help.

postgres=# CREATE MATERIALIZED VIEW ruletest AS SELECT * FROM pg_class;
SELECT 298
postgres=# SELECT pg_get_ruledef(oid) FROM pg_rewrite WHERE ev_class =
'ruletest'::regclass;
                         pg_get_ruledef
-----------------------------------------------------------------
 CREATE RULE "_RETURN" AS                                       +
     ON SELECT TO ruletest DO INSTEAD  SELECT pg_class.relname, +
     pg_class.relnamespace,                                     +
     pg_class.reltype,                                          +
     pg_class.reloftype,                                        +
     pg_class.relowner,                                         +
     pg_class.relam,                                            +
     pg_class.relfilenode,                                      +
     pg_class.reltablespace,                                    +
     pg_class.relpages,                                         +
     pg_class.reltuples,                                        +
     pg_class.relallvisible,                                    +
     pg_class.reltoastrelid,                                    +
     pg_class.reltoastidxid,                                    +
     pg_class.relhasindex,                                      +
     pg_class.relisshared,                                      +
     pg_class.relpersistence,                                   +
     pg_class.relkind,                                          +
     pg_class.relnatts,                                         +
     pg_class.relchecks,                                        +
     pg_class.relhasoids,                                       +
     pg_class.relhaspkey,                                       +
     pg_class.relhasrules,                                      +
     pg_class.relhastriggers,                                   +
     pg_class.relhassubclass,                                   +
     pg_class.relispopulated,                                   +
     pg_class.relfrozenxid,                                     +
     pg_class.relminmxid,                                       +
     pg_class.relacl,                                           +
     pg_class.reloptions                                        +
    FROM pg_class;
(1 row)


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: 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