🐛 Source MySQL: transform binary data base64 format - #8047
Conversation
|
/test connector=connectors/source-mysql
|
| BOOLEAN, | ||
| NULL; | ||
|
|
||
| STRING_BINARY(ImmutableMap.of("type", "string", "contentEncoding", "base64")), |
There was a problem hiding this comment.
Liren Tu (@tuliren) can we use JsonSchemaPrimitive as is in scope of this PR or better wait until #7944 will be implemented?
There was a problem hiding this comment.
Yes, I think the current implementation looks good.
|
/test connector=connectors/source-mysql-strict-encrypt
|
|
/publish connector=connectors/source-mysql
|
|
/publish connector=connectors/source-mysql-strict-encrypt
|
|
/test connector=connectors/source-postgres
|
|
/test connector=connectors/destination-mysql
|
|
/test connector=connectors/destination-mssql
|
|
/test connector=connectors/destination-mysql
|
|
/test connector=connectors/destination-mssql
|
|
/test connector=connectors/destination-postgres
|
|
/test connector=connectors/destination-oracle
|
|
/test connector=connectors/destination-snowflake
|
* Source-MySql: transform binary data base64 format, add integration tests * Source-MySql: fix code style * Source-MySql: bump versions * Source-MySql: bump versions in source_specs.yaml * Source-MySql: added test for stream with binary data for DestinationAbstractTest * Source-MySql: added format
What
MySql source handle binary data as base64 encoded string, fixed integrations data type tests
Fixed cdc handling of binary data as base64 encoded string and cdc integrations data type
Provide additional properties in JSON schema for binary data
Added tests to check how BinaryNode will be serialized
How
Configured MySqlCdcProperties with binary.handling.mode = base64 to make sure that binary data represented as a base64-encoded String
Recommended reading order
x.javay.jsony.md🚨 User Impact 🚨
For AirbyteStream in jsonShema will appear new additional property contentEncoding:
jsonSchema={"type":"object","properties":{"name":{"type":"string","contentEncoding":"base64"},"id":{"type":"string"}}}
as far as I see - https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/bases/base-normalization/normalization/transform_catalog/stream_processor.py#L483
it should not affect how binary data will be represented in destination with normalization
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret./gradlew :airbyte-integrations:connectors:<name>:integrationTest.README.mdbootstrap.md. See description and examplesdocs/SUMMARY.mddocs/integrations/<source or destination>/<name>.mdincluding changelog. See changelog exampledocs/integrations/README.mdairbyte-integrations/builds.mdAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>command is passing./publishcommand described hereUpdating a connector
Community member or Airbyter
airbyte_secret./gradlew :airbyte-integrations:connectors:<name>:integrationTest.README.mdbootstrap.md. See description and examplesdocs/integrations/<source or destination>/<name>.mdincluding changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>command is passing./publishcommand described hereConnector Generator
-scaffoldin their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplatesthen checking in your changes