Hello!? anybody will fix this bug? Hey!

On Mon, Feb 23, 2009 at 5:11 PM, Oleg <sero...@gmail.com> wrote:

>
> The following bug has been logged online:
>
> Bug reference:      4673
> Logged by:          Oleg
> Email address:      sero...@gmail.com
> PostgreSQL version: 8.3.6
> Operating system:   i686-redhat-linux-gnu
> Description:        pl/PgSQL: Bug, when updating changed composite types.
> Details:
>
> If you added a field into composite type(table type), plpgsql won't update
> it, until you recompile function.
>
> DEMO SQL:
>
> ROLLBACK;
> BEGIN;
> CREATE TABLE bug_composite (
>        column_a INT,
>        column_b INT
> );
>
> CREATE TABLE bug_parent (
>        id INT,
>        info bug_composite
> );
>
> INSERT INTO bug_parent(id, info) VALUES (1, ROW(1, 2));
>
> CREATE OR REPLACE FUNCTION bug_update(r bug_parent) RETURNS void
> AS
> $BODY$
> BEGIN
>        UPDATE bug_parent
>                SET info = r.info
>                WHERE id = r.id;
> END;
> $BODY$ LANGUAGE 'plpgsql' VOLATILE;
>
> SELECT bug_update(ROW(1, ROW(3, 5)));
>
> SELECT * FROM bug_parent; -- WE WILL HAVE ROW(1, ROW(3, 5));
>
> ALTER TABLE bug_composite ADD COLUMN column_c INT;
>
> SELECT * FROM bug_parent; -- WE WILL HAVE ROW(1, ROW(3, 5, NULL));
>
> SELECT bug_update(ROW(1, ROW(4, 6, 9)));
>
> SELECT * FROM bug_parent; -- WE WILL HAVE ROW(1, ROW(4, 6, NULL));
>
> SELECT version(); -- "PostgreSQL 8.3.6 on i686-redhat-linux-gnu, compiled
> by
> GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)"
>
> --
> 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