BUG #7866: even after T's child-tables are deleted it cannot have select-rule

From: tim(dot)romano(at)yahoo(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #7866: even after T's child-tables are deleted it cannot have select-rule
Date: 2013-02-10 12:27:22
Message-ID: E1U4W0A-0008FF-Ve@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 7866
Logged by: Tim Romano
Email address: tim(dot)romano(at)yahoo(dot)com
PostgreSQL version: 9.2.2
Operating system: Windows 7 x64
Description:

After a table has been inherited, a select-rule cannot be created on it
*even if its child tables are deleted and a vacuum is performed afterwards*.

Moreover, the select-rule documentation is vague and incomplete. Instead of
clear and concise definition, with a few simple examples illuminating a
variety of use cases, there is a long, unnecessarily complex, and not very
illuminating example.

create table RLS3
(tenant varchar(25) not null default current_user);
--Query returned successfully with no result in 10 ms.

create table customer
(id int primary key not null,
custname varchar(25) not null
) INHERITS (RLS3);
--NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
-- "customer_pkey" for table "customer"

CREATE RULE "_RETURN" AS ON SELECT TO RLS3
do instead select * from RLS3 where tenant=current_user;
--ERROR: could not convert table "rls3" to a view because it has child
tables

drop table customer;
Query returned successfully with no result in 11 ms.

CREATE RULE "_RETURN" AS ON SELECT TO RLS3
do instead select * from RLS3 where tenant=current_user;
--ERROR: could not convert table "rls3" to a view because it has child
tables

VACUUM;
--Query returned successfully with no result in 91 ms.

CREATE RULE "_RETURN" AS ON SELECT TO RLS3
do instead select * from RLS3 where tenant=current_user;

--ERROR: could not convert table "rls3" to a view because it has child
tables

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2013-02-10 15:17:37 Re: BUG #7866: even after T's child-tables are deleted it cannot have select-rule
Previous Message matti.aarnio 2013-02-09 20:25:39 BUG #7865: Unexpected error code on insert of duplicate to composite primary key