Repository navigation
🐛Source-mssql: added support for missed data types - #9094
Eugene (etsybaev) merged 16 commits into
Conversation
|
/test connector=connectors/source-mssql
|
|
/test connector=connectors/source-mssql
|
|
/test-performance connector=connectors/source-mssql
|
|
kindly reminder that we also should bump the version for the source-mssql-strict-encrypt connector |
Sure, will do that along with changelog updating after got all approvals right before merging |
|
/test connector=connectors/source-mssql
|
|
/test connector=connectors/source-mssql
|
|
/test connector=connectors/source-mssql-strict-encrypt
|
|
/test-performance connector=connectors/source-mssql
|
…a-types # Conflicts: # docs/integrations/sources/mssql.md
|
Currently, we have a known issue with build on CI, but locally all checks passed. So going to release new builds |
|
/publish connector=connectors/source-mssql
|
|
/publish connector=connectors/source-mssql-strict-encrypt
|
|
/publish connector=connectors/source-mssql-strict-encrypt
|
What
We had lot's of types that were not handled properly by the Source-MsSql connector.
How
Updated to connector to properly process data type for a regular connection and for some of CDC connections.
The most of type are handled using different kind of native approaches.
But there is no support for the "hierarchyid" type even in the native SQL Server jdbc driver in DataTypes.
The DB stores it in it's own representation converted to HEX format.
The only way to get it as a text is to query it using internal function like this: "test_column.ToString() as test_column".
So in the final solution we make a pre-request for fetch a first row to get actual types and then wrap required fields with toString() function in eventual request: "test_column" -> "test_column.ToString() as test_column".
Also tested using UI for both full refresh and incremental sync types:



Full refresh:

Incremental



:
Also checked for cases with empty tables:

So lots of different tests, no fails
Recommended reading order
MssqlSourceMssqlSourceOperations🚨 User Impact 🚨
🚨🚨 As we not handle values properly, some of them may come represented in another format, ex. number<->string<->date\datetime\time.
So probably full refresh would be required.
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 here