| From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
|---|---|
| To: | Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | thw rewriter and default values, again |
| Date: | 2005-05-28 13:25:30 |
| Message-ID: | c2d9e70e05052806254304fb14@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi, here we go again...
As you know there is a problem executing something like:
create table foo (
col1 serial,
col2 int
);
create view v_foo as select * from foo;
create rule ins_rule as on insert to v_foo do instead
insert into foo(col1, col2) values (new.col1, new.col2);
insert into v_foo(col2) values (1);
this give an error like:
psql:f:/views.sql:13: ERROR: null value in column "col1" violates
not-null constraint
----
There is a workaround about this creating default values to the view.
Now, for updateable views we need this happen automatically, attached
there is a solution to this.
The only problem i have found until now is that
update v_foo set col1 = DEFAULT; execute nextval twice per every record.
so there will be a gasp between numbers, but AFAIK nextval has no guarantee
of returning sequential numbers.
Any comments on this?
--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
| Attachment | Content-Type | Size |
|---|---|---|
| rewriteHandler.patch | text/plain | 812 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jochem van Dieten | 2005-05-28 13:30:46 | Re: overlaps() does not work as expected? |
| Previous Message | Tom Lane | 2005-05-28 05:11:20 | Re: INOUT/OUT problems with IMMUTABLE |