-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
🐛 Source SalesForce: Fix date filter behaviour #34107
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
Can we do this? Can we guarantee that if one record with a specific datetime is returned, all the records with this datetime will be returned? Given the granularity is "seconds", could we have records that were created at Why isn't it sufficient to ask the user to use dedup? |
I don't see any reason not to do it.
Absolutely. SOQL date-time filtering works similar to relational DB queries.
We have granularity in
Already asked to. |
The problem with datetime is that those are not cursors that points to one record only, they point to buckets of records. The fear I have is that the bucket we are pointing to is not filled entirely when we do the query. The following sequence of event could occur:
In that case, we would lose record #2 because we assume that because we have one record in the bucket |
This is not possible, and here is the reasons:
Closing this PR for now as this behaviour is expected for our sources: |
Yes but the real life world time is more granular than the Salesforce API which means that we can have multiple records that share the same cursor field but are inserted at different time. In the example I shared earlier, both records would have a cursor value of EDIT: I feel this concept is better understood when the granularity of the API is bigger. Let's assume the granularity would be in months and that on Jan 15th 2024 I query record up until 2024-01, it would be possible that new records would be added to January 2024 on later days. Hence, on the next incremental sync, we should query for |
What
Resolve https://github.com/airbytehq/oncall/issues/3838
How
change data comparison in WHERE clause:
before (returns duplicates):
after:
Recommended reading order
airbyte-integrations/connectors/source-salesforce/source_salesforce/streams.py
🚨 User Impact 🚨
no breaking changes
Pre-merge Actions
Updating a connector
Community member or Airbyter
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.