Re: SQL-standard function body

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: SQL-standard function body
Дата
Msg-id 993a2fe6-93b9-3364-21bb-6e2d8c0fde13@enterprisedb.com
обсуждение исходный текст
Ответ на Re: SQL-standard function body  (Julien Rouhaud <rjuju123@gmail.com>)
Ответы Re: SQL-standard function body  (Julien Rouhaud <rjuju123@gmail.com>)
Список pgsql-hackers
On 06.06.21 09:32, Julien Rouhaud wrote:
> On Sat, Jun 05, 2021 at 09:44:18PM -0700, Noah Misch wrote:
>> I get a NULL pointer dereference if the function body has a doubled semicolon:
>>
>>    create function f() returns int language sql begin atomic select 1;; end;
> 
> You don't even need a statements to reproduce the problem, a body containing
> only semi-colon(s) will behave the same.
> 
> Attached patch should fix the problem.

Your patch filters out empty statements at the parse transformation 
phase, so they are no longer present when you dump the body back out. 
So your edits in the test expected files don't fit.

I suggest we just prohibit empty statements at the parse stage.  I don't 
see a strong reason to allow them, and if we wanted to, we'd have to do 
more work, e.g., in ruleutils.c to print them back out correctly.

Вложения

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

Предыдущее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: Duplicate history file?
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: installcheck failure in indirect_toast with default_toast_compression = lz4