Re: Dropped index on table preventing rule creation - Mailing list pgsql-bugs

From Robert Haas
Subject Re: Dropped index on table preventing rule creation
Date
Msg-id C85619BB-735B-4821-9476-F2F489FD832C@gmail.com
Whole thread Raw
In response to Re: Dropped index on table preventing rule creation  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Dropped index on table preventing rule creation  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Sep 10, 2011, at 11:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>> I don't use rules, but in a bit of experimentation on Git master, I
>> discovered the following behaviour:
>=20
>> CREATE TABLE test1 (id serial primary key, things text);
>> CREATE TABLE test2 (id serial primary key, things text);
>> ALTER TABLE test1 DROP CONSTRAINT test1_pkey;
>> ALTER TABLE test2 DROP CONSTRAINT test2_pkey;
>> CREATE RULE "_RETURN" AS ON SELECT TO test1 DO INSTEAD select * from tes=
t2;
>=20
>> This produces the error message: could not convert table "test1" to a
>> view because it has indexes
>=20
> IIRC, this is because the check is just checking relhasindex.  You
> should be able to recover and create the rule if you VACUUM the table.
>=20
> We could no doubt add more code to make that more transparent, but I
> don't see the point.  The entire exercise of converting a table to a
> view is only meant to support loading of pg_dump output from versions
> that are probably ten years obsolete at this point.  We don't even
> document that you can do the above, do we?
>=20
> (IOW, rather than "fix" this I'd prefer to rip out the code altogether.
> But maybe we should wait a couple more years for that.)

IIRC, it's not dead code. I think you can still generate such a dump if you=
 use CREATE OR REPLACE VIEW to manufacture a pair of mutually recursive vie=
ws.

Now we should probably disallow that, but we currently don't.

...Robert

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: segfault using pg_options_to_table(), v9.0.4
Next
From: Tom Lane
Date:
Subject: Re: Dropped index on table preventing rule creation