submitted as #5353 2010/2/26 Oleg Serov <sero...@gmail.com>
> Hey, anybody will answer here? > > 2008/7/4 Oleg Serov <sero...@gmail.com> > > SQL BUG CODE: >> BEGIN; >> SELECT version(); -- "PostgreSQL 8.3.3 on i686-redhat-linux-gnu, compiled >> by GCC gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)" >> 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 >> ROLLBACK; >> /*NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index >> "test_table_pkey" for table "bug_table"Результат запроса с отброшенным >> числом строк: 1. >> >> NOTICE: drop cascades to default for table bug_table column >> buggy_enum_fieldNOTICE: drop cascades to table bug_table column >> buggy_enum_field >> ERROR: structure of query does not match function result type >> CONTEXT: PL/pgSQL function "buggy_procedure" line 3 at RETURN QUERY*/ >> >> >> >> >> > > > -- > С уважением > > Олег Серов > -- С уважением Олег Серов