Обсуждение: BUG #6306: sql parser: weird behaviour when selecting tablename.'name' from a table
The following bug has been logged online: Bug reference: 6306 Logged by: Email address: karacho@kommespaeter.de PostgreSQL version: 8.4 Operating system: Windows XP Description: sql parser: weird behaviour when selecting tablename.'name' from a table Details: Selecting (nonexistant) column 'name' or 'varchar' results in an error. Selecting qualified nonexistant columns 'name' or 'varchar', you get the record as record. The view definition shows * casted to name or varchar. db=# create temp table tmp_table (a int, b text); CREATE TABLE db=# create view v_tmp as select name from tmp_table; FEHLER: Spalte »name« existiert nicht ZEILE 1: create view v_tmp as select name from tmp_table; ^ db=# create view v_tmp as select tmp_table.name, tmp_table.varchar from tmp_table; HINWEIS: Sicht »v_tmp« wird eine temporäre Sicht CREATE VIEW db=# \d v_tmp Sicht »pg_temp_1.v_tmp« Spalte | Typ | Attribute ---------+-------------------+----------- name | name | varchar | character varying | Sichtdefinition: SELECT tmp_table.*::name AS name, tmp_table.*::character varying AS "varchar" FROM tmp_table;
Re: BUG #6306: sql parser: weird behaviour when selecting tablename.'name' from a table
От
Heikki Linnakangas
Дата:
On 24.11.2011 11:44, karacho@kommespaeter.de wrote: > PostgreSQL version: 8.4 > ... > Selecting (nonexistant) column 'name' or 'varchar' results in an error. > Selecting qualified nonexistant columns 'name' or 'varchar', you get the > record as record. The view definition shows * casted to name or varchar. > > db=# create temp table tmp_table (a int, b text); > CREATE TABLE > db=# create view v_tmp as select name from tmp_table; > FEHLER: Spalte »name« existiert nicht > ZEILE 1: create view v_tmp as select name from tmp_table; > ^ > db=# create view v_tmp as select tmp_table.name, tmp_table.varchar from > tmp_table; See: http://archives.postgresql.org/pgsql-sql/2011-08/msg00028.php -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com