checksum calculation fails!

Iam running a changeset thru my install script as below:

When i run it for the first time the change set is stored in DATABASECHANGELOG table .
when i run the same script twice now the checksum calculation fails even though there is no change in test.sql . when i see the new check sum value it has 2 more digits in the end compared to previous value.
If I now manually setthe checksum value to null in DATABASECHANGELOG and then run it now it consistently computes the correct checksum even if i run multiple times…

some how for the first time it is computing wrong check sum??
test.sql has no comments in it.just plain sql update statement.

what is the suggested solution so that this changelogs runs always without checksum failure.

please advise.


my env

linux OS , sybase ase 15 , liquibase-2.0 RC2.

i only see clearing all checksums as only option not sure if it is a good idea…
may be i have to fix copying of sql files so that md5 computation doesnt change…

it would be nice to know if others faced this kinda problem and how they over came it…

It should work.  How old is the rc2 you are running?  Are you seeing the same problem with the latest snapshot from

It could also be that you hit a bad version of 2.0 rc2 where it was not creating a large enough md5sum column in databasechangelog.  If you modify that column to be two chars larger, does that help?  It should see that and update it for you, though.


it is not due to column size in db since the correct md5 has length[34] that fits in the column.
but the value stored has 32 chars with last 2 digits missing…and second time onwards it seems to compute value of size 34 consistently [same kinda copy of files occurs ].

i need to test it with latest snapshot of 2.0rc2 .


Odd.  The checksums are the same except for the missing two digits?

There is just one method in the code for computing checksums, so I’m not sure why it is getting truncated sometimes.

Let me know after you test it with the lastest version from trunk.