-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to insert changelog into DATABASECHANGELOG table if multiple changes in changesets #258
Comments
Hello @noda-sin, Very interesting finding! Could you please open an issue in the JDBC driver project for this? |
Thanks. It looks you are maintainers of cassandra-jdbc-wrapper too. Can I close this ticket? |
@noda-sin I think we can keep this one open until the issue is fully fixed and the fix successfully tested with Liquibase (when it'll be available). |
It will be resolved by #259 |
@noda-sin - could you let us know if this is working for you now so we know if we can close this ticket? Thanks! |
Sorry for late. Yes, It's working on my env. Let me close this ticket. thank you! |
Hi, I'm testing version
4.25.0.1
, but it seems that if there are multiple changes within a single changeset, the insertion into the DATABASECHANGELOG fails.Here is a sample of the changelog.yml:
error messages
After conducting some research, it seems that there is a compatibility issue between
liquibase-core
anding-bank/cassandra-jdbc-wrapper
.Liquibase attempts to insert text separated by semicolons (
;
) into the description of the DATABASECHANGELOG when there are multiple changes in a changeset.https://github.com/liquibase/liquibase/blob/e605cee3c7795688b2d178a67c5fed818ac52d0e/liquibase-standard/src/main/java/liquibase/changelog/ChangeSet.java#L1250
However, cassandra-jdbc-wrapper splits SQL statements at semicolons (
;
). As a result, it ends up trying to execute incomplete SQL statements. This behavior is evident in their code here:https://github.com/ing-bank/cassandra-jdbc-wrapper/blob/a36a0d207be8fee1dbafc9aa731855bf649e9614/src/main/java/com/ing/data/cassandra/jdbc/CassandraStatement.java#L300
Below is a project for reproduction purposes.
https://github.com/noda-sin/liquibase-cassandra-sample
Suggestion
Can we consider adding a Custom MarkChangeSetRanGenerator to liquibase-cassandra to convert semicolons (
;
) in the description to a different character?The text was updated successfully, but these errors were encountered: