Re: plpgsql doesn't check a number of expressions and number of target variables correctly - Mailing list pgsql-bugs

From Pavel Stehule
Subject Re: plpgsql doesn't check a number of expressions and number of target variables correctly
Date
Msg-id CAFj8pRDGjHYVdZbadEMWDxPCih12yF=P13DVHUbbzrjnLYfpmQ@mail.gmail.com
Whole thread Raw
In response to Re: plpgsql doesn't check a number of expressions and number of target variables correctly  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
2012/3/5 Tom Lane <tgl@sss.pgh.pa.us>:
> Pavel Stehule <pavel.stehule@gmail.com> writes:
>> Hello
>> I found a plpgsql bug:
>
>> create or replace function fx()
>> returns void as $$
>> declare a int; b int;
>> begin
>> =C2=A0 select 10,20 into a;
>> end;
>> $$ language plpgsql;
>
>> this is bug, or minimally potential source of strange behave.
>
> AFAICS this is intentional --- see the comment in exec_move_row.
>
> In any case, I think tightening it up is more likely to break working
> applications than do anything helpful.

I agree with you about break working application :( But this is good
example what should be checked in CHECK statement.

but it should be bug - it has no sense - no in this form - it is
assign row to scalar.

I found a some mysterious and very difficult identified bugs in one
application based on this behave.

Regards

Pavel

>
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0regards, tom lane

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: plpgsql doesn't check a number of expressions and number of target variables correctly
Next
From: Euler Taveira de Oliveira
Date:
Subject: Re: BUG #6519: Server doesn't listem