Skip site navigation (1) Skip section navigation (2)

BUG #6095: Misleading error message: INSERT has more expressions than target columns

From: "Gavin Flower" <gavin(dot)flower(at)archidevsys(dot)co(dot)nz>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6095: Misleading error message: INSERT has more expressions than target columns
Date: 2011-07-08 00:29:08
Message-ID: 201107080029.p680T8dO058681@wwwmaster.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      6095
Logged by:          Gavin Flower
Email address:      gavin(dot)flower(at)archidevsys(dot)co(dot)nz
PostgreSQL version: 9.1beta2
Operating system:   x86_64 Linux
Description:        Misleading error message: INSERT has more expressions
than target columns
Details: 

Using pg 9.1beta2 compiled using gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4),
on a 64 bit Linux system.

In the 'INSERT INTO' construct: I think that psql should first check that
the fields listed after the table name are valid, before checking that the
number of columns specified is sufficient for the number of expressions.  

Due to my poor eyesight: it took me a few minutes before I realized that I
had used a fullstop '.' rather than a comma ',' in the list of columns. 
There is neither a schema, nor a database, called 'id' - so I would have
thought that pg should have been able to detect the error.


DROP TABLE wage;

CREATE TABLE wage
(
    id  int PRIMARY KEY,
    pay numeric(5,2)
);

INSERT INTO wage (id. pay)
VALUES (1, 4.2);

TABLE wage;

//// output

$ psql < bug.sql
DROP TABLE
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "wage_pkey"
for table "wage"
CREATE TABLE
ERROR:  INSERT has more expressions than target columns
LINE 2: VALUES (1, 4.2);
                   ^
 id | pay 
----+-----
(0 rows)

$

Responses

pgsql-bugs by date

Next:From: Tom LaneDate: 2011-07-08 01:00:56
Subject: Re: BUG #6095: Misleading error message: INSERT has more expressions than target columns
Previous:From: kmxDate: 2011-07-07 23:51:16
Subject: PostgreSQL fails to build with 32bit MinGW-w64

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group