-
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
🐛 Destination Oracle: maxStringLength should be 128 #6611
Conversation
…m OracleContainer
vmaltsev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
There is an Oracle AWS instance for tests, any specific reason to use a container? |
according to the task #5811, it is necessary to rewrite the integration tests for jdbc connectors with containers approach |
@@ -41,7 +41,7 @@ public String convertStreamName(String input) { | |||
} | |||
// prior to Oracle version 12.2, identifiers are not allowed to exceed 30 characters in length. |
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.
This comment explains why identifiers are truncated to 30 characters. If we make this change, all existing users running an Oracle server prior to 12.2 cannot upgrade their connectors in the future. @sherifnada, do we have a convention about this type of thing?
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.
Liren, I already change to 128. This is required to run normalization.
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.
@marcosmarxm, ok, I will approve the PR. But will this prevent existing users to upgrade?
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.
is this going to require existing users to do anything? Did we already support 12.2+ and just didn't advertise it? if so this change is safe.
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.
is this going to require existing users to do anything? Did we already support 12.2+ and just didn't advertise it? if so this change is safe.
I unfortunately have no information about the version of Oracle, which was supported before. We have several options for this task :
a) just add to the documentation that we only support version 12.2+
b) additional implementation is needed so that the user himself enters the version of the database on UI and further processing starts with this data, but in this case it is does not solve the problem with normalization (currently it works only with 128 characters for any Oracle version).
What do you think about it?
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.
@VitaliiMaltsev docs seem to indicate we are safe: https://docs.airbyte.io/integrations/destinations/oracle#requirements
a) sgtm
@VitaliiMaltsev, can you sign the CLA? |
@tuliren i have already signed in, but licence/cla is still in pending state |
/publish connector=connectors/destination-oracle
|
* revert back to 128 characters in OracleNameTransformer | Create Custom OracleContainer * update to 0.1.9 Co-authored-by: vmaltsev <[email protected]>
What
While doing Normalisation on Destination-Oracle, the underlying OracleNameTransformer.java class truncates the table names up to 30 symbols, which breaks the normalisation strategy for this destinations, because the max allowed length for table names is 128.
Expected behaviour: Normalisation is done correctly.
How
the existing OracleContainer does not work correctly with all versions of docker images.
Therefore, a custom OracleContainer was made
Recommended reading order
x.java
y.python
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