-
Notifications
You must be signed in to change notification settings - Fork 13
Modified the Incompatible data type section for the Feature page #162
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
base: master
Are you sure you want to change the base?
Conversation
### Handling Incompatible Data Type Changes | ||
|
||
For type changes not supported by Iceberg v2 (like STRING to INT), OLake offers two options: | ||
For data type changes not supported by Iceberg v2: |
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.
not supported or supported ?
docs/features/index.mdx
Outdated
2. Narrowing Type Conversions like: | ||
- BIGINT to INT | ||
- DOUBLE to FLOAT | ||
- TIMESTAMP to DATE |
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.
i dont think timestamp to date is possible. Once check with tech
docs/features/index.mdx
Outdated
- BIGINT to INT | ||
- DOUBLE to FLOAT | ||
- TIMESTAMP to DATE | ||
- DECIMAL(P, S) to DECIMAL(P', S) where P' < P |
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.
once confirm this as well
- DECIMAL(P, S) to DECIMAL(P', S) where P' < P | ||
|
||
1. **Schema Data Type Changes Enabled with DLQ** ([coming soon](https://github.com/datazip-inc/olake/issues/265)): | ||
When a source value’s data type has a smaller range or precision than the destination column’s type, OLake treats this as a narrowing conversion and handles it seamlessly. For example, if the destination column is defined as BIGINT but the incoming values are INT, OLake recognizes that every INT value falls within BIGINT’s range and simply stores the values without error. This validation step ensures that compatible, smaller-range types are accepted even when Iceberg v2 would flag a mismatch. |
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.
not sure if iceberg v2 will flag for a mismatch during this.
docs/features/index.mdx
Outdated
- Test schema changes in non-production environments first | ||
- Document your schema and track changes over time | ||
:::tip | ||
All other incompatible type changes will be captured by OLake using a Dead Letter Queue column (DLQ) (feature coming soon). |
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.
Any other data type change willbe handled in a dead letter queue column
docs/features/index.mdx
Outdated
|
||
### Scenario 6: Incompatible Type Change | ||
|
||
When a column changes from STRING to INT type:, incompatible with Iceberg v2, sync fails. |
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.
why are we mentioning that it is incompatible with v2 and sync is failing. This is a doc where we are explaining how olake handles evolution and data type changes
No description provided.