Re: check_function_bodies not doing much

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: check_function_bodies not doing much
Дата
Msg-id 14795.1533670290@sss.pgh.pa.us
обсуждение исходный текст
Ответ на check_function_bodies not doing much  (Marcelo Lacerda <marceloslacerda@gmail.com>)
Ответы Re: check_function_bodies not doing much  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: check_function_bodies not doing much  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-general
Marcelo Lacerda <marceloslacerda@gmail.com> writes:
> I was trying to get postgres to warn me that I'm referencing a table that
> it doesn't exists inside a function so I was told on the IRC to check the
> setting "check_function_bodies", however when I use it in a plpgsql
> function it doesn't actually check if the tables in the body exist. Is this
> the correct behavior?

Yes.  It's supposed to be a syntax check, not a check that the function
would work when executed.  (Depending on the particular PL you're using,
which you didn't mention, it might be a pretty weak syntax check too.)

An example of why a thorough check would be inadvisable is that a trigger
function might contain references to OLD and NEW that are in code paths
protected by checks on the trigger event type.  That could be perfectly
OK, but a static check couldn't tell.

I believe there are some external tools floating around that check things
more aggressively, and hence with a higher rate of false positives.

            regards, tom lane


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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: check_function_bodies not doing much
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: check_function_bodies not doing much