回复:Re: BUG #14330: can not select into `composite data types` in plpgsql
От | 自己 |
---|---|
Тема | 回复:Re: BUG #14330: can not select into `composite data types` in plpgsql |
Дата | |
Msg-id | 42e20ab1.c341.1574bc9c25b.Coremail.zoulx1982@163.com обсуждение исходный текст |
Ответ на | Re: BUG #14330: can not select into `composite data types` in plpgsql (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: BUG #14330: can not select into `composite data types`
in plpgsql
|
Список | pgsql-bugs |
> 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.
Thank you for your reply.
It seems work well for the pattern "composite var := composite value" in plpgsql body, but not in declare sestion(default value).
Besides this, i want to know if i want to implement this pattern, which part is difficult?
2016-09-21 15:12:33,"Pavel Stehule" <pavel.stehule@gmail.com>
Hi2016-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.RegardsPavel 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
В списке pgsql-bugs по дате отправления: