-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Fix BLOBs in loadData for MySQL/MariaDB #2595
Fix BLOBs in loadData for MySQL/MariaDB #2595
Conversation
@MichaelCkr Thanks for your work here! We will review and move it through the process. |
8a398f5
to
2c0d201
Compare
I have no clue, why the java 17 integration test failed regarding my changes. I'm quite sure, this is not related, therefore I have done a rebase on the current master. Rebuild would be nice. |
@nvoxland If possible, could you please set the SafeToBuild label again or sth similar to trigger another build? |
…reparedStatements' of https://github.com/MichaelCkr/liquibase into 'MichaelCkr-bugfix/#2519_fixed-loadDataChange-for-MySQL-regarding-preparedStatements'
Code review and test results: It looks like the if statement this PR removes shouldn't have been there. It probably got left from a bad merge, and the performance issue it's trying to address is handled correctly already on line 521. Having the if statement there made it so we didn't load anything which is obviously wrong. I created #liquibase/liquibase-test-harness#216 to test the change Things to be aware of
Things to worry about
|
Correct, @MichaelCkr the failure in the test is not related to your PR. The automation that pulls the correct build of liquibase to test isn't correctly handling PRs from forks. I'm looking into that. |
Simple workaround would be, to merge my commit into another bugfix branch within the original liquibase repo (and open another PR from the newly created branch to master). |
@nvoxland, there were MariaDB failures in the test-harness run. Can you take a look, please? |
…nge-for-MySQL-regarding-preparedStatements'
Note for myself: Test Harness Results (I'm quite curios, how these checks may run against my branch. :) ) |
…#2519_fixed-loadDataChange-for-MySQL-regarding-preparedStatements'
…nge-for-MySQL-regarding-preparedStatements' # Conflicts: # liquibase-core/src/main/java/liquibase/change/core/LoadDataChange.java
@MichaelCkr there is a build job in liquibase/liquibase-test-harness which can pull snapshot builds from liquibase PRs. We trigger that job as part of the PR build process |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've requested changes in the associated liquibase-test-harness PR. When those are done, let me know and I can take a look and finalize my review for this PR.
CC @nvoxland , @MichaelCkr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Fix removes an IF that applied only to MySQL and excluded MariaDB (and others).
- Validating test cases added to test harness for MariaDB and MySQL.
- The requested test harness PR changes are complete.
- No additional testing required.
APPROVED
Thanks for adding the Test Harness Tests, the review and the merge. |
Environment
Liquibase Version: 4.6.2, 4.8.0
Liquibase Integration & Version: maven
Liquibase Extension(s) & Version: -
Database Vendor & Version: MariaDB 10.3.27
Operating System Type & Version: linux
Pull Request Type
closes #2519
Description
When we use
loadData
and there exists a BLOB column (preparedStatement
necessary), then no data are populated in the DB at all. Even no exception is thrown, but indatabasechangelog
table the changeset is set as run.Steps To Reproduce
see #2519
Actual Behavior
loadData
is marked as successful indatabasechangelog
tableExpected/Desired Behavior
loadData
is marked as successful indatabasechangelog
tableScreenshots (if appropriate)
Additional Context
see #2519 and #2215
I'm not sure, if the intention of #2215, increasing the performance of MySql data loading, is still fulfilled with this change. The probably slow batch update is not used, but prepared statements are used.
Fast Track PR Acceptance Checklist:
Need Help?
Come chat with us on our discord channel