The following bug has been logged online:

Bug reference:      5030
Logged by:          Armando Taffarel Neto
Email address:      taffa...@solis.coop.br
PostgreSQL version: 8.4.0
Operating system:   Linux Ubuntu 9.04
Description:        Problem on "RETURN QUERY EXECUTE" when a column is
dropped from a table
Details: 

CREATE TABLE foo (f1 int, f2 int);

CREATE OR REPLACE FUNCTION test_foo() RETURNS SETOF foo AS $$
DECLARE
    query varchar;
BEGIN
    query := 'SELECT * FROM foo';
    RETURN QUERY EXECUTE query;
END;
$$ LANGUAGE plpgsql;

SELECT * FROM test_foo(); --OK

ALTER TABLE foo DROP COLUMN f2;

CREATE OR REPLACE FUNCTION test_foo() RETURNS SETOF foo AS $$
DECLARE
    query varchar;
BEGIN
    query := 'SELECT * FROM foo';
    RETURN QUERY EXECUTE query;
END;
$$ LANGUAGE plpgsql;

SELECT * FROM test_foo();
ERROR:  structure of query does not match function result type
DETAIL:  Number of returned columns (1) does not match expected column count
(2).
CONTEXT:  PL/pgSQL function "test_foo" line 5 at RETURN QUERY

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to