BUG #5030: Problem on "RETURN QUERY EXECUTE" when a column is dropped from a table - Mailing list pgsql-bugs

From Armando Taffarel Neto
Subject BUG #5030: Problem on "RETURN QUERY EXECUTE" when a column is dropped from a table
Date
Msg-id 200909021725.n82HPiHu018379@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5030: Problem on "RETURN QUERY EXECUTE" when a column is dropped from a table  (Jaime Casanova <jcasanov@systemguards.com.ec>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5030
Logged by:          Armando Taffarel Neto
Email address:      taffarel@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

pgsql-bugs by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: BUG #5028: CASE returns ELSE value always when type is"char"
Next
From: Sam Mason
Date:
Subject: Re: BUG #5028: CASE returns ELSE value always when type is"char"