Re: Bug in 7.1.3 and 7.2?
От | Tom Lane |
---|---|
Тема | Re: Bug in 7.1.3 and 7.2? |
Дата | |
Msg-id | 19174.1005279988@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Bug in 7.1.3 and 7.2? (Hans-Jürgen Schönig <hs@cybertec.at>) |
Список | pgsql-bugs |
Hans-Jürgen Schönig <hs@cybertec.at> writes: > test=# select a.*, d.* from a as c, b as d where a.id=b.id; > NOTICE: Adding missing FROM-clause entry for table "a" > NOTICE: Adding missing FROM-clause entry for table "b" > Althoug c and d are aliases for a and b, the two tables are added to the > list in the from clause. Is this the desired behaviour or is it a bug? This is not a bug. If the system treated different aliases for a table as interchangeable, then there'd be no possibility of doing a self-join. "a.*" is not a legal reference to a FROM entry "a as c": the AS alias *totally* hides the underlying table name as far as this query is concerned. What you have above is interpreted as from a as c, b as d, a as a, b as b The NOTICEs are intended to warn you that this is going on. If we took a hardline approach to enforcing the letter of the SQL92 standard, we'd reject this query as illegal: SQL92 doesn't allow implicit FROM entries. (And no, it doesn't think "a.*" refers to "a as something-else", either.) regards, tom lane
В списке pgsql-bugs по дате отправления: