-
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
Ensures that Postgresql works with blob types bytea and oid (large objects) #3381
Ensures that Postgresql works with blob types bytea and oid (large objects) #3381
Conversation
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.
Changes make sense, and adds integration tests
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.
Liquibase 4.12 introduced a regression in handling Postgres blob types. This regression caused inserts of data into Postgres columns of datatype of bytea
to fail due to Liquibase treating the data as a large object (oid
). Liquibase now supports Posgres bytea
and Postgres oid
blob types.
- New integration tests added.
- No additional testing necessary.
APPROVED
Impact
Description
Postgresql defines 2 column types to handle blob types: bytea and large objects that must be declared as "oid". According to postgresql documentation, both must use different jdbc methods (https://jdbc.postgresql.org/documentation/binary-data/) .
Until Liquibase 4.13, bytea was supported. But #605 changed the methods to support large objects instead of bytea.
This fix validates the column type and uses the appropriated jdbc method depending on it.
Things to be aware of
Things to worry about
Additional Context