How many rows and columns are in the current COMMUNICATION table? What else is going on when you try to run this update? Are there indexes/constraints/etc. on the table?
My guess is that the problem is not with Liquibase - you can run “liquibase updateSQL” to see what SQL is generated, and it is most likely very simple. So the problem is probably on the database end of things.
Primary key and foriegn key constraints are present.
If we debug and see there are lots of checks happening on the database
SELECT TEXT FROM ALL_VIEWS WHERE upper(VIEW_NAME)=‘ABC’ AND OWNER=‘XYZ’
For this particular scenario, it has checked nearly 963 such select statements.
We also think if the precondition check fails, (i.e. in this case the column is not present in the table) thats when liquibase does all these check on the database before adding a column to the table.
I created https://liquibase.jira.com/browse/CORE-2281 to investigate the issue further. I’ve done some snapshot performance improvement since 3.2.0, can you try it with the neweest 3.3.2 version?
Thanks a lot for your reply and creating a ticket in liquibase core forum. I am just curious to know did you find similar issue when you were doing performance improvements on version 3.2.0? I will definitely take your suggestion for upgrading liquibase to the newer version. However do you know is there any similar issue fixed in 3.3.2? If you can provide me any related details that will be great and I can share those with my team, take your suggestions further. I will eagerly wait for the response on the other ticket as well.