-
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
🎉 New Source: Dynamodb #18750
🎉 New Source: Dynamodb #18750
Conversation
itaseski 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. |
@itaseskii can you check your commits, look one was made with another user. |
@itaseskii I'll review this tomorrow! thsanks for the contribution |
Hello! I'm going to be out of the office this Friday and won't be able to review your contribution again today, I return next Monday. So far, most contributions look solid and are almost done to be approved. As said in Chris' comment all contributions made before 2-November are eligible to receive the prize and have 2 weeks to merge the contributions. But I ensure next week we're going to have your contribution merged. If you have questions about the implementation you can send them in Sorry the inconvenience and see you again next week, thank you so much for your contribution! |
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.
Asking some help to review the protocol change.
@@ -8,6 +8,7 @@ public enum JsonSchemaPrimitive { | |||
|
|||
STRING, | |||
NUMBER, | |||
INTEGER, |
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.
@airbytehq/protocol-reviewers can someone take a look into this change?
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 Out of curiosity, why do we need an integer type when it already has NUMBER
that encompasses integer values? See https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Number.html for more details.
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.
Hey @jdpgrailsdev I have added this as a first class JsonSchemaPrimitive for the reason that Number is used for storing both decimal and integeter numbers and in the IncrementalUtil.compareCursor() method it is used for comparing doubles instead of integers. Since Dynamodb can support incremental syncs using epoch timestamps I needed the ability to compare two integers for the state transmission.
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.
@itaseskii You can get an integer value from a Number
, so I'm not sure why we would need an explicit INTEGER
value in the protocol. I'm also not sure why it would matter if the code is comparing two Number
objects. Could you point out where in the pull request you are doing this comparison or where in the existing code you think it would be an issue to compare two Number
objects instead of integers?
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.
@jdpgrailsdev The implementation in IncrementalUtil.compareCursor()
is not comparing Numbers but Doubles when a JsonSchemaPrimitive.Number
is provided. But even so there is a point that it shouldn't be an issue comparing two integers using Double.compare(Double.parseDouble(original), Double.parseDouble(candidate))
since they can easily be parsed to doubles if the value is provided as String. I have reverted the addition of the Integer type to the JsonSchemaPrimitive enum and thanks a lot for your input!
/test connector=connectors/source-dynamodb
Build PassedTest summary info:
|
@itaseskii waiting the protocol feedback, besides that the connector looks solid! |
/test connector=connectors/source-dynamodb
Build PassedTest summary info:
|
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 @itaseskii
/publish connector=connectors/source-dynamodb
if you have connectors that successfully published but failed definition generation, follow step 4 here |
Hello @itaseskii can you please update your profile with your email? If you prefer to DM me instead, please dm with the following: Full name |
* dynamodb source connector * code cleanup * code cleanup * add date type filtering * add doc * revert integer schema primitive * add dynamodb to source def * auto-bump connector version Co-authored-by: itaseski <itaseski@debian-BULLSEYE-live-builder-AMD64> Co-authored-by: marcosmarxm <marcosmarxm@gmail.com> Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com> Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
What
Adds Dynamodb source connector airbytehq/connector-contest#149
How
Describe the solution
Recommended reading order
x.java
y.python
🚨 User Impact 🚨
Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.
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/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 changesTests
Unit
Put your unit tests output here.
Integration
Put your integration tests output here.
Acceptance
Put your acceptance tests output here.