Re: SQL-standard function body - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: SQL-standard function body
Date
Msg-id 993a2fe6-93b9-3364-21bb-6e2d8c0fde13@enterprisedb.com
Whole thread Raw
In response to Re: SQL-standard function body  (Julien Rouhaud <rjuju123@gmail.com>)
Responses Re: SQL-standard function body
List 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.

Attachment

pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: Duplicate history file?
Next
From: Michael Paquier
Date:
Subject: Re: installcheck failure in indirect_toast with default_toast_compression = lz4