-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
🐛 Jdbc sources: switch from "string" to "array" schema type for columns with JDBCType.ARRAY #8749
🐛 Jdbc sources: switch from "string" to "array" schema type for columns with JDBCType.ARRAY #8749
Conversation
...-s3/src/main/java/io/airbyte/integrations/destination/s3/avro/JsonToAvroSchemaConverter.java
Outdated
Show resolved
Hide resolved
...-s3/src/main/java/io/airbyte/integrations/destination/s3/avro/JsonToAvroSchemaConverter.java
Outdated
Show resolved
Hide resolved
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.
Looks good in general, except for the comments about json / avro schema converter.
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.
Thanks. The unit tests will fail currently, because the object converter does not know to auto convert unknown array to an array of string. I will make a change in the Json object converter accordingly.
...tination-s3/src/test/resources/parquet/json_schema_converter/json_conversion_test_cases.json
Outdated
Show resolved
Hide resolved
...tination-s3/src/test/resources/parquet/json_schema_converter/json_conversion_test_cases.json
Outdated
Show resolved
Hide resolved
I created PR airbytehq/json-avro-converter#10. @yurii-bidiuk, please take a look. I just added to that repo, but I could not tag you directly as a reviewer yet. |
There was a bug in my Json / Avro object converter PR. I am working on a fix. |
The bug should have been fixed (airbytehq/json-avro-converter#11). I have also updated the test case in this PR. |
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.
LGTM
* Add skeleton to support all postgres types * Consolidate type tests * Fix corner cases * Bump postgres version * Add tests for time and timetz * Format code * Revert date to timestamp * Update comment * Fix unit tests * 🐛 Jdbc sources: switch from "string" to "array" schema type for columns with JDBCType.ARRAY (#8749) * support array for jdbc sources * fixed PR comments, added test cases * added more elements for test case * Fix test case * add array test case for JdbcSourceOperations Co-authored-by: Liren Tu <tuliren.git@outlook.com> * Revert changes to support special number values Postgres source cannot handle these special values yet See https://github.com/airbytehq/airbyte/issues/8902 * Revert infinity and nan assertion in unit tests This reverts commit 3bee7d1. * Update documentation * Bump postgres source version in seed Co-authored-by: Yurii Bidiuk <35812734+yurii-bidiuk@users.noreply.github.com>
@yurii-bidiuk, this change has been merged to master together with PR #8726. My PR only publishes Postgres. Can you take care of the publication of the other databases that are affected by this array change? |
@tuliren ok, I will publish it in separate PR |
* Add skeleton to support all postgres types * Consolidate type tests * Fix corner cases * Bump postgres version * Add tests for time and timetz * Format code * Revert date to timestamp * Update comment * Fix unit tests * 🐛 Jdbc sources: switch from "string" to "array" schema type for columns with JDBCType.ARRAY (airbytehq#8749) * support array for jdbc sources * fixed PR comments, added test cases * added more elements for test case * Fix test case * add array test case for JdbcSourceOperations Co-authored-by: Liren Tu <tuliren.git@outlook.com> * Revert changes to support special number values Postgres source cannot handle these special values yet See https://github.com/airbytehq/airbyte/issues/8902 * Revert infinity and nan assertion in unit tests This reverts commit 3bee7d1. * Update documentation * Bump postgres source version in seed Co-authored-by: Yurii Bidiuk <35812734+yurii-bidiuk@users.noreply.github.com>
What
Fixes #4357, #7939
How
Set type "array" for a catalog when the column's JDBC type is an array. Added mapping for array type.
Recommended reading order
PostgresSourceOperations.java
JDBCSourceOperations.java
AbstractJdbcCompatibleSourceOperations.java
JsonToAvroSchemaConverter.java
🚨 User Impact 🚨
This PR sets JSON schema type as "array" for DB values that have JDBCType.ARRAY. Before it was set as "string. Parsed value for all arrays will be like
["value1","value2","value3"]
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.md
bootstrap.md
. See description and examplesdocs/SUMMARY.md
docs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
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./publish
command described hereUpdating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including 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./publish
command described hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changes