Re: [HACKERS] Heads up: does RULES regress test still work for you?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [HACKERS] Heads up: does RULES regress test still work for you?
Дата
Msg-id 2968.927643077@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [HACKERS] Heads up: does RULES regress test still work for you?  (jwieck@debis.com (Jan Wieck))
Список pgsql-hackers
jwieck@debis.com (Jan Wieck) writes:
>> This is so weird, I can't even explain it.

>     I can reproduce it - yes totally weird :-)

>>>> Does the following indicate a bug? It sure is wierd. Maybe some of these
>>>> statements aren't supported by postgresql (??), but the outcome doesn't
>>>> make sense to me.
>>>> 
>>>> httpd=> CREATE TABLE x (y text);
>>>> CREATE
>>>> httpd=> CREATE VIEW z AS select * from x;
>>>> CREATE
>>>> httpd=> CREATE TABLE a (b text) INHERITS(z);
>>>> CREATE
>>>> httpd=> INSERT INTO x VALUES ('foo');
>>>> INSERT 168602 1
>>>> httpd=> select * from z*;
>>>> y
>>>> ---
>>>> foo
>>>> foo
>>>> (2 rows)
>>>> 
>>>> How did we suddenly get two rows??

Is it a bug?  It looks to me like a inherited z's view of x (and thus
when you selected from both a and z by using "z*", you got x's contents
twice).  Is that wrong?  If so, why?

If inheriting from a view is allowed at all (maybe it shouldn't be),
then I'd *expect* the view-ness to be inherited.

Offhand, given that tables and views are different kinds of things,
allowing a table to inherit from a view seems like a bad idea.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] 6.5 cvs: can't drop table
Следующее
От: Tom Lane
Дата:
Сообщение: INSERT INTO view means what exactly?