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 > -- С уважением Олег Серов