Hi
2016-09-21 5:51 GMT+02:00 <zoulx1982@163.com>:
> The following bug has been logged on the website:
>
> Bug reference: 14330
> Logged by: lx zou
> Email address: zoulx1982@163.com
> PostgreSQL version: 9.5.1
> Operating system: win7 6.1.7601
> Description:
>
> Hi,
> when i use composite type in plpgsql, i found it does't work when i
> select a composite type column into a composite type variable.
> But it can work well when i use another style like this:
> select (y).a,(y).b into tmp from t....
> following is a full example. Thanks.
>
> create type mytype(a int, b text);
> create table mytab(x int, y mytype);
> insert into mytab values(1, (1, 'abcd'));
> do $$
> declare
> tmp mytype;
> begin
> --ERROR: invalid input syntax for integer: "(1,asddd)"
> --CONTEXT: PL/pgSQL function inline_code_block line 6 at SQL
> statement
> select y into strict tmp from mytab;
> raise notice '%,%', (tmp).a, (tmp).b;
> end;
> $$;
>
It is not bug - although I understand so this behave is not unfriendly. The
pattern composite var := composite value is not supported due possible
ambiguous assignment internally in PLpgSQL implementation.
Regards
Pavel Stehule
>
> It is no
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>