End of package body not detected with Oracle
See original GitHub issueWhich version and edition of Flyway are you using?
Flyway 6.4.0 (currently the latest)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Maven Plugin
Which database are you using (type & version)?
Oracle 18.0
Which operating system are you using?
Windows
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
Try to run the following migration script:
CREATE OR REPLACE PACKAGE my_package AS
PROCEDURE my_procedure (a IN VARCHAR2 DEFAULT NULL);
END;
/
CREATE OR REPLACE PACKAGE BODY my_package AS
PROCEDURE my_procedure (a IN VARCHAR2 DEFAULT NULL) IS
BEGIN
dbms_output.put_line(a);
END;
BEGIN
my_procedure('test');
END;
/
CREATE TABLE my_table (
my_column NUMBER(1)
);
What did you expect to see?
I expect to see no error and the package “my_package” and the table “my_table” created.
What did you see instead?
The following error:
[WARNING] DB: Warning: Ausführung mit Warnung abgeschlossen (SQL State: 99999 - Error Code: 17110)
And the table my_table
is not created.
Using the debug mode, I see that the end of the package body is not recognized and Flyway try to execute the create package body
and create table
together as a single statement.
If I run the migration script using Toad, there is no error and everything is created correctly.
Issue Analytics
- State:
- Created 3 years ago
- Comments:5 (3 by maintainers)
This should be fixed by this commit https://github.com/flyway/flyway/commit/a29024b818f2bee728d192dcbbf65f406a219cfe and released in Flyway 6.4.1 (sometime next week)
Thank you 👍