Re: Question about function body checking and 8.1

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Question about function body checking and 8.1
Дата
Msg-id 10863.1111517280@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Question about function body checking and 8.1  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Список pgsql-general
Alvaro Herrera <alvherre@dcc.uchile.cl> writes:
> alvherre=# create function test_syntax() returns void language plpgsql as 'begin zelect 1; return; end';
> CREATE FUNCTION
> alvherre=# select test_syntax();
> ERROR:  error de sintaxis en o cerca de �zelect� en el car�cter 1
> QUERY:  zelect 1
> CONTEXT:  PL/pgSQL function "test_syntax" line 1 at SQL statement
> LINEA 1: zelect 1
>          ^
> alvherre=#

Of course, Neil fixed that one already.  It's still true that plpgsql
doesn't do any *semantic* analysis to speak of at function definition
time.  I gather that Tony's users are looking for more than bare syntax
checking.

I'm not sure how much we could really do though; the obvious idea of
trying to test-plan each query in the function will fail on cases like

    begin
        create temp table foo ...;
        insert into foo ...;

(And before you object that that doesn't work anyway, it probably will
once Neil gets done with cached-plan invalidation.)

            regards, tom lane

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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Question about function body checking and 8.1
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Changing constraints to deferrable