Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbfeede9

Browse files
committed
Don't crash on empty statements in SQL-standard function bodies.
gram.y should discard NULL pointers (empty statements) whenassembling a routine_body_stmt_list, as it does for othersorts of statement lists.Julien Rouhaud and Tom Lane, per report from Noah Misch.Discussion:https://postgr.es/m/20210606044418.GA297923@rfd.leadboat.com
1 parent37e1cce commitbfeede9

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

‎src/backend/parser/gram.y

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7990,7 +7990,11 @@ opt_routine_body:
79907990
routine_body_stmt_list:
79917991
routine_body_stmt_listroutine_body_stmt';'
79927992
{
7993-
$$ = lappend($1,$2);
7993+
/* As in stmtmulti, discard empty statements*/
7994+
if ($2 !=NULL)
7995+
$$ = lappend($1,$2);
7996+
else
7997+
$$ =$1;
79947998
}
79957999
|/*EMPTY*/
79968000
{

‎src/test/regress/expected/create_function_3.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ CREATE FUNCTION functest_S_3() RETURNS boolean
267267
RETURN false;
268268
CREATE FUNCTION functest_S_3a() RETURNS boolean
269269
BEGIN ATOMIC
270-
RETURN false;
270+
;;RETURN false;;
271271
END;
272272
CREATE FUNCTION functest_S_10(a text, b date) RETURNS boolean
273273
LANGUAGE SQL

‎src/test/regress/sql/create_function_3.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ CREATE FUNCTION functest_S_3() RETURNS boolean
165165
RETURN false;
166166
CREATEFUNCTIONfunctest_S_3a() RETURNSboolean
167167
BEGIN ATOMIC
168-
RETURN false;
168+
;;RETURN false;;
169169
END;
170170

171171
CREATEFUNCTIONfunctest_S_10(atext, bdate) RETURNSboolean

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp