Skip to content

Using modifySql results in different checksum #48434

@s4iko

Description

@s4iko

Describe the bug

Hi,
I use Liquibase to update my PostgreSQL database.
A ChangeSet contains:

        <modifySql dbms="postgresql">
            <append value=" PARTITION BY LIST (part_key)"/>
        </modifySql>

This results in a different checksum if I execute it from a JVM and a native application.

I logged the Liquibase checksum calculation and the difference seems to be applyToRollback="false" which is present in the JVM version but not is the native one:

JVM:

Computed checksum for append:[
    applyToRollback="false"
    value=" PARTITION BY LIST (part_key)"
] as 166219fc8b85471d0ccc0e2b680e01aa

native:

Computed checksum for append:[
    value=" PARTITION BY LIST (part_key)"
] as 99c71b4dea606026f09842e45adcb96b

I tried to do a workaround by setting the property applyToRollback in the modifySql element but it didn't change anything.

Thanks

Expected behavior

The checksums are the same in the JVM and native version of the application.

Actual behavior

The checksums are not the same in the JVM and native version of the application.

How to Reproduce?

  • Add a changeset with a modifySql element.
  • Start the JVM application to update the database then stop it
  • Start the native application, an error log notify the checksum change

Output of uname -a or ver

Ubuntu 24.04.2 LTS (on WSL)

Output of java -version

openjdk version "21.0.6" 2025-01-21

Mandrel or GraalVM version (if different from Java)

No response

Quarkus version or git rev

3.22.3

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.8.7

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions