Re: WIP: Automatic view update rules

Поиск
Список
Период
Сортировка
От Bernd Helmle
Тема Re: WIP: Automatic view update rules
Дата
Msg-id 61043.91.48.33.48.1230474598.squirrel@tooney.at.xencon.de
обсуждение исходный текст
Ответ на Re: WIP: Automatic view update rules  ("Jaime Casanova" <jcasanov@systemguards.com.ec>)
Ответы Re: WIP: Automatic view update rules  ("Jaime Casanova" <jcasanov@systemguards.com.ec>)
Re: WIP: Automatic view update rules  (Bernd Helmle <mailings@oopsware.de>)
Список pgsql-hackers
> On Mon, Dec 22, 2008 at 8:53 AM, Bernd Helmle <mailings@oopsware.de>
> wrote:
>> --On Mittwoch, November 26, 2008 10:54:01 +0100 Bernd Helmle
>> <mailings@oopsware.de> wrote:
>>
>> Okay, i've finally managed to create an updated version with (hopefully)
>> all
>> issues mentioned by Robert adressed.
>>
>
> Hi Bernd,
>
> 1) i found a crash type bug, try this:
>
> create table foo (
>     id  integer     not null    primary key,
>     name    varchar(30)
> ) with oids;
>
> create view foo_view as select oid, * from foo;
>
> with this you will get an error like this one:
> ERROR:  RETURNING list's entry 1 has different type from column "oid"
>

Hrm, seems i've introduced a bug while implementing RETURNING support.

> but if you make this:
>
> alter table foo add column description text;
> create view foo_view as select oid, * from foo;
>
> then, the server crash.
>
> STATEMENT:  create or replace view v_foo as select oid, * from foo;
> LOG:  server process (PID 16320) was terminated by signal 11: Segmentation
> fault
> LOG:  terminating any other active server processes
>
> maybe the better solution is to not allow such a view to be updatable
>

Yes, it seems we have to check for target lists having negative attnums in
checkTree(). Another solution would be to simply ignore those columns
(extract them from the target list and include all updatable columns
only).

> 2) Another less important bug, the WITH CHECK OPTION is accepted even
> when that functionality is not implemented.
>
> updatable_views=# create or replace view v2 as select * from foo where
> id < 10 with check option;
> NOTICE:  CREATE VIEW will create implicit INSERT/UPDATE/DELETE rules
> CREATE VIEW
>

What do we want in this case? We can throw an error telling that CHECK
OPTION isn't supported yet or simply issueing a warning.

> 3) one final point: seems like you'll have to update the rules
> regression test (attached the regression.diffs)

okay

Thanks for the review so far.

Bernd




В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Robert Haas"
Дата:
Сообщение: Re: WIP: Automatic view update rules
Следующее
От: "David Rowley"
Дата:
Сообщение: Re: Windowing Function Patch Review -> Standard Conformance