[HACKERS] pg_rules view

2003-01-11 Thread Christopher Kings-Lynne
I tried creating a rule like:

create rule _RETURN as on select to asfd do instead select * from blah;

And it worked.

But it doesn't appear in pg_rules.

I created this one:

create rule myrule as on insert to asfd do instead nothing;

And it does appear:

test=# select * from pg_rules ;
 schemaname |  tablename  |   rulename|
definition
+-+---+-
 pg_catalog | pg_settings | pg_settings_n | CREATE RULE pg_settings_n AS
ON UPDATE TO pg_settings DO INSTEAD NOTHING;
 pg_catalog | pg_settings | pg_settings_u | CREATE RULE pg_settings_u AS
ON UPDATE TO pg_settings WHERE (new.name = old.name) DO SELECT
set_config(old.name, new.setting, false) AS set_config;
 chriskl| asfd| myrule| CREATE RULE myrule AS ON
INSERT TO asfd DO INSTEAD NOTHING;
(3 rows)

What gives?

Chris



---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] pg_rules view

2003-01-11 Thread Tom Lane
Christopher Kings-Lynne [EMAIL PROTECTED] writes:
 I tried creating a rule like:
 create rule _RETURN as on select to asfd do instead select * from blah;
 And it worked.
 But it doesn't appear in pg_rules.

That's by design.  pg_rules suppresses view rules.  You'll find asfd in
pg_views, instead.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]