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;