Hello!
in SQLcl 25.1 I ran into an interesting bug when trying to add a custom-changeset:
SQL> project stage add-custom -file-name d_ergebnis_typ-data.sql
Prozess erfolgreich abgeschlossen
SQL> project stage add-custom -file-name d_datum-data.sql
ERROR: Bei der Verarbeitung Ihrer Anforderung ist ein Fehler aufgetreten:
null
So the first add works fine, the second runs into a null-pointer (custom-file is created but not included in stage-changelog), here the debug output of another try:
"add custom"-Befehl für Datei d_fse_fall_pruefung-data.sql wird ausgeführt...
Aktuelle Verzweigung: feature/baseline
Erstellte Datei: dist\releases\next\changes\featurebaseline\_custom\d_fse_fall_pruefung-data.sql
Aktualisierte Änderung:dist\releases\next\changes\featurebaseline\_custom\d_fse_fall_pruefung-data.sql
/* Query ALL_DEPENDENCIES: */
select * from (SELECT OWNER ,
NAME ,
TYPE ,
REFERENCED_OWNER ,
REFERENCED_NAME ,
REFERENCED_TYPE ,
REFERENCED_LINK_NAME ,
DEPENDENCY_TYPE ,
'ALL_DEPENDENCIES' EXPORT_TYPE from sys.all_dependencies) all_dependencies where 1=1
--- filters ---
and (owner in ('MY_SCHEMA')) --<-- object owners
ERROR: Bei der Verarbeitung Ihrer Anforderung ist ein Fehler aufgetreten:
null
java.lang.NullPointerException
at oracle.dbtools.extension.project.commands.export.DbObj.order(DbObj.java:98)
at oracle.dbtools.extension.project.commands.stage.utils.interfaces.AbstractChangeLogSorter.sort(AbstractChangeLogSorter.java:38)
at oracle.dbtools.extension.project.commands.stage.utils.StageUtils.saveAllChangeLogs(StageUtils.java:554)
at oracle.dbtools.extension.project.commands.stage.utils.StageUtils.createCustomFile(StageUtils.java:1042)
at oracle.dbtools.extension.project.commands.stage.subcommands.AddCustomCommand.run(AddCustomCommand.java:61)
at oracle.dbtools.extension.project.commands.handler.CommandHandler.AddCustomCommand(CommandHandler.java:69)
at oracle.dbtools.extension.project.commands.handler.ProjectCommand.handleEvent(ProjectCommand.java:79)
at oracle.dbtools.raptor.newscriptrunner.util.command.ParsedCommandListener.handleEvent(ParsedCommandListener.java:62)
at oracle.dbtools.raptor.newscriptrunner.CommandRegistry.fireListeners(CommandRegistry.java:448)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:241)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:835)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:124)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1413)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1637)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:403)
So for weird reasons a query examining dependencies gets triggered from the 2nd file onwards. After that i tried another one but with connection to my dev-schema: all fine.
So the question is: why is this query run when adding a custom file?