wrong plpgsql's line counting 9.1

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема wrong plpgsql's line counting 9.1
Дата
Msg-id CAFj8pRAFKmqvwFi2isMaAEbNJR4YSGVUuCUK00QO=1RBO4=uww@mail.gmail.com
обсуждение исходный текст
Ответы Re: wrong plpgsql's line counting 9.1  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-hackers
Hello

I found a bug in plpgsql parser.


create table t(a int, b int);

postgres=# \sf fx
CREATE OR REPLACE FUNCTION public.fx()RETURNS voidLANGUAGE plpgsql
AS $function$
declare r record;
begin r := (10,20)::t; if true then   raise notice '% %', r.c, r.b; end if;
end;
$function$

postgres=# select fx();
ERROR:  record "r" has no field "c"
CONTEXT:  SQL statement "SELECT r.c"
PL/pgSQL function "fx" line 4 during function entry

it reports a bug on line 4, but it should to be 6

postgres=# \sf+ fx       CREATE OR REPLACE FUNCTION public.fx()        RETURNS void        LANGUAGE plpgsql
1       AS $function$
2       declare r record;
3       begin
4         r := (10,20)::t;
5         if true then
6           raise notice '% %', r.c, r.b;
7         end if;
8       end;
9       $function$

Regards

Pavel Stehule


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Kohei KaiGai
Дата:
Сообщение: Re: [v9.1] sepgsql - userspace access vector cache
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: wrong plpgsql's line counting 9.1