Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/sql.extensions/README.packages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Syntax:
PROCEDURE <name> [( <parameters> ) [RETURNS ( <parameters> )]]

<package_body> ::=
{ CREATE | RECREATE } PACKAGE BODY <name>
{ CREATE [OR ALTER] | ALTER | RECREATE } PACKAGE BODY <name>
AS
BEGIN
[ <package_item> ... ]
Expand Down
2 changes: 1 addition & 1 deletion src/dsql/parse-conflicts.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
115 shift/reduce conflicts, 22 reduce/reduce conflicts.
117 shift/reduce conflicts, 22 reduce/reduce conflicts.
9 changes: 9 additions & 0 deletions src/dsql/parse.y
Original file line number Diff line number Diff line change
Expand Up @@ -863,6 +863,7 @@ using namespace Firebird;
Jrd::SetDecFloatTrapsNode* setDecFloatTrapsNode;
Jrd::SetBindNode* setBindNode;
Jrd::SessionResetNode* sessionResetNode;
Jrd::RecreatePackageBodyNode* recreatePackageBodyNode;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this declaration be eliminated if you declare replace_package_body_clause to return a ddlNode?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea

}

%include types.y
Expand Down Expand Up @@ -1711,6 +1712,7 @@ replace_clause
| FUNCTION replace_function_clause { $$ = $2; }
| TRIGGER replace_trigger_clause { $$ = $2; }
| PACKAGE replace_package_clause { $$ = $2; }
| PACKAGE BODY replace_package_body_clause { $$ = $3; }
| VIEW replace_view_clause { $$ = $2; }
| EXCEPTION replace_exception_clause { $$ = $2; }
| GENERATOR replace_sequence_clause { $$ = $2; }
Expand Down Expand Up @@ -3228,6 +3230,12 @@ package_body_item
;


%type <recreatePackageBodyNode> replace_package_body_clause
replace_package_body_clause
: package_body_clause
{ $$ = newNode<RecreatePackageBodyNode>($1); }
;

%type <localDeclarationsNode> local_declarations_opt
local_declarations_opt
: local_forward_declarations_opt local_nonforward_declarations_opt
Expand Down Expand Up @@ -4294,6 +4302,7 @@ alter_clause
| TRIGGER alter_trigger_clause { $$ = $2; }
| PROCEDURE alter_procedure_clause { $$ = $2; }
| PACKAGE alter_package_clause { $$ = $2; }
| PACKAGE BODY replace_package_body_clause { $$ = $3; }
| DATABASE
{ $<alterDatabaseNode>$ = newNode<AlterDatabaseNode>(); }
alter_db($<alterDatabaseNode>2)
Expand Down
Loading