From: | Stephen Quinney <stephen(dot)quinney(at)computing-services(dot)oxford(dot)ac(dot)uk> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Bug in functions returning setof where table has dropped column |
Date: | 2004-01-12 10:15:33 |
Message-ID: | 20040112101533.GA24897@computing-services.oxford.ac.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
I originally sent to this to the pgsql-general mailing list as I was
not sure if this was a bug or not. It seems likely that it is so I am
sending it on to here.
I create a table called wibble:
CREATE TABLE wibble (a integer, b integer);
I insert some data:
INSERT INTO wibble VALUES (1,1);
I decide that actually I want column b to be a BIGINT, so I do:
ALTER TABLE wibble ADD COLUMN c BIGINT;
UPDATE wibble SET c = b;
ALTER TABLE wibble DROP COLUMN b;
ALTER TABLE wibble RENAME c TO b;
I have written a function which shows fairly simply my problem.
CREATE FUNCTION foobar() RETURNS SETOF wibble AS
'SELECT * FROM wibble' LANGUAGE SQL;
Doing 'select * from foobar();' gives me the error:
ERROR: query-specified return row and actual function return row do not
match
I have tested it on other tables where I have not messed around with
any columns like this and it does not occur for them.
I am using postgresql 7.4.1 on Debian sid/unstable (i386).
Thanks in advance,
Stephen Quinney
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2004-01-12 13:23:48 | PQconndefaults() error, don't show PGCLIENTENCODING |
Previous Message | Denis N. Stepanov | 2004-01-12 08:27:22 | Re: BUG #1044: snprintf() shipped with PostgreSQL is not |