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 по дате отправления: