Bug in functions returning setof where table has dropped column? - Mailing list pgsql-general

From Stephen Quinney
Subject Bug in functions returning setof where table has dropped column?
Date
Msg-id 20040110181228.GA17882@computing-services.oxford.ac.uk
Whole thread Raw
Responses Re: Bug in functions returning setof where table has dropped column?
List pgsql-general
I really cannot tell if this is a bug or I am just doing something
stupid.

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).

I would love to know what I have done wrong here, if this is not a bug.

Thanks in advance,

Stephen Quinney


pgsql-general by date:

Previous
From: Joe Conway
Date:
Subject: Re: Hierarchical queries
Next
From: Bruno Wolff III
Date:
Subject: Re: no space left on device