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