From: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> |
---|---|
To: | pgsql-patches(at)postgresql(dot)org |
Subject: | create or replace rule/view |
Date: | 2002-08-11 17:22:08 |
Message-ID: | Pine.LNX.4.21.0208120314450.17818-101000@linuxworld.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Attached is a patch implementing:
create or replace rule ...
create or replace view ...
It passes all regression tests. There's only one really sketchy part of
the patch: UpdateAttributeTuples(). This routine is fairly dangerous since
it simply removes a given relid's pg_attribute entries and creates a new
set basic on a given TupleDesc. Naturally, it is only useful for views.
It is important to have this functionality so that you can do something
like:
template1=# create view abc as select 'test'::text as a;
CREATE VIEW
template1=# select * from abc;
a
------
test
(1 row)
template1=# create or replace view abc as select '1'::int2 as a;
CREATE VIEW
template1=# select * from abc;
a
---
1
(1 row)
Regardless, the patch may need some cleaning up. Unfortunately, I don't
have enough time on my hands over the coming week. Considering beta is
coming up I thought it best to submit and see what happens.
Gavin
Attachment | Content-Type | Size |
---|---|---|
crv.diff.gz | application/x-gzip | 5.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2002-08-11 17:40:51 | Re: create or replace rule/view |
Previous Message | Joe Conway | 2002-08-11 17:15:43 | Re: [GENERAL] workaround for lack of REPLACE() function |