Oracle Create Stored Procedure shows error but completed successfully

During the creation of an Oracle stored procedure an error is generated due to a missing column it references, but the command reports “PL/SQL procedure successfully completed”.

Based on my research this is because it creates the SPROC it just couldn’t compile it.
In this changeset there are multiple DDL activities (I know; don’t do that. I didn’t create the changeset). Liquibase moves on to other activities in the changeset and runs them. But then recognizes the error at the end of the changeset operations and does not run later changesets.

I would have expected it to stop running the changeset once it hit that first SPROC compilation error. If it doesn’t due to Oracle creating the SPROC but not compiling it how is it knowing at the end of the changeset there was an issue?

Is Liquibase at the end of changeset run checking the compiler log?

Liquibase 4.9.1 using SQL files.

This is core Oracle functionality. The CREATE statement is successful. Oracle will create even if there are syntax errors in the code. This is the same behavior occurs in Liquibase or in native Oracle tools (sqlplus/sql-developer).

Agreed. That was my understanding in my research (Oracle functionality) but why then does Liquibase halt after the changeset completes not moving to the next changeset and is recognizing there was an issue in the changeset execution?

My execution did not halt. My first changeset had a syntax error, but all 5 pending changesets completed successfully.

UPDATE SUMMARY
Run:                          5
Previously run:              24
Filtered out:                 1
-------------------------------
Total change sets:           30


FILTERED CHANGE SETS SUMMARY
Context mismatch:             1

Interesting. Thanks.