BUG #5353: Bug in procedure When you modificate table - Mailing list pgsql-bugs

From Oleg
Subject BUG #5353: Bug in procedure When you modificate table
Date
Msg-id 201003010925.o219PTS4018705@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5353: Bug in procedure When you modificate table  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5353
Logged by:          Oleg
Email address:      serovov@gmail.com
PostgreSQL version: any
Operating system:   any
Description:        Bug in procedure When you modificate table
Details:

CREATE TYPE "buggy_enum_first" AS ENUM ( 'bug1', 'bug2', 'bug3' );

CREATE TABLE "bug_table" (
  "id" BIGINT NOT NULL,
  "buggy_enum_field" "buggy_enum_first" DEFAULT 'bug1'::buggy_enum_first NOT
NULL,
  CONSTRAINT "test_table_pkey" PRIMARY KEY("id")
) WITHOUT OIDS;


CREATE FUNCTION buggy_procedure() RETURNS SETOF bug_table
    AS $$
BEGIN
    -- @todo hide password
    RETURN QUERY (
        SELECT *
        FROM bug_table
    );
END;
$$
    LANGUAGE plpgsql STRICT SECURITY DEFINER;

SELECT * FROM buggy_procedure(); -- All Okey

DROP TYPE buggy_enum_first CASCADE;
CREATE TYPE "buggy_enum_second" AS ENUM ( 'bug1', 'bug2', 'bug3' );
ALTER TABLE bug_table ADD COLUMN buggy_enum_field buggy_enum_second;

SELECT * FROM buggy_procedure(); -- Bug

/*
ERROR:  structure of query does not match function result type
CONTEXT:  PL/pgSQL function "buggy_procedure" line 3 at RETURN QUERY*/

pgsql-bugs by date:

Previous
From: Oleg Serov
Date:
Subject: Re: Bug in PL/PgSQL "SELECT .. INTO" statement parser
Next
From: Oleg Serov
Date:
Subject: Re: Bug in procedure When you modificate table